LU-BST-b13:PD

From DiLab
Jump to: navigation, search

Praktiskie darbi

Praktiskajos darbos jāizpilda sensoru mezgla programmēšanas uzdevums.

Lai nokārtotu kursu, sekmīgi jānokārto visi obligātie praktiskie darbi!

Praktiskais darbs ir sekmīgs, ja par to saņemts vismaz 40% vērtējums.

PD iesniegšanas procedūra:

  • Darbā izmantotos failus (izejas kodu) iesūtīt uz epastu, subjektā norādot "BST PDxx", kur xx ir PD numurs: 01, 02, ... .
    • Iesūtīšanai jāievēro norādītais termiņš!
    • Faili jānosūta uz pasniedzēja e-pasta adresi
  • Darbs jāatrāda uz vietas, 312. datorklasē, ieteicams, praktisko darbu laikā (pēc lekcijas). Atrādīšana var notikt arī pēc iesūtīšanas termiņa beigām.

Izstrādes platformas un vide

Pirmie divi obligātie praktiskie darbi (PD1, PD3) veicami TinyOS vidē.

  • labojums: precizēts, ka TinyOS prasība attiecas uz PD1, PD3 (neobligātajam PD2 nav programmēšanas uzdevums)

Turpmākos praktiskos darbus atļauts veidot jebkurā vidē: TinyOS, MansOS, Contiki, Mantis, SOS, ... .

Vēlams izmantot TMote Sky sensoru mezglus. Bet arī citas motes ir atļautas, to saskaņojot ar pasniedzēju (uzrakstiet epastā "vēlos izmantot platformu X, programmēšanas vidi Y").

Vērtēšana

Visi praktiskie darbi kopā sastāda 20% no kopējā kursa vērtējuma (2 balles).

Praktiskajiem darbiem ir atšķirīga sarežģītība, tāpēc tiem ir arī atšķirīgi svari kopējā vērtējuma veidošanā. PD svari tiks noteikti brīdī, kad būs pienācis pēdējā PD termiņš un kad būs redzams, cik daudz piepūles katrs konkrētais PD studentiem ir sagādājis.

Bonusa punkti

Praktiskajos darbos būs neobligātā daļa, par kuru iespējams saņemt papildus punktus. Rezultātā par PD kopā iespējams saņemt arī vairāk par 20% no kopējās atzīmes (2 ballēm). Šādā veidā ar padziļinātu darbu iespējams nopelnīt punktus kas zaudēti citās "disciplīnās": esejas, KD, projekts.

Praktisko darbu saraksts

Informācija par praktiskajiem darbiem tiks ievietota pēc to uzdošanas.

PD1

Morzes kods.

Uzdevums: izspīdināt uz sarkanās gaismas diodes savu vārdu Morzes kodā (bez mīkstinājuma zīmēm).

Lai kods būtu lasāms "ar neapbruņotu aci", izmantosim sekojošus signālu ilgumus (kuri ideālā gadījumā ir konfigurējami):

  • Punkta garums (P): 350ms
  • Svītras garums (S): 3 * P
  • Atstarpe starp signāliem viena burta ietvaros: P
  • Atstarpe starp diviem burtiem: S
  • Pauze pēc vārda beigām: 4 sekundes

Pēc pauzes vārds tiek izspīdināts atkal no sākuma.

Bonusa uzdevums 1 (+100%): vienlaikus uz sarkanās diodes spīdināt savu vārdu, uz zaļās: uzvārdu. Ja vārds īsāks par uzvārdu, sarkanā diode sagaida, kamēr zaļā beidz savu signālu virkni, abas kopā nogaida vēl sekundi, un atkal viss sākas no sākuma. Ja uzvārds īsāks, zaļā diode sagaida sarkano, pauze, atkal no sākuma.

Bonusa uzdevums 2 (+50%): uzlikt uz sava datora TOSSIM, nodemonstrēt praktisko darbu strādājošu (uz sava datora) iekš TOSSIM. Vēl papildus +50%, ja TinyOS un TOSSIM uzlikšana ir veikta no "nulles" un ir atsūtītas paša rakstītas step-by-step instrukcijas TOSSIM instalēšanā un iedarbināšanā, vai arī ir veikti būtiski uzlabojumi esošajās TOSSIM instalēšanas instrukcijās.

Veiksmīgas bonusa uzdevumu izpildes gadījumā iespējams iegūt vēl līdz 100% no PD1 vērtējuma. Šo bonusu iegūst tad, ja ir izpildīts vismaz viens no bonusa uzdevumiem (t.i., kopā iespējams iegūt 200% par PD1). Bonusa uzdevumu punkti nesummējas.


