Difference between revisions of "LU-BST-b"

From DiLab
Jump to: navigation, search
(MD2)
(03.04.24)
 
(219 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{NoToc}}
 
 
<big>
 
<big>
 
'''Īssaites:'''
 
'''Īssaites:'''
Line 6: Line 5:
 
[[#Resursi | Resursi]] |  
 
[[#Resursi | Resursi]] |  
 
</big>
 
</big>
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]] :  
+
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] :  
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{padright:|2|{{LOCALYEAR}} }}]]
+
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]
 
(ja ir lekcija)
 
(ja ir lekcija)
  
Line 13: Line 12:
 
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}
 
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}}
 
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]
 
* Pasniedzējs: [[User:Leo | Leo Seļāvo]]
 +
 +
====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.
 +
 +
<big>'''Ievadlekcijas video''':</big> [https://youtu.be/nwPxnED1M34 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=
 
=Kalendārs=
Line 23: Line 43:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====04.02.20====
+
====07.02.24====
  
 
|
 
|
Line 32: Line 52:
 
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.
 
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības.
  
* [https://www.dropbox.com/s/6tyfo5qjryo23ou/L01_Intro_to_WSN.pdf?raw=1 Slaidi]
+
* [https://www.dropbox.com/s/4iazzqk2ykmumsq/00_intro.pdf?raw=1 Ievads BST - slaidi]
 +
* [https://www.dropbox.com/s/u5fnw7uku1ua1sf/00_Intro_IoT.pdf?raw=1 Ievads IoT - slaidi]
 
|
 
|
 
* '''[[#PD1 | PD1]]'''
 
* '''[[#PD1 | PD1]]'''
Line 38: Line 59:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====11.02.20====
+
 
 +
====14.02.24====
  
 
|
 
|
Line 53: Line 75:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====18.02.20====
+
 
 +
====21.02.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Iegultās sistēmas'''</big>
+
|<big>'''Radio komunikāciju realitātes'''</big>
 
|}
 
|}
  
Sensoru mezgla uzbūve.
+
* [https://www.dropbox.com/s/wnvsu3h2586xo55/L04_Radio_realities.pdf?raw=1 Slaidi]
 +
|
  
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]
 
|
 
 
* '''[[#PD3 | PD3]]'''
 
* '''[[#PD3 | PD3]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====25.02.20====
+
 
 +
====28.02.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Radio komunikāciju realitātes'''</big>
+
|<big>'''Iegultās sistēmas'''</big>
 
|}
 
|}
  
* [https://www.dropbox.com/s/wnvsu3h2586xo55/L04_Radio_realities.pdf?raw=1 Slaidi]
+
Sensoru mezgla uzbūve.
 +
 
 +
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]
 
|
 
|
 
* '''[[#PD4 | PD4]]'''
 
* '''[[#PD4 | PD4]]'''
Line 81: Line 106:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====03.03.20====
+
 
 +
====06.03.24====
  
 
|
 
|
Line 90: Line 116:
 
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]
 
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi]
 
|
 
|
 +
 
* '''[[#PD5 | PD5]]'''
 
* '''[[#PD5 | PD5]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====10.03.20====
+
 
 +
====13.03.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Maršrutizācijas protokoli'''</big>
+
|''Attālināti'':  <big>'''Maršrutizācijas protokoli'''</big>
 
|}
 
|}
  
 
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Slaidi]
 
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Slaidi]
 
|
 
|
* '''Uzdots: [[#MD1|MD1]]'''
+
* '''Uzdots: [[#MD_Routing|MD_Routing]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====17.03.20====
+
 
 +
====20.03.24====
  
 
|
 
|
Line 116: Line 145:
 
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]
 
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi]
 
|
 
|
 +
 +
 +
* '''[[#PD6 | PD6 Multihop]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====24.03.20====
+
 
 +
====03.04.24====
  
 
|
 
|
Line 125: Line 158:
 
|<big>'''Lokalizācija'''</big>
 
|<big>'''Lokalizācija'''</big>
 
|}
 
|}
 +
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]
  
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]
+
Diskusijas par projektiem
 
|
 
|
 +
Sensoru datu analīze, Jupyter notebook
 +
