LU-BST-b12:PD: Difference between revisions
| (33 intermediate revisions by 2 users not shown) | |||
| Line 15: | Line 15: | ||
== Izstrādes platformas un vide == |
== Izstrādes platformas un vide == |
||
Pirmie divi praktiskie darbi veicami TinyOS vidē. |
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, ... . |
Turpmākos praktiskos darbus atļauts veidot jebkurā vidē: TinyOS, MansOS, Contiki, Mantis, SOS, ... . |
||
| Line 33: | Line 34: | ||
''Informācija par praktiskajiem darbiem tiks ievietota pēc to uzdošanas.'' |
''Informācija par praktiskajiem darbiem tiks ievietota pēc to uzdošanas.'' |
||
<!-- |
|||
== PD1 == |
== PD1 == |
||
Morzes kods. |
Morzes kods. |
||
| Line 40: | Line 40: | ||
Lai kods būtu lasāms "ar neapbruņotu aci", izmantosim sekojošus signālu ilgumus (kuri ideālā gadījumā ir konfigurējami): |
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): |
* Punkta garums (P): 250ms |
||
* Svītras garums (S): 3 * P |
* Svītras garums (S): 3 * P |
||
* Atstarpe starp signāliem viena burta ietvaros: P |
* Atstarpe starp signāliem viena burta ietvaros: P |
||
* Atstarpe starp diviem burtiem: S |
* Atstarpe starp diviem burtiem: S |
||
* Pauze pēc vārda beigām: |
* Pauze pēc vārda beigām: 3 sekundes |
||
Pēc pauzes vārds tiek izspīdināts atkal no sākuma. |
Pēc pauzes vārds tiek izspīdināts atkal no sākuma. |
||
'''Bonusa uzdevums''': 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 1''': 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''': uzlikt uz sava datora TOSSIM, nodemonstrēt praktisko darbu strādājošu (uz sava datora) iekš TOSSIM un atsūtīt step-by-step instrukcijas TOSSIM instalēšanā un iedarbināšanā. |
|||
Veiksmīgas bonusa uzdevuma izpildes gadījumā iespējams iegūt vēl līdz 100% no PD1 vērtējuma (t.i., kopā iespējams iegūt 200% par PD1). |
|||
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). |
|||
'''Termiņš''': Trešdiena, 12.10.2011. 05:00 |
|||
'''Termiņš''': Trešdiena, 03.10.2012. 10:00 |
|||
Soda punkti, iesūtot novēloti: |
Soda punkti, iesūtot novēloti: |
||
* pēc |
* pēc 03.10.2012. 10:00: -15% |
||
* pēc |
* pēc 10.10.2012. 10:00: -30% |
||
* pēc |
* pēc 17.10.2012. 10:00: -45% |
||
* pēc |
* pēc 24.10.2012. 10:00: -60% |
||
== PD2 == |
== PD2 == |
||
PD2 ir neobligāts, ar iespēju nopelnīt papildus punktus. |
|||
'''Uzdevums''': doties uz VieSenTIS projekta semināru (http://selavo.lv/viesentis/) 28.09.2012., noklausīties prezentācijas un uzrakstīt "eseju" par to, ko atceraties, kas patika, ko sapratāt, ko nesapratāt. |
|||
Seminārā ir 6 prezentācijas (pa trim katrā sesijā) + 1 ievadlekcija, par katru jāuzraksta savas pārdomas, īsas esejas formā (daži teikumi līdz dažas rindkopas). Plus viena eseja par visu semināru kopumā. Visu noformēt kā vienu dokumentu (nevis 7 esejas). Ja esat veikuši pierakstus papīra formā, drīkst iesūtīt skenētus/fotografētus papīra pierakstus, pie nosacījuma, ka rokraksts ir salasāms. |
|||
'''Vērtējums''' -- ir divas iespējas: |
|||
* a) uzrakstīt par pilnu semināru (abām sesijām + semināru kopumā) un saņemt 100% punktu; |
|||
* b) uzrakstīt par vienu sesiju (3 prezentācijām) + semināru kopumā un saņemt 50% punktu. |
|||
'''Termiņš''': Trešdiena, 10.10.2012. 10:00 |
|||
== PD3 == |
|||
Sensoru datu pārsūtīšana uz bāzes staciju. |
|||
Termiņš: ceturtdiena, 25.10.2012. 10:00 |
|||
=== Uzdevums === |
|||
Izveidot divas aplikācijas: programmatūru sensoru mezglam, kas lasa analogos sensorus, un bāzes stacijai, kas pieprasa sensoru mezglam datus un nosūta tos uz seriālo portu. |
|||
=== Formulējums === |
|||
''Uzmanību: formulējums mainīts atbilstoši TinyOS datu struktūru prasībām. Iepriekšējais datu struktūru apraksts (C valodā) ir atrodams [[LU-BST-b12:PD/PD3VecaisForumulejums | PD3 arhīvā]].'' |
|||
Gan pārraidi no sensoru mezgla pa radio, gan no bāzes stacijas uz seriālo portu veikt ar paketēm, kuras satur: |
|||
* datus: saturīgie dati (payload) |
|||
* paketes tipu: 2 baiti paketes tipa identifikators: 1 = SensorRequestMsg, 2 = SensorReportMsg, 3 = NetworkScanMsg |
|||
enum { |
|||
AM_SENSOR_REQUEST_MSG = 1, |
|||
AM_SENSOR_REPORT_MSG = 2, |
|||
AM_NETWORK_SCAN_MSG = 3, |
|||
}; |
|||
Visās pakās datu daļā pirmais lauks ir <code>counter</code>: skaitītājs, kas tiek uzturēts individuāls uz katras motes. Pie katras pakas nosūtīšanas mote šo skaitītāju palielina par 1. Viens un tas pats skaitītājs tiek lietots VISĀM pakām, ko sūta šī mote, neatkarīgo no paketes tipa. Ja mote pārsūta citas motes sūtītu paku, visi lauki (tai skaitā, skaitītājs), tiek atstāti ar oriģinālajām vērtībām. |
|||
Ja tiek izmantota maršrutizācija, pakās drīkst ieviest papildus laukus, ko izmanto tīkla līmenis. |
|||
Saturīgie dati var būt šādā formā, atkarībā no paketes tipa: |
|||
typedef nx_struct sensor_request_msg { |
|||
// SensorRequestMsg (packetType = 1, dataLen = 7) |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
nx_uint16_t counter; |
|||
// sensoru mezgla id |
|||
nx_uint16_t moteId; |
|||
// kuru sensoru lasīt: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma, 3 = temperatūra, 4 = mitrums |
|||
nx_uint16_t sensorId; |
|||
// ik pa cik sekundēm lasīt un sūtīt šī sensora lasījumus, (0 nozīmē "nolasīt tikai vienreiz") |
|||
nx_uint16_t period; |
|||
// no cik lasījumiem vilkt vidējo vērtību (min = 1, max = 100) |
|||
nx_uint16_t avg; |
|||
} sensor_request_msg_t; |
|||
typedef nx_struct sensor_report_msg { |
|||
// SensorReportMsg (packetType = 2, dataLen = 7) |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
nx_uint16_t counter; |
|||
// sensoru mezgla id |
|||
nx_uint16_t moteId; |
|||
// nolasītā sensora ID: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma, |
|||
// 3 = temperatūra, 4 = mitrums |
|||
nx_uint16_t sensorId; |
|||
// nolasītā vidējā vērtība |
|||
nx_uint16_t value; |
|||
} sensor_report_msg_t; |
|||
typedef nx_struct network_scan_msg { |
|||
// NeworkScanMsg (packetType = 3, dataLen = 2) |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
nx_uint16_t counter; |
|||
} network_scan_msg_t; |
|||
Katrs students izvēlas sev unikālu sensoru tīkla identifikatoru (<code>networkId</code>): studentu apliecības pēdējos divus ciparus. MoteId tad izvēlas kā <code>networkId * 100 + moteNr</code>, numurējot motes no 1 uz priekšu. Vairāku vienādu tīkla ID gadījumā atrādīšanas laikā tiks izvēlēti citi, unikāli ID. Katram studentam paredzēta arī sava bāzes stacija, kura prasa datus tikai sev piederīgajam sensoru mezglam. Bāzes stacijai ID nav vajadzīgs. Citiem vārdiem, katrs students noprogrammē pāri: bāzes stacija un sensoru mezgls (vairāki mezgli), kas abi runājas savā starpā, netraucējot citu studentu motēm, kas vienlaikus atrodas tajās pašās telpās. |
|||
Sensoru mezgla un bāzes stacijas darbības protokols: |
|||
* Bāzes stacija: |
|||
** No datora seriālā porta saņem <code>SensorRequestMsg</code>, pārsūta to pa radio |
|||
** Klausās ienākošos <code>SensorReportMsg</code> ziņojumus, atfiltrē no tiem tikai tos, kam ir atbilstošs <code>moteId</code>, derīgos pārsūta uz seriālo portu |
|||
* Sensoru mezgls: |
|||
** Klausās pa radio saņemtos <code>SensorRequestMsg</code> ziņojumus, atfiltrē tikai sev piederīgus (ar savu <code>moteId</code>). |
|||
** Saņemot sev adresētu <code>SensorRequestMsg</code>, uzsāk norādītā sensora lasīšanu un sūtīšanu (<code>SensorReportMsg</code>) ar norādīto periodu. Ja periods = 0, sūtīšanu veic tikai vienreiz (uzreiz pēc šīs ziņas saņemšanas). |
|||
** Katra sūtījuma izveidošanai sensors tiek lasīts tik reizes, cik norāda <code>avg</code> lauks saņemtajā <code>SensorRequestMsg</code> ziņojumā. Vidējā vērtība tiek izrēķināta uz sensoru mezgla un sūtīta <code>SensorReportMsg</code> ziņojumā |
|||
** Vienlaikus uz sensoru mezgla var darboties vairāki procesi, kur katrs lasa savu sensoru ar atšķirīgu periodu. Tomēr visi periodi ir ar sekundes granularitāti. |
|||
Šis praktiskais darbs var noderēt kā bāze kursa projektam. |
|||
=== PC programmas paraugs === |
|||
Paraugs Java programmai, ar kuru no PC var sūtīt un saņemt datus no motes (caur seriālo portu): [http://jupiter.cs.fmf.lu.lv/kursi/bst/slaidi12/SensorBaseStation.zip SensorBaseStation.zip] |
|||
* lai izpildītu PD prasības, parauga programmai var būt nepieciešamas modifikācijas. var izmantot arī savas PC-motes komunikācijas programmas. |
|||
* sīkāku informāciju skatīt README failā. |
|||
=== PD3 Vērtējums === |
|||
Lai darbs būtu ieskaitīts, jāsaņem vērtējums >= 40%. |
|||
Punkti var tikt saņemti par jebkādu apakšuzdevumu kombināciju, kas atbilst zemāk aprakstītajiem nosacījumiem. Maksimālā vērtējuma "griesti": 220% |
|||
Vērtējums tiek saņemts par sekojošu punktu izpildi: |
|||
* Jāuzraksta bāzes stacijas (motes) programma, kas: |
|||
** pārsūta no PC pa seriālo portu saņemtos <code>SensorRequestMsg</code> ziņojumus pa radio: '''10%''' |
|||
** pārsūta pa radio saņemtos sev piederīgos <code>SensorReportMsg</code> ziņojumus uz PC pa seriālo portu: '''10%''' |
|||
* Jāuzraksta sensoru mezgla (motes) programma, kas: |
|||
** saņem <code>SensorRequestMsg</code> ziņojumus pa radio, atfiltrē sev piederīgos un konfigurē sensoru nolasīšanu atbilstoši saņemtajiem ziņojumiem: '''10%''' |
|||
** nolasa viena sensora rādījumus ar ziņojumā norādītu periodu: '''15%''' |
|||
*** gadījumā, ja programma neiekļauj SensorRequestMsg apstrādi, sensoru un nolasīšanas laika periodu konfigurē programmā. nolasāmajam sensoram jābūt vienam no SensorRequestMsg struktūrā minētajiem sensoru veidiem. |
|||
** nolasa vairākus sensorus ar norādīto periodu, atbilstoši saņemtajiem <code>SensorRequestMsg</code> ziņojumiem. Šajā gadījumā jāatceras katram sensoram pēdējais <code>SensorRequestMsg</code> un jālasa visi pieprasītie sensori paralēli. Vērtējums: '''+10%''' (papildus 15% par viena sensora nolasīšanu). |
|||
*** vairāku sensoru nolasīšanas gadījumā programmai ir jārealizē SensorRequestMsg apstrādi. |
|||
** izvelk katra sensora lasījumiem vidējo vērtību: '''15%''' |
|||
** nosūta sensoru rādījumus pa radio kā <code>SensorReportMsg</code> ziņojumu: '''10%''' |
|||
*** ja rēķina vidējo vērtību, tad sūta to. pretējā gadījumā sūta pēdējos sensoru lasījumus. |
|||
* Papildināt PC programmu tā, lai saņemtās sensoru vērtība tiktu attēlotas sakarīgās (nevis jēlās) vērtībās: luksos, grādos, relatīvā mitruma %. Par šī punkta izpildi: '''20%''' |
|||
* Papildināt sensoru mezglu programmas tā, lai tiktu atbalstīts multi-hop tīkls: vai nu ar vienkāršu pludināšanu (flooding) - katrs sensoru mezgls tieši VIENU REIZI pārsūta katru pa radio saņemto ziņojumu -, vai ar kādu efektīvāku maršrutizācijas protokolu. Flooding gadījumā papildus '''30%''' vērtējums, efektīvākas maršrutizācijas gadījumā: līdz '''50%'''. |
|||
* Papildināt PC, bāzes stacijas un sensoru mezgla programmas tā, lai tiktu atbalstīta tīkla skenēšana ar <code>NetworkScanMsg</code>: no PC iespējams noskaidrot, ar kādiem ID motes šobrīd ir tīklā. Vienkāršākajā variantā pietiek ar viena lēciena tīkla skenēšanu. PC nosūta <code>NetworkScanMsg</code>, ko bāzes stacija pārsūta tīklā (un sensoru mezgli pārsūta vēlreiz, ja tiek atbalstīts multi-hop tīkls). Atbildē motes drīkst sūtīt <code>SensorReportMsg</code> jebkuram sensoram pēc izvēles. Papildus vērtējums: '''30%'''. |
|||
* Papildus līdz '''50%''' var iegūt, izveidojot grafisko interfeisu uz PC: gan tīkla skenēšanai, gan sensoru datu pieprasīšanai, gan rezultātu uzskatāmai apskatei. Vērtējums par šo punktu tiek aprēķināts pēc lietojamības viedokļa |
|||
** grafiskais interfeiss var tikt realizēts arī kā tīmekļa programma (ja vien tas dara visu, kas prasīts) |
|||
=== PD3 Termiņš === |
|||
Ceturtdiena, 25.10.2012. 10:00 |
|||
=== PD3 Soda punkti, iesūtot novēloti === |
|||
* pēc 25.10.2012 10:00: -15% |
|||
* pēc 01.11.2012 10:00: -30% |
|||
* pēc 08.11.2012 10:00: -45% |
|||
* pēc 15.11.2012 10:00: -60% |
|||
== PD4 == |
|||
Kursa projekta pieteikums. |
Kursa projekta pieteikums. |
||
Šis praktiskais darbs nedaudz atšķiras no pārējiem. Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts un jāiesniedz tas PDF formātā. |
Šis praktiskais darbs nedaudz atšķiras no pārējiem. Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts un jāiesniedz tas PDF vai DOC formātā. PD4 atrādīšana nozīmē, ka lekcijas laikā, 21.11.2012., katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju. |
||
Obligātās dokumenta nodaļas: |
Obligātās dokumenta nodaļas: |
||
| Line 76: | Line 215: | ||
# 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! |
# 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! |
||
=== |
=== PD4 Vērtējums === |
||
Katra sadaļa sastāda šādu daļu no kopējā |
Katra sadaļa sastāda šādu daļu no kopējā PD4 vērtējuma: |
||
# Projekta tēma: 10% |
# Projekta tēma: 10% |
||
# Komanda: 5% |
# Komanda: 5% |
||
| Line 89: | Line 228: | ||
'''Termiņš''': |
'''Termiņš''': Ceturtdiena, 21.11.2012. 10:00 |
||
Ir svarīgi laicīgi izvēlēties projekta tēmu un sākt darbu pie projekta, tādēļ PD4 iesniegšanas noteikumi atšķiras no citiem PD. |
|||
Soda punkti, iesūtot novēloti: |
Soda punkti, iesūtot novēloti: |
||
* pēc |
* pēc 21.11.2012. 10:00: -15% |
||
* pēc |
* pēc 28.11.2012. 10:00: -30% |
||
* pēc |
* pēc 05.12.2012. 10:00: -60% |
||
* pēc 21.12.2011. 05:00: -60% |
|||
<!-- |
|||
== PD3 == |
== PD3 == |
||
| Line 122: | Line 265: | ||
. 18:00: PD vairs netiek pieņemts! Līdz šim brīdim ir jāpaspēj ne tikai iesūtīt, bet arī atrādīt VISI semestra darbi! |
|||
== PD4 == |
|||
--> |
|||
Sensoru datu pārsūtīšana uz bāzes staciju. |
|||
== PD2-2 == |
|||
PD2-2 dod iespēju nopelnīt papildus punktus, ir neobligāts. |
|||
Izveidot divas aplikācijas: programmatūru sensoru mezglam, kas lasa analogos sensorus, un bāzes stacijai, kas pieprasa sensoru mezglam datus un nosūta tos uz seriālo portu. Dažu uzdevumu izpildei var būt nepieciešams modificēt PC programmu. |
|||
'''Uzdevums''': doties uz VieSenTIS projekta semināru (http://viesentis6.eventbrite.com) 12.12.2012 15:00, noklausīties prezentācijas un uzrakstīt "eseju" par to, ko atceraties, kas patika, ko sapratāt, ko nesapratāt. |
|||
=== Formulējums === |
|||
Gan pārraidi no sensoru mezgla pa radio, gan no bāzes stacijas uz seriālo portu veikt ar paketēm, ar sekojošu struktūru: |
|||
* magicStart: 4 baiti, kas izmantoti paketes sākuma identificēšanai datu plūsmā. Šie baiti ir konstanti: { 0xde, 0xad, 0xbe, 0xef }; |
|||
* packetType: 2 baiti paketes tipa norādīšanai: 1 = SensorRequestMsg, 2 = SensorReportMsg, 3 = NetworkScanMsg |
|||
* dataLen: 2 baiti saturīgo datu garums |
|||
* data: <dataLen> baiti - saturīgie dati |
|||
Seminārā ir 8 prezentācijas, par katru jāuzraksta savas pārdomas, īsas esejas formā (daži teikumi līdz dažas rindkopas). Plus viena eseja par visu semināru kopumā. Visu noformēt kā vienu dokumentu (nevis 7 esejas). Ja esat veikuši pierakstus papīra formā, drīkst iesūtīt skenētus/fotografētus papīra pierakstus, pie nosacījuma, ka rokraksts ir salasāms. |
|||
Visās pakās datu daļā pirmais lauks ir <code>counter</code>: skaitītājs, kas tiek uzturēts individuāls uz katras motes. Pie katras pakas nosūtīšanas mote šo skaitītāju palielina par 1. Viens un tas pats skaitītājs tiek lietots VISĀM pakām, ko sūta šī mote, neatkarīgo no paketes tipa. Ja mote pārsūta citas motes sūtītu paku, visi lauki (tai skaitā, skaitītājs), tiek atstāti ar oriģinālajām vērtībām. |
|||
'''Vērtējums''' -- ir divas iespējas: |
|||
Ja tiek izmantota maršrutizācija, pakās drīkst ieviest papildus laukus, ko izmanto tīkla līmenis. |
|||
* a) uzrakstīt par pilnu semināru (abām sesijām + semināru kopumā) un saņemt 100% punktu; |
|||
* b) uzrakstīt par pusi semināra (4 prezentācijām) + semināru kopumā un saņemt 50% punktu. |
|||
'''Termiņš''': Trešdiena, 19.12.2012. 10:00 |
|||
Saturīgie dati var būt šādā formā, atkarībā no paketes tipa: |
|||
SensorRequestMsg (packetType = 1, dataLen = 7) { |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
uint16_t counter; |
|||
// sensoru mezgla id |
|||
uint16_t moteId; |
|||
// kuru sensoru lasīt: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma, 3 = temperatūra, 4 = mitrums |
|||
uint16_t sensorId; |
|||
// ik pa cik sekundēm lasīt un sūtīt šī sensora lasījumus, (0 nozīmē "nolasīt tikai vienreiz") |
|||
uint16_t period; |
|||
// no cik lasījumiem vilkt vidējo vērtību (min = 1, max = 100) |
|||
uint16_t avg; |
|||
} |
|||
== PD5 == |
|||
SensorReportMsg (packetType = 2, dataLen = 7) { |
|||
Prezentācija par enerģijas ieguvi no vides. |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
uint16_t counter; |
|||
// sensoru mezgla id |
|||
uint16_t moteId; |
|||
// nolasītā sensora ID: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma, |
|||
// 3 = temperatūra, 4 = mitrums |
|||
uint16_t sensorId; |
|||
// nolasītā vidējā vērtība |
|||
uint16_t value; |
|||
} |
|||
'''Uzdevums''': Sagatavot prezentāciju par kādu konkrētu metodi, kā iegūt enerģiju no vides. Piemēram, no saules, vēja, vibrācijām, temperatūras starpības, elektro magnētiskā lauka. |
|||
NeworkScanMsg (packetType = 3, dataLen = 2) { |
|||
// skaitītājs paku dublikātu identificēšanai |
|||
uint16_t counter; |
|||
} |
|||
Izvēlētā metode ir jāsaskaņo ar pasniedzēju, lai neizveidotos situācija, kad ir vairākas vienādas prezentācijas. |
|||
Katrs students izvēlas sev unikālu sensoru tīkla identifikatoru (<code>networkId</code>): studentu apliecības pēdējos divus ciparus. MoteId tad izvēlas kā <code>networkId * 100 + moteNr</code>, numurējot motes no 1 uz priekšu. Vairāku vienādu tīkla ID gadījumā atrādīšanas laikā tiks izvēlēti citi, unikāli ID. Katram studentam paredzēta arī sava bāzes stacija, kura prasa datus tikai sev piederīgajam sensoru mezglam. Bāzes stacijai ID nav vajadzīgs. Citiem vārdiem, katrs students noprogrammē pāri: bāzes stacija un sensoru mezgls (vairāki mezgli), kas abi runājas savā starpā, netraucējot citu studentu motēm, kas vienlaikus atrodas tajās pašās telpās. |
|||
Jāuzstājas ar 15min prezentāciju, kuras saturs: |
|||
Sensoru mezgla un bāzes stacijas darbības protokols: |
|||
* Metodes idejas īss apraksts |
|||
* Bāzes stacija: |
|||
* Aktuālie pasaules sasniegumi un reāli pielietojumi, prototipi vai pētījumi (ja tehnoloģija vēl ir eksperimentāla) |
|||
** No datora seriālā porta saņem <code>SensorRequestMsg</code>, pārsūta to pa radio |
|||
* Tehniskie parametri, cik daudz enerģijas var iegūt un: |
|||
** Klausās ienākošos <code>SensorReportMsg</code> ziņojumus, atfiltrē no tiem tikai tos, kam ir atbilstošs <code>moteId</code>, derīgos pārsūta uz seriālo portu |
|||
** kādi ir nepieciešamie apstākļi |
|||
* Sensoru mezgls: |
|||
** ar kādu ātrumu |
|||
** Klausās pa radio saņemtos <code>SensorRequestMsg</code> ziņojumus, atfiltrē tikai sev piederīgus (ar savu <code>moteId</code>). |
|||
** kādi ir sprieguma ierobežojumi |
|||
** Saņemot sev adresētu <code>SensorRequestMsg</code>, uzsāk norādītā sensora lasīšanu un sūtīšanu (<code>SensorReportMsg</code>) ar norādīto periodu. Ja periods = 0, sūtīšanu veic tikai vienreiz (uzreiz pēc šīs ziņas saņemšanas). |
|||
** kādi ir strāvas stipruma ierobežojumi |
|||
** Katra sūtījuma izveidošanai sensors tiek lasīts tik reizes, cik norāda <code>avg</code> lauks saņemtajā <code>SensorRequestMsg</code> ziņojumā. Vidējā vērtība tiek izrēķināta uz sensoru mezgla un sūtīta <code>SensorReportMsg</code> ziņojumā |
|||
** kas nosaka metodes efektivitāti, kad tā samazinās |
|||
** Vienlaikus uz sensoru mezgla var darboties vairāki procesi, kur katrs lasa savu sensoru ar atšķirīgu periodu. Tomēr visi periodi ir ar sekundes granularitāti. |
|||
* Metodes lietderība sensoru tīkliem - kādās situācijās šādu metodi varētu izmantot |
|||
Prezentētāji uzstājas BST lekcijas laikā, 19.12.2012. 12:30 - 14:00. |
|||
No pasniedzēja puses tiks piedāvāta sagatave C++ programmai, kas darbojas uz PC un sūta/saņem komandas uz/no bāzes stacijas motes. |
|||
Vērtējumu noteiks prezentācijas klausītāji. |
|||
Šis praktiskais darbs var noderēt kā bāze kursa projektam. |
|||
=== PD4 Vērtējums === |
|||
Lai darbs būtu ieskaitīts, jāsaņem vērtējums >= 40%. |
|||
Vērtējums tiek saņemts par sekojošu punktu izpildi (pieļaujama kombinācija no jebkuriem punktiem): |
|||
* Jāuzraksta bāzes stacijas (motes) programma, kas: |
|||
** pārsūta no PC pa seriālo portu saņemtos <code>SensorRequestMsg</code> ziņojumus pa radio: '''10%''' |
|||
** pārsūta pa radio saņemtos sev piederīgos <code>SensorReportMsg</code> ziņojumus uz PC pa seriālo portu: '''10%''' |
|||
* Jāuzraksta sensoru mezgla (motes) prorgamma, kas: |
|||
** saņem <code>SensorRequestMsg</code> ziņojumus pa radio un atfiltrē sev piederīgos: '''10%''' |
|||
** nolasa nepieciešamos sensorus ar norādīto periodu, atbilstoši saņemtajiem <code>SensorRequestMsg</code> ziņojumiem. Vienkāršākajā gadījumā programmai jāmāk atcerēties pēdējais <code>SensorRequestMsg</code> un nolasīt tikai vienu sensoru. Ideālā gadījumā: jāatceras katram sensoram pēdējais <code>SensorRequestMsg</code> un jālasa visi pieprasītie sensori paralēli. Vērtējums vienkāršākajā gadījumā: '''10%''', ideālā gadījumā: '''20%'''. |
|||
** izvelk katra sensora lasījumiem vidējo vērtību: '''5%''' |
|||
** nosūta izrēķināto vidējo vērtību pa radio kā <code>SensorReportMsg</code> ziņojumu: '''5%''' |
|||
* Papildināt PC programmas sagatavi tā, lai saņemtās sensoru vērtība tiktu attēlotas sakarīgās (nevis jēlās) vērtībās: luksos, grādos, relatīvā mitruma %. Par šī punkta izpildi: '''20%''' |
|||
* Papildināt sensoru mezglu programmas tā, lai tiktu atbalstīts multi-hop tīkls: vai nu ar vienkāršu pludināšanu (flooding) - katrs sensoru mezgls tieši VIENU REIZI pārsūta katru pa radio saņemto ziņojumu -, vai ar kādu efektīvāku maršrutizācijas protokolu. Flooding gadījumā papildus '''30%''' vērtējums, efektīvākas maršrutizācijas gadījumā: līdz '''50%'''. |
|||
* Papildināt PC, bāzes stacijas un sensoru mezgla programmas tā, lai tiktu atbalstīta tīkla skenēšana ar <code>NetworkScanMsg</code>: no PC iespējams noskaidrot, ar kādiem ID motes šobrīd ir tīklā. Vienkāršākajā variantā pietiek ar viena lēciena tīkla skenēšanu. PC nosūta <code>NetworkScanMsg</code>, ko bāzes stacija pārsūta tīklā (un sensoru mezgli pārsūta vēlreiz, ja tiek atbalstīts multi-hop tīkls). Atbildē motes drīkst sūtīt <code>SensorReportMsg</code> jebkuram sensoram pēc izvēles. Papildus vērtējums: '''30%'''. |
|||
* Papildus līdz '''50%''' var iegūt, izveidojot grafisko interfeisu uz PC: gan tīkla skenēšanai, gan sensoru datu pieprasīšanai, gan rezultātu uzskatāmai apskatei. Vērtējums par šo punktu tiek aprēķināts pēc lietojamības viedokļa |
|||
=== PD4 Termiņš === |
|||
Trešdiena, 11.01.2012. 05:00 |
|||
=== PD4 Soda punkti, iesūtot novēloti === |
|||
* pēc 11.01.2012. 05:00: -15% |
|||
* pēc 13.01.2012. 18:00: PD vairs netiek pieņemts! Līdz šim brīdim ir jāpaspēj ne tikai iesūtīt, bet arī atrādīt VISI semestra darbi! |
|||
== PD5 == |
|||
PD5 ir neobligāts, ar iespēju nopelnīt papildus punktus. |
|||
Uzdevums: doties uz VieSenTIS projekta semināru (http://selavo.lv/viesentis/) 05.12.2011., noklausīties prezentācijas un uzrakstīt "eseju" par to, ko atceraties, kas patika, ko sapratāt, ko nesapratāt. |
|||
Vērtējums: seminārā ir 6 prezentācijas (pa trim katrā sesijā), par katru jāuzraksta savas pārdomas, īsas esejas formā (daži teikumi līdz dažas rindkopas). Plus viena eseja par visu semināru kopumā. Visu noformēt kā vienu dokumentu (nevis 7 esejas). Ja esat veikuši pierakstus papīra formā, drīkst iesūtīt skenētus/fotografētus papīra pierakstus, pie nosacījuma, ka rokraksts ir salasāms. |
|||
PD pildīšanas gadījumā par to jāziņo pasniedzējam līdz trešdienai, 12.12.2012. 23:59. |
|||
--> |
|||
== PD svari == |
== PD svari == |
||
Latest revision as of 09:44, 5 December 2012
Praktiskie darbi
Praktiskajos darbos jāizpilda sensoru mezgla programmēšanas uzdevums.
Lai nokārtotu kursu, sekmīgi jānokārto visi 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): 250ms
- 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: 3 sekundes
Pēc pauzes vārds tiek izspīdināts atkal no sākuma.
Bonusa uzdevums 1: 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: uzlikt uz sava datora TOSSIM, nodemonstrēt praktisko darbu strādājošu (uz sava datora) iekš TOSSIM un atsūtīt step-by-step instrukcijas TOSSIM instalēšanā un iedarbināšanā.
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).
Termiņš: Trešdiena, 03.10.2012. 10:00
Soda punkti, iesūtot novēloti:
- pēc 03.10.2012. 10:00: -15%
- pēc 10.10.2012. 10:00: -30%
- pēc 17.10.2012. 10:00: -45%
- pēc 24.10.2012. 10:00: -60%
PD2
PD2 ir neobligāts, ar iespēju nopelnīt papildus punktus.
Uzdevums: doties uz VieSenTIS projekta semināru (http://selavo.lv/viesentis/) 28.09.2012., noklausīties prezentācijas un uzrakstīt "eseju" par to, ko atceraties, kas patika, ko sapratāt, ko nesapratāt.
Seminārā ir 6 prezentācijas (pa trim katrā sesijā) + 1 ievadlekcija, par katru jāuzraksta savas pārdomas, īsas esejas formā (daži teikumi līdz dažas rindkopas). Plus viena eseja par visu semināru kopumā. Visu noformēt kā vienu dokumentu (nevis 7 esejas). Ja esat veikuši pierakstus papīra formā, drīkst iesūtīt skenētus/fotografētus papīra pierakstus, pie nosacījuma, ka rokraksts ir salasāms.
Vērtējums -- ir divas iespējas:
- a) uzrakstīt par pilnu semināru (abām sesijām + semināru kopumā) un saņemt 100% punktu;
- b) uzrakstīt par vienu sesiju (3 prezentācijām) + semināru kopumā un saņemt 50% punktu.
Termiņš: Trešdiena, 10.10.2012. 10:00
PD3
Sensoru datu pārsūtīšana uz bāzes staciju.
Termiņš: ceturtdiena, 25.10.2012. 10:00
Uzdevums
Izveidot divas aplikācijas: programmatūru sensoru mezglam, kas lasa analogos sensorus, un bāzes stacijai, kas pieprasa sensoru mezglam datus un nosūta tos uz seriālo portu.
Formulējums
Uzmanību: formulējums mainīts atbilstoši TinyOS datu struktūru prasībām. Iepriekšējais datu struktūru apraksts (C valodā) ir atrodams PD3 arhīvā.
Gan pārraidi no sensoru mezgla pa radio, gan no bāzes stacijas uz seriālo portu veikt ar paketēm, kuras satur:
- datus: saturīgie dati (payload)
- paketes tipu: 2 baiti paketes tipa identifikators: 1 = SensorRequestMsg, 2 = SensorReportMsg, 3 = NetworkScanMsg
enum {
AM_SENSOR_REQUEST_MSG = 1,
AM_SENSOR_REPORT_MSG = 2,
AM_NETWORK_SCAN_MSG = 3,
};
Visās pakās datu daļā pirmais lauks ir counter: skaitītājs, kas tiek uzturēts individuāls uz katras motes. Pie katras pakas nosūtīšanas mote šo skaitītāju palielina par 1. Viens un tas pats skaitītājs tiek lietots VISĀM pakām, ko sūta šī mote, neatkarīgo no paketes tipa. Ja mote pārsūta citas motes sūtītu paku, visi lauki (tai skaitā, skaitītājs), tiek atstāti ar oriģinālajām vērtībām.
Ja tiek izmantota maršrutizācija, pakās drīkst ieviest papildus laukus, ko izmanto tīkla līmenis.
Saturīgie dati var būt šādā formā, atkarībā no paketes tipa:
typedef nx_struct sensor_request_msg {
// SensorRequestMsg (packetType = 1, dataLen = 7)
// skaitītājs paku dublikātu identificēšanai
nx_uint16_t counter;
// sensoru mezgla id
nx_uint16_t moteId;
// kuru sensoru lasīt: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma, 3 = temperatūra, 4 = mitrums
nx_uint16_t sensorId;
// ik pa cik sekundēm lasīt un sūtīt šī sensora lasījumus, (0 nozīmē "nolasīt tikai vienreiz")
nx_uint16_t period;
// no cik lasījumiem vilkt vidējo vērtību (min = 1, max = 100)
nx_uint16_t avg;
} sensor_request_msg_t;
typedef nx_struct sensor_report_msg {
// SensorReportMsg (packetType = 2, dataLen = 7)
// skaitītājs paku dublikātu identificēšanai
nx_uint16_t counter;
// sensoru mezgla id
nx_uint16_t moteId;
// nolasītā sensora ID: 1 = pilnā gaisma, 2 = fotosintētiskā gaisma,
// 3 = temperatūra, 4 = mitrums
nx_uint16_t sensorId;
// nolasītā vidējā vērtība
nx_uint16_t value;
} sensor_report_msg_t;
typedef nx_struct network_scan_msg {
// NeworkScanMsg (packetType = 3, dataLen = 2)
// skaitītājs paku dublikātu identificēšanai
nx_uint16_t counter;
} network_scan_msg_t;
Katrs students izvēlas sev unikālu sensoru tīkla identifikatoru (networkId): studentu apliecības pēdējos divus ciparus. MoteId tad izvēlas kā networkId * 100 + moteNr, numurējot motes no 1 uz priekšu. Vairāku vienādu tīkla ID gadījumā atrādīšanas laikā tiks izvēlēti citi, unikāli ID. Katram studentam paredzēta arī sava bāzes stacija, kura prasa datus tikai sev piederīgajam sensoru mezglam. Bāzes stacijai ID nav vajadzīgs. Citiem vārdiem, katrs students noprogrammē pāri: bāzes stacija un sensoru mezgls (vairāki mezgli), kas abi runājas savā starpā, netraucējot citu studentu motēm, kas vienlaikus atrodas tajās pašās telpās.
Sensoru mezgla un bāzes stacijas darbības protokols:
- Bāzes stacija:
- No datora seriālā porta saņem
SensorRequestMsg, pārsūta to pa radio - Klausās ienākošos
SensorReportMsgziņojumus, atfiltrē no tiem tikai tos, kam ir atbilstošsmoteId, derīgos pārsūta uz seriālo portu
- No datora seriālā porta saņem
- Sensoru mezgls:
- Klausās pa radio saņemtos
SensorRequestMsgziņojumus, atfiltrē tikai sev piederīgus (ar savumoteId). - Saņemot sev adresētu
SensorRequestMsg, uzsāk norādītā sensora lasīšanu un sūtīšanu (SensorReportMsg) ar norādīto periodu. Ja periods = 0, sūtīšanu veic tikai vienreiz (uzreiz pēc šīs ziņas saņemšanas). - Katra sūtījuma izveidošanai sensors tiek lasīts tik reizes, cik norāda
avglauks saņemtajāSensorRequestMsgziņojumā. Vidējā vērtība tiek izrēķināta uz sensoru mezgla un sūtītaSensorReportMsgziņojumā - Vienlaikus uz sensoru mezgla var darboties vairāki procesi, kur katrs lasa savu sensoru ar atšķirīgu periodu. Tomēr visi periodi ir ar sekundes granularitāti.
- Klausās pa radio saņemtos
Šis praktiskais darbs var noderēt kā bāze kursa projektam.
PC programmas paraugs
Paraugs Java programmai, ar kuru no PC var sūtīt un saņemt datus no motes (caur seriālo portu): SensorBaseStation.zip
- lai izpildītu PD prasības, parauga programmai var būt nepieciešamas modifikācijas. var izmantot arī savas PC-motes komunikācijas programmas.
- sīkāku informāciju skatīt README failā.
PD3 Vērtējums
Lai darbs būtu ieskaitīts, jāsaņem vērtējums >= 40%.
Punkti var tikt saņemti par jebkādu apakšuzdevumu kombināciju, kas atbilst zemāk aprakstītajiem nosacījumiem. Maksimālā vērtējuma "griesti": 220%
Vērtējums tiek saņemts par sekojošu punktu izpildi:
- Jāuzraksta bāzes stacijas (motes) programma, kas:
- pārsūta no PC pa seriālo portu saņemtos
SensorRequestMsgziņojumus pa radio: 10% - pārsūta pa radio saņemtos sev piederīgos
SensorReportMsgziņojumus uz PC pa seriālo portu: 10%
- pārsūta no PC pa seriālo portu saņemtos
- Jāuzraksta sensoru mezgla (motes) programma, kas:
- saņem
SensorRequestMsgziņojumus pa radio, atfiltrē sev piederīgos un konfigurē sensoru nolasīšanu atbilstoši saņemtajiem ziņojumiem: 10% - nolasa viena sensora rādījumus ar ziņojumā norādītu periodu: 15%
- gadījumā, ja programma neiekļauj SensorRequestMsg apstrādi, sensoru un nolasīšanas laika periodu konfigurē programmā. nolasāmajam sensoram jābūt vienam no SensorRequestMsg struktūrā minētajiem sensoru veidiem.
- nolasa vairākus sensorus ar norādīto periodu, atbilstoši saņemtajiem
SensorRequestMsgziņojumiem. Šajā gadījumā jāatceras katram sensoram pēdējaisSensorRequestMsgun jālasa visi pieprasītie sensori paralēli. Vērtējums: +10% (papildus 15% par viena sensora nolasīšanu).- vairāku sensoru nolasīšanas gadījumā programmai ir jārealizē SensorRequestMsg apstrādi.
- izvelk katra sensora lasījumiem vidējo vērtību: 15%
- nosūta sensoru rādījumus pa radio kā
SensorReportMsgziņojumu: 10%- ja rēķina vidējo vērtību, tad sūta to. pretējā gadījumā sūta pēdējos sensoru lasījumus.
- saņem
- Papildināt PC programmu tā, lai saņemtās sensoru vērtība tiktu attēlotas sakarīgās (nevis jēlās) vērtībās: luksos, grādos, relatīvā mitruma %. Par šī punkta izpildi: 20%
- Papildināt sensoru mezglu programmas tā, lai tiktu atbalstīts multi-hop tīkls: vai nu ar vienkāršu pludināšanu (flooding) - katrs sensoru mezgls tieši VIENU REIZI pārsūta katru pa radio saņemto ziņojumu -, vai ar kādu efektīvāku maršrutizācijas protokolu. Flooding gadījumā papildus 30% vērtējums, efektīvākas maršrutizācijas gadījumā: līdz 50%.
- Papildināt PC, bāzes stacijas un sensoru mezgla programmas tā, lai tiktu atbalstīta tīkla skenēšana ar
NetworkScanMsg: no PC iespējams noskaidrot, ar kādiem ID motes šobrīd ir tīklā. Vienkāršākajā variantā pietiek ar viena lēciena tīkla skenēšanu. PC nosūtaNetworkScanMsg, ko bāzes stacija pārsūta tīklā (un sensoru mezgli pārsūta vēlreiz, ja tiek atbalstīts multi-hop tīkls). Atbildē motes drīkst sūtītSensorReportMsgjebkuram sensoram pēc izvēles. Papildus vērtējums: 30%. - Papildus līdz 50% var iegūt, izveidojot grafisko interfeisu uz PC: gan tīkla skenēšanai, gan sensoru datu pieprasīšanai, gan rezultātu uzskatāmai apskatei. Vērtējums par šo punktu tiek aprēķināts pēc lietojamības viedokļa
- grafiskais interfeiss var tikt realizēts arī kā tīmekļa programma (ja vien tas dara visu, kas prasīts)
PD3 Termiņš
Ceturtdiena, 25.10.2012. 10:00
PD3 Soda punkti, iesūtot novēloti
- pēc 25.10.2012 10:00: -15%
- pēc 01.11.2012 10:00: -30%
- pēc 08.11.2012 10:00: -45%
- pēc 15.11.2012 10:00: -60%
PD4
Kursa projekta pieteikums.
Šis praktiskais darbs nedaudz atšķiras no pārējiem. Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts un jāiesniedz tas PDF vai DOC formātā. PD4 atrādīšana nozīmē, ka lekcijas laikā, 21.11.2012., katra komanda pastāstīs pārējiem par sava kursa projekta ideju, izveidosim īsu diskusiju.
Obligātās dokumenta nodaļas:
- Projekta tēma. Kas ir Jūsu projekts, ko Jūs izstrādāsit. Šeit var pietikt ar vienu vai dažiem teikumiem
- Projekta komanda. Kas piedalās, kādas lomas katrs izpilda (kurš ko programmēs, kurš projektēs, kurš testēs utt)
- 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.
- Jūsu pieeja un arhitektūra. Kā realizēsiet projektu. Kāda būs izmantotā aparatūra. Kāda programmatūra. Kāda būs tīkla struktūra. Šeit labi iederas sistēmas arhitektūras bildes, shematiski attēlojumi. Svarīgi norādīt arī nepieciešamo aparatūru, tai skaitā, kādi sensori nepieciešami projekta realizēšanai. Lai varam sākt meklēt nepieciešamos sensorus, motes. Tiek sagaidīts, ka šī ir saturīgākā projekta apraksta daļa.
- Sagaidāmais rezultāts. Cik daudz no savas projekta idejas plānojat šī semestra laikā realizēt. Kādus testus veikt. Kā novērtēsit rezultātus.
Neobligātās tēmas, par ko iespējams saņemt papildus punktus:
- 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, lai nav pašiem jāizdomā no nulles
- 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!
PD4 Vērtējums
Katra sadaļa sastāda šādu daļu no kopējā PD4 vērtējuma:
- Projekta tēma: 10%
- Komanda: 5%
- Motivācija: 20%
- Pieeja un arhitektūra: 50%
- Sagaidāmais rezultāts: 15%
Papildus punkti:
- Pasaules sasniegumu apskats: 30%
- Idealizācija: 20%
Termiņš: Ceturtdiena, 21.11.2012. 10:00
Ir svarīgi laicīgi izvēlēties projekta tēmu un sākt darbu pie projekta, tādēļ PD4 iesniegšanas noteikumi atšķiras no citiem PD.
Soda punkti, iesūtot novēloti:
- pēc 21.11.2012. 10:00: -15%
- pēc 28.11.2012. 10:00: -30%
- pēc 05.12.2012. 10:00: -60%
PD2-2
PD2-2 dod iespēju nopelnīt papildus punktus, ir neobligāts.
Uzdevums: doties uz VieSenTIS projekta semināru (http://viesentis6.eventbrite.com) 12.12.2012 15:00, noklausīties prezentācijas un uzrakstīt "eseju" par to, ko atceraties, kas patika, ko sapratāt, ko nesapratāt.
Seminārā ir 8 prezentācijas, par katru jāuzraksta savas pārdomas, īsas esejas formā (daži teikumi līdz dažas rindkopas). Plus viena eseja par visu semināru kopumā. Visu noformēt kā vienu dokumentu (nevis 7 esejas). Ja esat veikuši pierakstus papīra formā, drīkst iesūtīt skenētus/fotografētus papīra pierakstus, pie nosacījuma, ka rokraksts ir salasāms.
Vērtējums -- ir divas iespējas:
- a) uzrakstīt par pilnu semināru (abām sesijām + semināru kopumā) un saņemt 100% punktu;
- b) uzrakstīt par pusi semināra (4 prezentācijām) + semināru kopumā un saņemt 50% punktu.
Termiņš: Trešdiena, 19.12.2012. 10:00
PD5
Prezentācija par enerģijas ieguvi no vides.
Uzdevums: Sagatavot prezentāciju par kādu konkrētu metodi, kā iegūt enerģiju no vides. Piemēram, no saules, vēja, vibrācijām, temperatūras starpības, elektro magnētiskā lauka.
Izvēlētā metode ir jāsaskaņo ar pasniedzēju, lai neizveidotos situācija, kad ir vairākas vienādas prezentācijas.
Jāuzstājas ar 15min prezentāciju, kuras saturs:
- Metodes idejas īss apraksts
- Aktuālie pasaules sasniegumi un reāli pielietojumi, prototipi vai pētījumi (ja tehnoloģija vēl ir eksperimentāla)
- Tehniskie parametri, cik daudz enerģijas var iegūt un:
- kādi ir nepieciešamie apstākļi
- ar kādu ātrumu
- kādi ir sprieguma ierobežojumi
- kādi ir strāvas stipruma ierobežojumi
- kas nosaka metodes efektivitāti, kad tā samazinās
- Metodes lietderība sensoru tīkliem - kādās situācijās šādu metodi varētu izmantot
Prezentētāji uzstājas BST lekcijas laikā, 19.12.2012. 12:30 - 14:00.
Vērtējumu noteiks prezentācijas klausītāji.
PD pildīšanas gadījumā par to jāziņo pasniedzējam līdz trešdienai, 12.12.2012. 23:59.
PD svari
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.