Termiņš: Trešdiena, 25.09.2013. 10:00

Soda punkti, iesūtot novēloti:

  • pēc 25.09.2013. 10:00: -25%
  • pēc 02.10.2013. 10:00: -50%
  • pēc 09.10.2013. 10:00: -70%


PD2-1

Kursa projekta pieteikums (tēma).

Šoreiz nekas nav jāprogrammē, bet gan jāuzraksta sava kursa projekta īss apraksts un jāiesniedz tas PDF vai DOC formātā.

  • PD2-1 ir jāatrāda lekcijas laikā (16.10.2013), īsi pastāstot par sava kursa projekta ideju.
  • pēc 1 mēneša tiks izsludināta PD2-2 (šī PD otrā daļa), kurā aprakstīsies sīkāku informāciju par projekta arhitektūru, realizāciju un sagaidāmo rezultātu.

Ir būtiski laicīgi izvēlēties projekta tēmu un komandu, kā arī sākt darbu pie paša projekta.

Obligātās dokumenta nodaļas:

  1. Projekta tēma. Kas ir Jūsu projekts, ko Jūs izstrādāsit. Šeit var pietikt ar vienu vai dažiem teikumiem
  2. Projekta komanda. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)
  3. Motivācija. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.
  4. Realizācija. Kādu aparatūru un programmatūru plānots izmantot projektam. Kā sistēma darbosies un kāda būs tās arhitektūra.
    • realizācijas aprakstam jābūt pietiekami izmeļošam.
    • svarīgi: aprakstiet kādus sensorus un iekārtas jums vajadzētēs projekta realizācijai.

Piezīmes:

  • Ka tēmu izvēlaties to, ar ko Jūs vēlētos strādāt kursa projektā. Ja vēlāk pārdomājiet, līdz PD2-2 nodošanai kursa projekta tēmu vēl var mainīt.

PD2-1 Vērtējums

PD2-1 vērtējumu sastāda:

  1. Projekta tēma: 20%
  2. Komanda: 10%
  3. Motivācija: 20%
  4. Realizācija (pieeja un arhitektūra): 50%

PD2-1 ir daļa (50%) no kopējā PD2 vērtējuma.

Termiņš: ceturtdiena, 10.10.2012. 10:00

Soda punkti, iesūtot novēloti:

  • pēc parastās shēmas

PD2-1 Atrādīšana

Atrādīšanas reize tiem, kas neatrādīja PD2-1 pirmajā reizē (16.10.2013):

  • 05.11.2013, PD nodarbības laikā

Ja tiek atrādīts vēlāk, atzīme tiek samazināta pēc parastās shēmas

  • -25% atrādot nedēļu vēlāk, ...

PD2-2

Kursa projekta apraksts.

Turpinājums PD2-1. Jāuzraksta sava projekta apraksts un jāiesniedz PDF vai DOC formātā. Šajā aprakstā jāiekļauj sīkāku informāciju par projekta arhitektūru, realizāciju un sagaidāmo rezultātu.

  • PD2-2 ir jāiesniedz līdz 20.01.2014 (23:59)
  • darba apjoms: 4-5 lpp.

Apraksts

Obligātās dokumenta nodaļas:

  1. Projekta tēma. Kas ir Jūsu projekts, ko Jūs izstrādāsit. Šeit var pietikt ar vienu vai dažiem teikumiem
    • Ja tēma ir atšķirīga no PD2-1 pieteiktā, uzrakstiet kāda bija sākotnējā tēma un kā nonācāt līdz tagadējai tēmai.
  2. Projekta komanda. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)
  3. Motivācija. Kāpēc Jūs šādu projektu taisāt. Kāds no tā varētu būt labums Jums un pārējiem apkārtējiem cilvēkiem, dabai.
  4. Realizācija (vismaz 2 lpp.). Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.
    • Kā sistēma darbosies un kāda būs tās arhitektūra.
    • Kāda būs izmantotā aparatūra, programmatūra un tīkla struktūra. Svarīgi norādīt nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai.
    • Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi.
  5. Sagaidāmais rezultāts. Cik daudz no projekta idejas realizējāt vai plānojat realizēt. Kā novērtēsiet rezultātus, kādus testus veiksiet.

