LU-BST-B:index
Bezvadu Sensoru Tīkli
LU FMF DN kurss, bakalaura programma, 2008.g rudens
Pasniedzējs: asoc.prof. Leo Seļāvo
Asistenti: Ģirts Strazdiņš, Artis Mednis
Kalendārs
Nedēļas datumi | Kursa saturs |
---|---|
25.08.2008. - 31.08.2008. | Reģistrācijas nedēļa |
02.09.2008. | 1. Lekcija: Ievadlekcija |
03.09.2008. | 1. Praktiskie darbi: Blink aplikācija TinyOS vidē
Izsludināts 1. Mājas darbs |
09.09.2008. | 2. Lekcija: TinyOS: ideoloģija, radio un seriāla porta komunikācija |
10.09.2008. | 2. Praktiskie darbi: TinyOS radio komunikācija |
16.09.2008. | 3. Lekcija: Sensoru apskats, iedalījums, savienojums ar mikrokontrolieri, lasīšanas iespējas |
17.09.2008. | 3. Praktiskie darbi: Sensoru lasīšana TinyOS vidē |
23.09.2008. | 4. Lekcija: Radio realitāte
Termiņš 1. Mājas darbam (iesūtīt līdz 12:00) |
24.09.2008. | 4. Praktiskie darbi: Sensoru lasīšana un radio komunikācija TinyOS vidē |
30.09.2008. | 5. Lekcija: Laika sinhronizācija |
01.10.2008. | 5. Praktiskie darbi: Mājas darbu pārrunāšana, sensoru mezglu sinhronizācija TinyOS vidē
Izsludināts 2. Mājas darbs |
07.10.2008. | 6. Lekcija: Laika sinhronizācija (turpinājums)
Izsludināts 3. Mājas darbs |
08.10.2008. | 6. Praktiskie darbi: Sensoru mezglu sinhronizācija TinyOS vidē (turpinājums) |
14.10.2008. | 7. Lekcija: Iesūtīto projektu apskats. Lokalizācija (ievads)
Termiņš 3. Mājas darbam (iesūtīt līdz 12:00) |
15.10.2008. | 7. Praktiskie darbi: Piemēra projekta pieteikums (Elektroniskā tāfele)
Termiņš 2. Mājas darbam (iesūtīt līdz 12:00) |
21.10.2008. | Lekcija: Lokalizācijas algoritmi |
22.10.2008. | Praktiskie darbi. |
28.10.2008. | Studijas |
29.10.2008. | Studijas |
04.11.2008. | Vidus semestra kontroldarbs (grūts) |
05.11.2008. | Praktiskie darbi pie individuālā projekta |
10.11.2008. - 16.11.2008. | Studijas |
17.11.2008. - 23.11.2008. | Studijas |
24.11.2008. - 30.11.2008. | Studijas |
01.12.2008. - 07.12.2008. | Studijas |
08.12.2008. - 14.12.2008. | Studijas |
15.12.2008. - 21.12.2008. | Studijas |
22.12.2008. - 04.01.2009. | Ziemassvētku un Jaungada brīvdienas |
05.01.2009. - 11.01.2009. | Individuālās studijas un pārbaudījumi |
12.01.2009. - 18.01.2009. | |
19.01.2009. - 25.01.2009. | |
26.01.2009. - 01.02.2009. |
Mācību materiāli
1. Praktiskie darbi
- PD1: Nokompilēt un uzinstalēt uz sensoru mezgla TinyOS demo aplikāciju Blink
- PD2: Paeksperimentē ar Blink aplikāciju - panākt dažādus diožu mirgošanas "patternus"
- Pēc vēlēšanās bija iespēja risināt MD1 un uzdot jautājumus
2. Lekcija
Lekcijas slaidi (PDF, 227KB). Šeit iekļauti tikai lekcijā izstāstītie slaidi: ideoloģija, uzdevumi (tasks), radio un seriālā porta komunikācija.
2. Praktiskie darbi
- PD3: Izpētīt un izprast TinyOS demo aplikācijas RadioCountToLeds darbību
- PD4: Uzrakstīt TinyOS aplikāciju, kas sūta pa radio ziņojumus ar tipu 90 (hex sistēmā 0x5a). Ziņojuma saturs: studenta vārds latīņu burtiem, līdz 20 simboliem garš.
- PD5: Uzrakstīt TinyOS aplikāciju, kas sūta pa radio divu tipu ziņojumus: ziņojumos ar tipu 91 (== 0x5b hex sistēmā) sūta skaitītaju, 2 baitus garu; ziņojumos ar tipu 92 (== 0x5b hex sistēmā) sūta motes id, 2 baitus garu.
3. Lekcija
Lekcijā tika apskatīti dažādi sensoru tipi, to savienojuma veidi ar mikrokontrolieri (dažādi seriālie protokoli un savienojums caur ADC), seriālo interfeisu priekšrocības salīdzinājumā ar paralēlo interfeisu, kā arī konceptuālā shēma sensora savienojumam ar mikrokontrolieri, par piemēru ņemot MSP430 mikrokontrolieri, kas iebūvēts TMote Sky sensoru mezglā. Materiālus var meklēt pēc atslēgvārdiem "Sensor", "Sensor Types", "Analog-to-Digital-Converter", "ADC", "how ADC works".
3. Praktiskie darbi
- PD6: Modificēt RadioSense programmu, lai tā sūtītu nevis sprieguma, bet gan temperatūras datus un nevis par radio, bet seriālo portu;
- PD7: Modificēt PD7 rezultātu, lai paketē tiktu sūtīta aktuālā temperatūra ar divām zīmēm aiz komata (t.i., Celsija grādos, nevis izteikta Voltos). Piemēram, 25.12C grādus attēlot kā skaitli 2512. Datu konversijas algoritmu meklēt TMote Sky DataSheet dokumentā (skat. sadaļā Saites).
Praktisko darbu slaidi, par sensoriem (PDF, 112KB). Šeit iekļauti tikai šajos praktiskajos darbos stāstītie slaidi par sensoru lasīšanu.
Lekcijas un praktisko darbu slaidi, par komunikāciju un sensoriem (PDF, 256KB). Šeit iekļauti visi TinyOS slaidi, tai skaitā 2. lekcijā runātais par radio komunikāciju.
AM paketes klausīties var ar Java programmu. To palaist var sekojoši:
java net.tinyos.tools.Listen -comm serial@/dev/ttyUSB0:telosb
, kur /dev/ttyUSB0 ir ports, pie kura pieslēgts sensoru mezgls.
Ja pie programmas kopēšanas uz sensoru mezgla parādās Timeout paziņojums, pārbaudīt, vai nav palikusi palaista Listen programma, kas aizņēmusi seriālo portu. Ja ir, apstādināt Listen programmu un palaist make telosb reinstall
vēlreiz.
4. Praktiskie darbi
- PD8: Modificēt RadioSenseToLeds programmu, lai tā sūtītu nevis sprieguma, bet gan gaismas sensora datus un nevis par radio, bet seriālo portu. Izmantot TMote Sky datasheet, lai noteiktu, kuru ADC kanālu lasīt;
- PD9: Uzrakstīt Java programmu, kas lasa no seriālā porta ziņojumus ar gaismas sensora mērījumiem. Izdrukāt mērījumu kā veselu skaitli. Par pamatu ņemt Listen klasi (support/sdk/java/net/tinyos/tools.Listen.java) un uzģenerēto RadioSenseMsg.java klasi
Java programmu nokompilē ar komandu javac:
javac ManaKlase.java
Tiek izveidots fails ManaKlase.class, kuru var palaist ar java:
java ManaKlase
Klausīšanās programmu jālaiž ar parametru -comm, tā pat kā oriģinālā Listen programma.
Mājas darbi
Mājas darbu formulējumi iznesti atsevišķā sadaļā.
Rezultāti
Precīzi rezultāti par katru mājas darbu netiks publicēti. Šeit redzama reitingu tabula - kādā secībā studenti sakārtoti pēc summārā vērtējuma. Vienādu vērtējumu gadījumā studenti tiek sakārtoti darbu iesūtīšanas secībā. Tabulā parādīti tikai tie studenti, kas iesūtījuši mājas darbu.
MD1 (Blink) rezultāti
- Andris Žogota
- Edgars Ozolnieks
- Ansis Atteka
- Atis Gūtmanis
- Igors Gulbinskis
- Ansis Liepkalns
- Māris Zinbergs
- Jānis Laimiņš
- Jānis Mažuika
- Aldis Dejus
- Kristaps Dinvietis
- Māris Ābols
- Ivars Reņģe
- Sergejs Klesčinskis
MD2 (Button Blink) rezultāti
- Ansis Liepkalns
- Jānis Mažuika
- Ivars Reņģe
- Andris Žogota
- Atis Gūtmanis
- Ansis Atteka
- Igors Gulbinskis
- Edgars Ozolnieks
- Aldis Dejus
MD3 (Kursa projekta pieteikums) rezultāti
- Ivars Reņģe
- Māris Ābols
- Andris Žogota
- Edgars Ozolnieks
- Gusts Jonasts
- Māris Zinbergs
- Aldis Dejus
- Atis Gūtmanis
- Kristaps Dinvietis
- Ansis Liepkalns
- Agris Meļko
- Jānis Mažuika
- Igors Gulbinskis
- Ansis Atteka
- Andrejs Jakovļevs
Saites
TinyOS
- TinyOS portāls
- TinyOS instalācijas metodes
- TinyOS apmācības materiāli (tutorials)
- MSP430 simulators
- TOSSIM - TinyOS sensoru mezgla simulators
- TinyOS grāmata (PDF, 758KB)
- TinyOS TEP3: Coding standart
- TinyOS TEP101: Analog-to-Digital Converters (ADCs)
- TinyOS TEP114: SIDs: Source and Sink Independent Drivers
- nesC rokasgrāmata (PDF, 236KB)
- Mote-PC serial communication and SerialForwarder
TinyOS izstrādes rīki
Aparatūra
- TMote Sky sensoru mezgla "datasheet" (PDF, 780KB)
- MSP430 mikrokontroliera lietotāja rokasgrāmata. (PDF, 1.5MB)
- Arhitektūra -> Chapter 1, Fig.1-1
- 16-bitu RISC procesors -> Chapter 3
- Fleš-atmiņas organizācija -> Chapter 5
- Digitālie ievad-izvad kanāli (uz kontroliera kājām) -> Chapter 9
- Seriālie porti, USART -> Chapter 13
- ADC realizācija -> Chapter 17
- DAC realizācija -> Chapter 19