* [https://jupyter.org Jupyter]
 +
* [https://anaconda.org/anaconda/python Anaconda Python]
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====31.03.20====
+
 
 +
====10.04.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''KD1'''</big>
+
|<big>'''Programmēšanas abstrakcijas'''</big>
 
|}
 
|}
 +
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.
 +
 +
'''Lasāmviela''':
 +
* [https://www.dropbox.com/s/xwnr2aterigjp7q/05_component-programming.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]
 +
* [https://www.dropbox.com/s/jalyp6jxv7b2ja6/12_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]
  
Vidus semestra kontroldarbs KD1.
 
  
 
|
 
|
* '''Termiņš: [[#MD1 | MD1]] (PD5 rezultāti)'''
+
* '''Iesniegt: [[#MD_Routing|MD_Routing]]'''
 +
* '''Uzdots: [[#MD_Proj|MD_Proj]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====14.04.20====
+
 
 +
====17.04.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Programmēšanas abstrakcijas'''</big>
+
|<big>'''KD1'''</big>
 
|}
 
|}
 
+
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL.
 
 
 
'''Lasāmviela''':
 
* [https://www.dropbox.com/s/k5ft2nee0g73kms/L09a_Tinyos.pdf?raw=1 Komponenšu orientēta programmēšana, TinyOS]
 
* [https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 Programmēšanas abstrakcijas BST, Mate]
 
  
 
|
 
|
* '''Termiņš: [[#MD2|MD2]]'''
 
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====21.04.20====
+
 
 +
====24.04.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Datu apstrāde BST'''</big>
+
|<big>'''Projektu tēmas'''</big>
 
|}
 
|}
 
+
Diskusija par projektu tēmām.
Vieslekcija: Sensoru tīklu simulācija ar Matlab. Lasa Rolands Šāvelis no EDI.
 
 
 
 
|
 
|
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====28.04.20====
 
  
 +
====08.05.24====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Drošība un privātums'''</big>
+
|<big>'''Datu analīze'''</big>
 
|}
 
|}
  
Kursa projektu tēmas, diskusija
+
'''Lasāmviela''':
 +
* [https://www.anaconda.com/ Anaconda platforma] datu zinātnei.
 +
* [https://jupyter.org/ Jupyter Notebook] - vide mazām programmām Python un datu analīzei.
 +
* [https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/ Jupyter triki]
 +
 
 +
* [https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6480280/ Wireless Sensor Networks for Big Data Systems]
 +
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi (no Towards data science]
  
 
|
 
|
 
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====05.05.20====
+
 
 +
====15.05.24====
  
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Virtuālās mašīnas'''</big>
+
|<big>'''Diskusija'''</big>
 
|}
 
|}
 
+
Projektu statuss
 
|
 
|
* '''Kursa projektu tēmu pieteikumi, prezentācijas.'''
+
* '''Termiņš: [[#MD_Proj|MD_Proj]]'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====12.05.20====
 
  
 +
====22.05.24====
 
|
 
|
 
{| width='100%' style='background-color:#ddd;'
 
{| width='100%' style='background-color:#ddd;'
|<big>'''Semantika un sensoru tīkli'''</big>
+
|<big>'''Drošība un privātums'''</big>
 
|}
 
|}
 +
* [https://www.dropbox.com/s/9lu6isbcm3s7mfg/13_security-privacy.pdf?dl=0 Slaidi]
 +
* Videolekcija e-studijās.
 +
 +
'''Lasāmviela''':
 +
* [https://cert.lv/lv CERT.lv] - IT drošības incidentu novēršanas institūcija Latvijā.
 +
* [https://www.thalesgroup.com/en/markets/digital-identity-and-security/iot/magazine/internet-threats IoT Security Issues in 2021: a Business Perspective]
  
 
|
 
|
Line 212: Line 261:
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====19.05.20====
+
 
 +
====29.05.24====
  
 
|
 
|
Line 219: Line 269:
 
|}
 
|}
  
* [https://www.dropbox.com/s/zqjlir2zartsopu/L13_Energy_harvesting.pdf?raw=1 Slaidi]
+
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]
 +
 
 
|
 
|
 +
* '''Projekta statusa ziņojumi'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====26.05.20====
+
 
 +
====29.05.24====
  
 
|
 
|
Line 233: Line 286:
 
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]
 
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]
 
|
 
|
* '''Projektu statusa ziņojumi.'''
+
 
 +
* '''Projektu statusa ziņojumi.''''''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 
|
 
|
====xx.xx.xx====
+
 
 +
====xx.06.24====
  
 
|
 
|
Line 243: Line 298:
 
|<big>'''Eksāmens'''</big>
 
|<big>'''Eksāmens'''</big>
 
|}
 
|}
 +
 +
Eksāmena sākums: xx:xx
 +
 +
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ē.'''
  
 
|- style='vertical-align: top;'
 
|- style='vertical-align: top;'
 +
|
 
|}
 
|}
 +
 +
<!-- TESTBED
 +
=====================================
 +
|
 +
{| width='100%' style='background-color:#ddd;'
 +
|<big>'''BST Testbed'''</big>
 +
|}
 +
EDI BST [[#Testbed | Testbed apraksts un lietojums]].
 +
|
 +
* '''Uzdots: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums'''
 +
|- style='vertical-align: top;'
 +
|
 +
 +
=====================================
 +
|
 +
{| width='100%' style='background-color:#ddd;'
 +
|<big>'''Testbed'''</big>
 +
|}
 +
Testbed prakse
 +
|
 +
|- style='vertical-align: top;'
 +
|
 +
=====================================
 +
* Termiņš: [https://doodle.com/poll/627utpttbvqiypue?utm_source=poll&utm_medium=link Pieteikt grupas MD_Testbed uzdevumiem]
 +
* '''Termiņš: [[#MD_Testbed|MD_Testbed-P1]] - Testbed P1 uzdevums'''
 +
* '''Termiņš: [[#MD_Testbed|MD_Testbed]] - Visi uzdevumi'''
 +
 +
 +
-->
  
 
= Uzdevumi =
 
= Uzdevumi =
 
== Praktiskie darbi ==
 
== Praktiskie darbi ==
Praktiskajos darbos būs lietojama [https://github.com/IECS/MansOS MansOS operētājsistēma].
+
Praktiskajos darbos būs lietojama [https://github.com/edi-riga/MansOS/wiki MansOS operētājsistēma].
 +
* Īss apraksts un pamācības pieejamas [https://github.com/edi-riga/MansOS/wiki MansOS wiki].
 +
<!--https://github.com/IECS/MansOS-->
 +
Praktisko darbu risinājumi iesūtāmi e-studijās.
  
 
===PD1===
 
===PD1===
 
"SOS" morzes ābecē izvadīts uz motes LED
 
"SOS" morzes ābecē izvadīts uz motes LED
 +
* E-studijās iesūtīt C programmas kodu.
 +
 
===PD2===
 
===PD2===
 
Hello World -> no motes uz termināla
 
Hello World -> no motes uz termināla
 +
 
===PD3===
 
===PD3===
 
Gaismas sensora lasījums uz termināla
 
Gaismas sensora lasījums uz termināla
 +
 
===PD4===
 
===PD4===
 
Darbs grupā pa divi.
 
Darbs grupā pa divi.
Line 265: Line 368:
  
 
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.
 
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===
 
===PD5===
Line 273: Line 378:
 
* Pārvietot motes dažādos attālumos un novērtēt, cik datu pakas tiek saņemtas.
 
* 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.
 
* 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ā, e-studijās, kā MD1.
+
* 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:
 +
*# sensor.c - Sensors - nolasa gaismas sensora vērtību un nosūta pa radio Releja tipa motei.
 +
*# 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).
 +
*# gateway.c - Vārteja - mote, kas saņem radio datus un pārsūta tos uz seriālo portu (USB).
  
==Mājas darbi==
+
* Katram mezglam (motei) ir unikāls ID. Izdomāt, kā to panākt.
===MD1===
+
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi.
[[#PD5 | PD5]] rezultāti - Izvērtēt sensoru mezglu komunikāciju veiktspēju atkarībā no distances.
+
* 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ē.
  
Gadījumā, ja jums neizdevās savākt savus datus, tad analīzei var lietot šos, ar attiecīgu atsauci:
+
* Aprakstīt rezultātus un iesniegt PDF dokumentā apraksts.pdf, e-studijās, kā PD6. Iesniegt arī programmatūras kodu.
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)
 
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)
 
  
===MD2===
+
==Mājas darbi==
 +
===MD_Routing===
 
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām  
 
Izstrādāt un aprakstīt maršrutizācijas algoritmu, kas atbilst prasībām  
 
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]
 
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 šajos slaidos]
Line 290: Line 406:
 
* Aprakstīt protokola veiktspējas novērtējumu.
 
* Aprakstīt protokola veiktspējas novērtējumu.
 
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.
 
* Sniegt piemēru, kā tas darbojas slaidos dotajā situācijā.
* Risinājumu iesniegt PDF dokumentā, e-studijās, kā MD2.
+
* Risinājumu iesniegt PDF dokumentā, e-studijās.
 +
 
 +
===MD1===
 +
[[#PD5 | 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:
 +
* [https://www.dropbox.com/s/gd434p1wkgcq9gz/merijumi_veldre_kniss.xlsx?dl=1 | Dati1 (excel)] (Rainers, Juris)
 +
* [https://www.dropbox.com/s/h679d2y84svixs1/BST_PD05_DATA_Audris.zip?dl=1 | Dati2 (zip)] (Audris, Madara)
  
 
===MD3===
 
===MD3===
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā Mate lekcijas slaidos.  
+
Izstrādāt un aprakstīt virtuālas mašīnas valodu bezvadu sensoru mezgliem, līdzīgi kā  
 +
[https://www.dropbox.com/s/pw8hl4zbsbgek65/L09b_prog-abstractions.pdf?raw=1 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.
  
Aprakstīt:
+
===MD_Proj===
* Valodas komandas
+
====Kursa projekta pieteikums====
* Komandu kodējumu (pa bitiem)
 
* Dot divus piemērus programmām, kas kodētas jūsu valodā.
 
  
===MD4===
+
=====Īss apraksts=====
Projekta pieteikums.
 
  
 
Izstrādāt projekta pieteikumu, kurā aprakstīt:
 
Izstrādāt projekta pieteikumu, kurā aprakstīt:
Line 310: Line 437:
 
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.
 
* Termiņi katrai nedēļai: kas tiks veikts līdz šiem termiņiem projekta izstrādes gaitā.
  
Iesniegt aprakstu PDF formātā.
+
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.
  
===MD5===
+
* Pieslēgties Testbed
Uzdevuma veikšana EDI testbed platformā.
+
* Pārbaudīt jums izdalīto sensoru mezglu darbību izveidojot vienkāršu programmu <code>P1.c</code> 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 <code>P2.c</code> 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 <code>P3_send.c</code>, 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 <code>P3_receive.c</code>, 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 P''X'', 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 P''X''.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''':
 +
* [https://docs.google.com/presentation/d/1Qy32wqh3W4ki808hN_FUTMHURcO1F6St3nwovtZLLNQ/edit?usp=sharing Lietošanas pamācība]
 +
* [https://www.edi.lv/testbed EDI Testbed] portāls
 +
* Testbed CLI komandu [https://www.dropbox.com/s/gse78nkox8eo523/EDI%20TestBed%20CLI%20cheat%20sheet%202021.pdf?raw=1 Cheatsheet]
 +
* [https://www.dropbox.com/s/efsx8380cy4y366/EDI_TestBed_CLI_intro_2021.pdf?raw=1 EDI Testbed Prezentācija]
 +
* Demonstrācijas video pieejams eStudijās
 +
 
 +
'''CLI klientu programmatūra''':
 +
** [https://makonis.edi.lv/s/PtomG54z8i7ozJp Linux]
 +
** [https://makonis.edi.lv/s/bBAzoknjX23WfPS Windows]
 +
 
 +
Publikācijas
 +
* [https://www.researchgate.net/publication/236735509_Wireless_Sensor_Network_Testbeds_A_Survey Wireless Sensor Network Testbeds: A Survey]
  
 
= Resursi =
 
= Resursi =
  
* [https://github.com/IECS/MansOS '''MansOS''' operētājsistēma]
+
* [https://github.com/edi-riga/MansOS/wiki '''MansOS''' operētājsistēma]
 
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]
 
* [http://www.catb.org/esr/structure-packing/ The Lost Art of Structure Packing]
 
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]
 
* Grāmata: [https://ptolemy.berkeley.edu/books/leeseshia/ Introduction to Embedded Systems - A Cyber-Physical Systems Approach]
 +
* [[LU::poster-howto | Ieteikumi plakātu prezentāciju veidošanā]]
 +
 +
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi
 +
 +
* [https://google.github.io/mediapipe/ Mediapipe] - attēlu apsrādes bibliotēka
  
 
== Citu gadu materiālu arhīvs==
 
== Citu gadu materiālu arhīvs==
Line 330: Line 542:
 
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.
 
* [http://ss64.com/bash Linux komandu rokasgrāmata]. Komandas, kas mums būs noderīgas: cd, ls, cp, mv, mkdir, df, echo, export, find, grep, less, nano, make, man, ping, rm, ifconfig.
 
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)
 
* [[LU-BST:SwissQM | Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem]] (Paldies Kārlim Visendorfam par aprakstu!)
 +
 +
== Interesanti ==
 +
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.

Latest revision as of 14:20, 21 March 2024

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 28.03.24 : Rītdiena: 29.03.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.

08.05.24

Datu analīze

Lasāmviela:

15.05.24

Diskusija

Projektu statuss

22.05.24

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

Lasāmviela:

29.05.24

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

29.05.24

Kopsavilkums
  • Projektu statusa ziņojumi.'

xx.06.24

Eksāmens

Eksāmena sākums: xx:xx

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