Neobligātās tēmas, par ko iespējams saņemt papildus punktus:

  1. Kas šajā tēmā pasaulē ir jau izdarīts.
    • Bakalaura studentiem netiek prasīts izdarīt kaut ko universālu, kas pasaulē vēl neeksistē. Tai pat laikā, ir ļoti vēlams, ka veicat izpēti, par to, kas pasaulē Jūsu tēmā ir jau izpildīts. Kaut vai tāpēc, lai izvēlētos labāko risinājumu un lai nav pašiem viss jāizdomā no nulles.
  2. Idealizācija.
    • Šī projekta ietvaros netiek prasīts, lai Jūs uzbūvējat vispasaules sensoru tīklu ar Gūgles mēroga infrastruktūru. Bet, ja tas tiktu izdarīts - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!

PD2-2 Vērtējums

Vērtējumu sastāda:

  1. Projekta tēma: 15%
  2. Komanda: 5%
  3. Motivācija: 15%
  4. Pieeja un arhitektūra: 50%
  5. Sagaidāmais rezultāts: 15%

Papildus punkti:

  1. Pasaules sasniegumu apskats: 30%
  2. Idealizācija: 20%

PD2-2 ir daļa (50%) no kopējā PD2 vērtējuma.

Termiņš: pirmdiena, 20.01.2014. 23:59

PD2-2 Atrādīšana

Nodots PD2-2 ir priekšnoteikums kursa projektu atrādīšanai. Atsevišķa atrādīšana nav plānota.

PD3

Sensoru datu pārsūtīšana uz bāzes staciju.

Termiņš: ceturtdiena, 17.10.2012. 10:00

Uzdevums

Izveidot divas aplikācijas: programmatūru sensoru mezglam, kas lasa analogos sensorus, un programmu uz bāzes stacijas datora, kas saņem un attēlo motes sūtīto informāciju.

Formulējums

Praktiskajā darbā jārealizē šāda funkcionalitāte:

  • uz motes:
  1. nolasīt motes fotosintētiski aktīvās gaismas sensora rādījumus un 1 reizi sekundē bāzes stacijai sūtīt sensoru rādījumus (40%)
  • uz bāzes stacijas (datora):
  1. saņemt sensoru rādījumus (40%)
  2. attēlot sensoru rādījumus cilvēkam saprotamās mērvienībās (gaismas sensoriem - luksos) (20%)

Par dokumentāciju:

  • Nodotajā darbā jābūt README.TXT failam ar programmas aprakstu (ko dara, kā darbojas);
    • jāiekļauj autora vārds, uzvārds, st. apl. nr.
  • Programmas koda komentāriem jāatbilst tam, ko programma dara (nevis tam ko darīja piemēra programma pirms to modificējāt);

Bonus uzdevumi:

  • nolasīt un sūtīt informāciju par User Button nospiešanu uz motes; attēlot šo informāciju uz datora (+20%)
  • veikt gaismas sensoru nolasīšanu izmantojot ReadStream, samplējot sensoru 10x sekundē. uz bāzes staciju sūtīt vidējo vērtību (+30%)

Radio pārraide

Jārūpējas, lai raidot datu pa radio Jūs netraucētu citiem un viņi netraucētu jums.

Lai to nodrošinātu, visām datu paketēm jāsākas ar Jūsu sensoru tīkla ID un motes ID šajā tīklā. Programmatūrai, kas saņem datus, ir jāspēj atfiltrēt Jūsu tīklam piederošanas paketes (pārējās ignorēt). Kā tīkla ID izvēlamies savas studenta apliecības pēdējos 2 ciparus.

Datu paketes struktūras piemērs:

 typedef nx_struct SensorReportMsg {
   nx_uint8_t net_id;
   nx_uint8_t node_id;
   [... pārējie lauki ...]
 } SensorReportMsg;

Piezīme: Savam tīklam piederošo datu filtrēšanu var veikt uz datora. Tādā gadījumā uz motes var lietot esošo TinyOS bāzes stacijas programmu.

  • otrs variants ir modificēt bāzes stacijas kodu un datu filtrēšanu veikt uz motes.


Šis praktiskais darbs var noderēt kā bāze kursa projektam.

PD4 (neobligāts)

Prezentācija par pašu izvēlētu BST tēmu.

Uzdevums: Sagatavot prezentāciju par kādu konkrētu ar BST saistītu zinātnisku rakstu vai projektu.

  • Izvēlētā tēma jāpaziņo iepriekš (lai tēmas nedublētos), informāciju par to nosūtot uz BST kursa listi līdz pirmdienai, 16.12.2013 23:59.

Jāuzstājas ar 15min prezentāciju, kuras saturs:

  • Īss ievads (kāda ir izvēlētā tēma; kāda ir projekta motivācija un risinātās problēmas)
  • Detalizēts raksta / projekta izklāsts
    • raksta autoru izvēlētā pieeja, risinājumi, rezultāti, ...
  • Kopsavilkums (secinājumi, prezentētāja komentāri)

