LU-BST-b

From DiLab
Jump to: navigation, search

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 23.12.24 : Rītdiena: 24.12.24 (ja ir lekcija)


Bezvadu Sensoru Tīkli (BST)

LU DF bakalaura studiju kurss DatZ3070, meklēt eStudijās.

Kursa mērķis un uzdevumi

Iepazīties ar bezvadu sensoru tīklu sistēmu darbības un projektēšanas principiem un pielietojumiem.

  • Apgūt sensoru un iegulto sistēmu pamata tehnoloģijas un pielietojumus lietu internetā.
  • Izstrādāt arhitektūru un komunikāciju protokolus bezvadu sensoru sistēmām.
  • Programmēt iegultās sistēmas BST pielietojumam.
  • Analizēt sensoru lasījumus un izdarīt secinājumus.

Ievadlekcijas video: No sensoriem līdz stāstam


Vērtējums kursā

  • 30% Praktiskie darbi PD
  • 20% Mājas darbi MD
  • 20% Kontroldarbs KD
  • 30% Projekta prezentācija un demo eksāmenā EKS + PROJ

Mājas darbi

  • Iesniedzami e-studijās
  • Termiņš 30min pirms lekcijas sākuma, vai arī kā MD nosacījumos.
    • Kavēts termiņš nozīmē -50% no vērtējuma. Pēc nedēļas darbs var tikt nepieņemts.

Kalendārs

Datums Tēma, saturs Uzdevumi

07.02.24

Ievadlekcija

Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.

14.02.24

Bezvadu sakaru sistēmas

Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija.

21.02.24

Radio komunikāciju realitātes

28.02.24

Iegultās sistēmas

Sensoru mezgla uzbūve.

06.03.24

MAC protokoli sensoru tīklos

13.03.24

Attālināti: Maršrutizācijas protokoli

20.03.24

Laika sinhronizācija


03.04.24

Lokalizācija

Diskusijas par projektiem

Sensoru datu analīze, Jupyter notebook

10.04.24

Programmēšanas abstrakcijas

Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.

Lasāmviela:


17.04.24

KD1

Vidus semestra kontroldarbs KD1. Pieejams eStudijās.

24.04.24

Projektu tēmas

Diskusija par projektu tēmām.

"Use case" - par projektiem infekcijas risku mazināšanai.

08.05.24

Datu vizualizācija un analīze

Datu vizualizācija un analīze.

15.05.24

Datu analīze, prakse

Lasāmviela:

Projektu statuss

22.05.24

Drošība un privātums
  • Slaidi
  • Videolekcija e-studijās.

Lasāmviela:

  • Projekta statusa ziņojumi

29.05.24

Enerģijas ieguve no vides
  • Projekta statusa ziņojumi

29.05.24

Kopsavilkums
  • Projektu statusa ziņojumi

20.06.24

Eksāmens

Eksāmena sākums: 10:30

Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:

  • apraksts.pdf - apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.
  • plakāts.pdf - plakāts par projektu. Fails PDF formātā.
  • Saite uz demonstrācijas video, ja tāds ir.

Eksāmens:

  • Iesniegt projekta rezultātus e-studijās.
  • Prezentācija Zoom vai klātienē.


Uzdevumi

Praktiskie darbi

Praktiskajos darbos būs lietojama MansOS operētājsistēma.

Praktisko darbu risinājumi iesūtāmi e-studijās.

PD1

"SOS" morzes ābecē izvadīts uz motes LED

  • E-studijās iesūtīt C programmas kodu.

PD2

Hello World -> no motes uz termināla

PD3

Gaismas sensora lasījums uz termināla

PD4

Darbs grupā pa divi.

Gaismas sensora lasījums pārraidīts ar radio un saņemts uz citas motes un izvadīts uz termināla.

Risinājumam jābūt noturīgam pret citiem raidītājiem šajā pašā radio kanālā. Jāparāda tikai sava risinājuma sūtītās ziņas.

Iesūtīt pirmkodu, kā arī failu apraksts.pdf ar testu rezultātiem un to aprakstu.

PD5

Darbs grupā pa divi.