Prezentētāji uzstājas BST lekcijas laikā, 18.12.2013. 12:30 - 14:00.

  • PD4 pildīšanas gadījumā līdz 16.12 jāpiesaka sava tēma.

Vērtējums:

  • izvēlētā tēma: 20%
  • prezentācijas saturs un izklāsts: 80%

Tēmu piemēri:

PD5

Bezvadu sensoru tīkla programmēšana (izmantojot no TinyOS atšķirīgu BST OS).

Termiņš: piektdiena, 27.12.2013. 23:59

  • šo darbu var nodot vairākas reizes. PD5 atzīme tiek noteikta kā lielākā vērtība no visu nodoto un klātienē atrādīto versiju vērtējuma (ņemot vērā soda procentus par darbiem, kas iesniegti ar kavēšanos).

Soda punkti, iesūtot novēloti:

  • pēc 27.12.2013: -25%
  • pēc 03.01.2014: -50%
  • pēc 10.01.2014: PD vairs netiek pieņemts! Līdz šim brīdim ir jāpaspēj ne tikai iesūtīt, bet arī atrādīt VISUS semestra darbus!

Uzdevums

Izveidot divas aplikācijas:

  • programmatūru sensoru mezglam, kas lasa 2 pašu izvēlētus sensorus un sūta informāciju uz bāzes staciju
  • programmu uz bāzes stacijas datora, kas saņem un attēlo motes sūtīto informāciju (var izmantot arī BST OS piedāvātos rīkus, piem., seriālā porta lasīšanai)

Formulējums

Praktiskajā darbā jārealizē šādas prasības:

  • uz motes:
    • nolasīt 2 pašu izvēlētu sensoru rādījumus un reizi 5 sekundēs bāzes stacijai sūtīt sensoru rādījumus (30%)
  • uz bāzes stacijas (datora):
    • saņemt un attēlot sensoru rādījumus (30%)
  • PD5 ir paredzēts realizēt citā BST OS nekā iepriešējajos PD (PD1, PD3) lietotais
    • tiek izmantota no TinyOS atšķirīga BST programmēšanas vide - piem., MansOS, SEAL, Contiki, ... (40%)

Par dokumentāciju:

  • Nodotajā darbā jābūt README.TXT failam ar programmas aprakstu (ko dara, kā darbojas);
    • jāiekļauj autora vārds, uzvārds, st. apl. nr.
  • Programmas koda komentāriem jāatbilst tam, ko programma dara (nevis tam ko darīja piemēra programma pirms to modificējāt);

Bonus uzdevumi:

  • pārveidot sensoru rādījumus cilvēkam saprotamās mērvienībās (+20%) -- šos bonus punktus saņem tad, ja tiek veikta vērtību pārveidošana (t.i., ja motes jau neatgriež sensoru radījumus grādos, luksos, ...)
  • sensoru rādījumus sūtīt nevis regulāri, bet pēc pieprasījuma no bāzes stacijas datora (+20%)
  • izveidot tīmekļa servisu, kuram var pieprasīt sensoru rādījumus (+40%) -- servisa atgrieztajos datos iekļaut pietiekami daudz informācijas, lai šie dati būtu tālāk izmantojami (piem., varētu pateikt kad ir veikti mērījumi)
  • izveidot GUI grafisko vidi, kurā parādīt sensoru rādījumus. šai videi jāspēj attēlot sensoru rādījumus no vismaz 2 sensoru motēm (+50%)

Radio pārraide

Raidot datus pa radio, jārūpējas lai Jūs netraucētu citiem un viņi netraucētu jums.

Lai to nodrošinātu, visām datu paketēm jāsatur Jūsu sensoru tīkla ID un motes ID šajā tīklā. Programmatūrai, kas saņem datus, ir jāspēj atfiltrēt Jūsu tīklam piederošanas paketes (pārējās ignorēt). Kā tīkla ID izvēlamies savas studenta apliecības pēdējos 2 ciparus.

Piezīme: Savam tīklam piederošo datu filtrēšanu var veikt uz datora (tas nav obligāti jādara uz motes).

PD svari

Katram praktiskajam darbam ir noteikts svars, kas norāda, kādu daļu no kopējā PD vērtējuma tie sastāda:

  • PD1: 20%
  • PD2: 20%
  • PD3: 30%
  • PD5: 30%

Papildus praktiskie darbi:

  • PD4: +25%

Gala atzīmē iekļaujamais PD kopvērtējums tiek iegūts reizinot katra praktiskā darba vērtējumu ar šī darba svaru un rezultātu saskaitot kopā.