Noteikt radio raidīšanas attālumu TmoteSky motēm.

  • Izveidot raidītāja programmu un uztvērēja programmu.
  • Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.
  • Izvērtēt, kāda ietekme ir motes savstarpējai orientācijai starp raidītāju un uztvērēju.
  • Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD5.

PD6

Darbs grupā pa diviem vai trijiem studentiem.

Realizēt "Multihop" tīklu ar TmoteSky motēm.

  • Izveidot programmatūru trīs dažādu sensoru mezglu tipiem, attiecīgos pirmkoda failos:
    1. sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.
    2. relay.c - Relejs - mote, kas saņem datus no sensoriem un pārsūta tālāk citām motēm (Relejiem un Vārtejām).
    3. gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).
  • Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.
  • Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.
  • Tīklā var būt vairāki Sensoru mezgli.
  • Tīklā ir tikai viena vārteja.
  • Relejam jāignorē tās ziņas, ko tas jau ir kādreiz sūtījis. Šo var realizēt ar motes identifikatora un/vai ziņas kārtas numura iekļaušanu sūtāmajā datu pakā. Tad, piemēram, mote var ignorēt vecākas datu pakas nekā pēdējā, ko tā ir sūtījusi.
  • Vārtejai katra datu paka jānosūta pa USB tikai vienreiz. Ja tā, piemēram, saņem to pašu datu paku atkārtoti, piemēram, no cita Releja, tai tā jāignorē.
  • Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.

Mājas darbi

MD_Routing

Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām šajos slaidos

  • Aprakstīt izveidoto maršrutizācijas protokolu.
  • Aprakstīt protokola veiktspējas novērtējumu.
  • Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.
  • Risinājumu iesniegt PDF dokumentā, e-studijās.

MD1

PD5 rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.

Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:

MD3

Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā Mate lekcijas slaidos.

Aprakstā jāiekļauj:

  • Valodas komandas, arhitektūra, pieņēmumi
  • Komandu kodējums (pa bitiem), komandu tipi vai klases.
  • Divi piemēri programmām, kas kodēti jūsu valodā.
  • Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.

MD_Proj

Kursa projekta pieteikums

Īss apraksts

Izstrādāt projekta pieteikumu, kurā aprakstīt:

  • Problēmu, ko risināsiet ar bezvadu sensoru tīklu palīdzību
  • Motivāciju, kāpēc problēma jārisina
  • Esošos risinājumus šai problēmai vai līdzīgām problēmām
  • Kas nepieciešams jūsu risinājumam: tehnoloģijas, aparatūra
  • Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.

Aprakstu organizēt kā slaidus, lai ērti prezentēt. Iesniegt aprakstu PDF formātā.

Sīkāks apraksts

Šoreiz nekas nav jāprogrammē. Bet gan jāuzraksta sava kursa projekta īss apraksts kā slaidu prezentācija un jāiesniedz PDF formātā. Kursa projekta pieteikumu vajadzēs prezentēt lekcijas laikā, 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āsiet. Šeit var pietikt ar vienu vai dažiem teikumiem
  • Projekta komanda, īpaši ja nepieciešams vairāk par vienu dalībnieku. 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.

Papildus tēmas:

  • 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 Google mēroga infrastruktūru. Bet, ja tas būtu iespējams - ko ar Jūsu sensoru tīklu varētu izdarīt? T.i., padomājiet pāri sava viena semestra robežām!

MD_Testbed

Uzdevuma veikšana EDI testbed platformā (Testbed).

Pieslēguma informācija Testbed platformai tiks paziņota individuāli, lekcijā un/vai e-studijās.

Uzdevums ir ievākt informāciju no Testbed sensoriem kas atrodas uz jums izdalītajiem Testbed sensoru mezgliem pēc iespējas ilgāku laika posmu, vismaz 24 stundas, un attēlot datus grafiski. Sīkāks uzdevumu apraksts seko.

Programma P1

Programmas P1 mērķis ir pārbaudīt Testbed darbību un nolasīt log failos saglabātos datus.

  • Pieslēgties Testbed
  • Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu P1.c kas sūta skaitļus no 1 līdz 100 ar vienas sekundes intervālu uz seriālo portu. Skaitļus sūtīt kā simbolu virkni salasāmā tekstā, piemēram "17".
  • Darbināt P1 uz visiem sensoru mezgliem vienlaicīgi. Darbināt eksperimentu 10min. Saglabāt Log failus.
  • Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?

Programma P2

Programmas P2 mērķis ir ievākt sensoru datus ilgākā laika posmā.

  • Izveidot programmu P2.c kas reizi 10 sekundēs nolasa sensoru vērtības.
  • Lasāmie sensori ir: Gaismas sensors, temperatūra un gaisa mitrums.
  • Darbināt P2 24 stundas un saglabāt datus Log failos.
  • Analizēt sensoru datus. Uzzīmēt datus grafikā ar x kā laika asi un y kā mērījumu asi. Izdarīt secinājumus.

Programma P3

Programmas P3 mērķis ir novērtēt komunikāciju iespējas Testbed vidē.

  • Izveidot programmu P3_send.c, kas sūta 300 ziņas visiem citiem mezgliem ik pa 100 milisekundēm. Katrā ziņā iekļaut tās kārtas numuru. Datos iekļaut arī savu identifikatoru, lai saņemošais klients var atpazīt datu pakas tipu un mērķi.
  • Izveidot programmu P3_receive.c, kas saņem ziņas pa radio no citiem mezgliem un pieraksta RSSI vērtības atmiņas buferī. Kad visas atsūtītas, eksportēt datus uz log failu caur seriālo portu.
  • Darbināt P3_send uz viena mezgla un P3_receive uz pārējiem. Saglabāt datus log failā.
  • Atkārtot iepriekšējo eksperimentu tā, lai datu būtu sūtīti no visiem mezgliem.
  • Rezultātā jums jābūt datiem kas apraksta komunikāciju starp jebkuriem diviem mezgliem.
  • Rezultātu analīzē parādiet kā RSSI mainās laikā starp visiem mezgliem. Bez tam, izveidojiet tabulu vai grafu kurā novērtējiet komunikāciju/ saņemtā signāla stiprumu starp visiem mezgliem. Atcerieties, ka saites var būt arī asimetriskas, piemēram, mezgls A "dzird" mezglu B labāk nekā B "dzird" A.

Piezīmes:

  • Ņemiet vērā, ka var gadīties, ka dažas ziņas mezgli var nesaņemt trokšņu vai citu iemeslu dēļ. Datos tas ir jāredz. Tāpēc saglabājot RSSI jāņem vērā arī saņemtās ziņas kārtas numurs, ko tā sūtīja.
  • Saņemtos RSSI rādījumus jums jāglabā atmiņā, lai tie aizņemtu pēc iespējas mazāk vietas. Sūtot tos uz reizi pa seriālo portu jums var nepietikt laika saņemt visas ziņas. Tāpēc ieteicams datus saglabāt ar seriālo portu tikai pēc tam kad eksperiments beidzies - pēdēja ziņa saņemta (vai nav pienākusi, bet laiks pagājis).

Iesniegšana

Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed. Tai skaitā, katram uzdevumam PX, kur X ir 1, 2 un 3:

  • Katram uzdevumam P1, P2 un P3 izveidot direktoriju ar attiecīgu vārdu. Šajās direktorijās izvietot attiecīgo uzdevumu pirmkoda, datu un apraksta failus.
  • Iekopēt direktorijās visu pirmkodu un ievākto datu failus
  • Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu PX.pdf
  • Neaizmirstiet aprakstā norādīt darba autorus un ko katrs darījis, kā arī katra dalībnieka procentuālo ieguldījumu no komandas darba.
  • Visus failus arhivēt kā zip failu un saukt BST_MD_Testbed_Vards_Uzvards.zip, kur, protams, lietots jūsu vārds un uzvārds.
  • Zip fails jāiesūta e-studijās VISIEM komandas dalībniekiem.

Testbed

EDI BST testa vides piekļuve un lietošana.

Lasāmviela:

CLI klientu programmatūra:

Publikācijas

Resursi

Citu gadu materiālu arhīvs

Saites

Interesanti