LU-BST-b: Difference between revisions

From DiLab
Jump to navigation Jump to search
Content deleted Content added
 
(164 intermediate revisions by the same user not shown)
Line 5: Line 5:
[[#Resursi | Resursi]] |
[[#Resursi | Resursi]] |
</big>
</big>
{{TodayTomorrow}} (ja ir lekcija)
[[#{{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Šodiena: {{LOCALDAY2}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]] :
[[#{{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}} | Rītdiena: {{#expr:{{LOCALDAY2}}+1}}.{{LOCALMONTH}}.{{#sub:{{LOCALYEAR}}|2}}]]
(ja ir lekcija)


{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZB043|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]
<big>'''Ievadlekcijas video''':</big> [https://youtu.be/nwPxnED1M34 No sensoriem līdz stāstam]
Line 18: Line 21:


==== Vērtējums kursā ====
==== Vērtējums kursā ====
* 10% Praktiskie darbi PD
* 30% Praktiskie darbi PD
* 30% Mājas darbi MD
* 20% Mājas darbi MD
* 20% Kontroldarbs KD
* 20% Kontroldarbs KD
* 10% Projekta nodevumi PROJ
* 30% Projekta prezentācija un demo eksāmenā EKS + PROJ

* 30% Projekta prezentācija un demo eksāmenā EKS
==== 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.

==== Vidus semestra aptauja ====
* [https://docs.google.com/document/d/1XpUX_ZRIGsMSBrZpuO7KhmUn-x2emV3B/edit Aptauja]


=Kalendārs=
=Kalendārs=
Line 33: Line 43:
|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|
====09.02.21====
====4.02.26====


|
|
Line 42: 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 48: Line 59:
|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|

====16.02.21====
====11.02.26====


|
|
Line 59: Line 71:
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi]
|
|
* '''[[#PD2 | PD2]]'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====23.02.21====
====18.02.26====


|
|
Line 70: Line 83:
|}
|}


* [https://www.dropbox.com/s/wnvsu3h2586xo55/L04_Radio_realities.pdf?raw=1 Slaidi]
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&st=mcy8s1hc&raw=1 Slaidi]
|
|

* '''[[#PD2 | PD2]]'''
* '''[[#PD3 | PD3]]'''
* '''[[#PD3 | PD3]]'''


Line 78: Line 91:
|
|


====02.03.21====
====25.02.26====


|
|
Line 86: Line 99:


Sensoru mezgla uzbūve.
Sensoru mezgla uzbūve.

[[BST-b_HW | Lekcijas pieraksti]]


* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi]
|
|
* '''[[#PD4 | PD4]]'''
* '''[[#PD4 | PD4]]'''

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;'
|
|


====09.03.21====
====4.03.26====


|
|
Line 107: Line 118:
* [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;'
|
|

====16.03.21====
====11.03.26====


|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Maršrutizācijas protokoli'''</big>
|<big>(''Attālināti'') '''KD0: 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 Maršrutizācija. Slaidi]
|
|
* '''Uzdots: [[#MD_Routing|MD_Routing]]'''
* '''Uzdots: [[#MD_Routing|MD_Routing]]'''
Line 125: Line 138:
|
|


====23.03.21====
====18.03.26====


|
|
Line 134: Line 147:
* [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;'
|
|

====30.03.21====
====25.03.26====


|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''---'''</big>
|<big>'''Lokalizācija'''</big>
|}
|}
* [http://selavo.lv/kursi/bst/09_localization.pdf Slaidi]
Brīvlaiks


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;'
|
|


====06.04.21====
====8.04.26====


|
|
{| 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.


|
|
* '''Iesniegt: [[#MD_Routing|MD_Routing]]'''
* '''Iesniegt: [[#MD_Routing|MD_Routing]]'''
* '''Uzdots: [[#MD_Proj|MD_Proj]]'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====13.04.21====
====15.04.26====

|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Lokalizācija'''</big>
|<big>'''KD1'''</big>
|}
|}
Vidus semestra kontroldarbs KD1. Pieejams eStudijās.
* [https://www.dropbox.com/s/jbllq2e4rj5it1y/L08_Localization.pdf?raw=1 Slaidi]


|
|
* '''Uzdots: [[#MD_Proj|MD_Proj]]'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====20.04.21====
====22.04.26====


|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Programmēšanas abstrakcijas'''</big>
|<big>'''Projektu tēmas'''</big>
|}
|}
Diskusija par projektu tēmām.
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]


"Use case" - par projektiem infekcijas risku mazināšanai.
|
|
* '''Kursa projektu tēmas, diskusija.'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====27.04.21====
====29.04.26====

|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''BST Testbed'''</big>
|<big>'''Datu vizualizācija un analīze'''</big>
|}
|}


Datu vizualizācija un analīze.
EDI BST Testbed apraksts un lietojums.

'''Reading/Reference''':
* [https://www.dropbox.com/s/lqfk658il6r1cgx/EDI_TestBed_CLI_intro_2020.pdf?raw=1 Prezentācija]
* Demonstrācijas video pieejams eStudijās


|
|
* '''Termiņš: [[#MD4|MD4]] Kursa projektu tēmu pieteikumi, prezentācijas.'''

|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====04.05.21====
====6.05.26====


|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Drošība un privātums'''</big>
|<big>'''Datu analīze, prakse'''</big>
|}
|}

'''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]


|
|
* '''Termiņš: [[#MD_Proj|MD_Proj]]'''

Projektu statuss


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====18.05.21====
====13.05.26====

|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Enerģijas ieguve no vides'''</big>
|<big>'''Drošība un privātums'''</big>
|}
|}
* [https://www.dropbox.com/scl/fi/5xkeow5yuaxobewhwrntr/13_security-privacy_v2.pdf?rlkey=w6papger2tw2to9l3kk7w344y&st=1sxvon1n&dl=1 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]


* [https://www.dropbox.com/s/zqjlir2zartsopu/L13_Energy_harvesting.pdf?raw=1 Slaidi]
|
|
* '''Projekta statusa ziņojumi'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|


====25.05.21====
====20.05.26====


|
|
{| width='100%' style='background-color:#ddd;'
{| width='100%' style='background-color:#ddd;'
|<big>'''Datu analīze'''</big>
|<big>'''Enerģijas ieguve no vides'''</big>
|}
|}


* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi]
'''Reading/Reference''':
* [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://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi (no Towards data science]


|
|
Line 257: Line 284:
|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|

====01.06.21====
====27.05.26====


|
|
Line 266: Line 294:
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi]
|
|

* '''* '''Termiņš: [[#MD5|MD5-P1]] - Testbed P1 uzdevums'''
* '''Projektu statusa ziņojumi.''''''
* '''Projektu statusa ziņojumi'''


|- style='vertical-align: top;'
|- style='vertical-align: top;'
|
|

====15.06.21====
====17.06.26====


|
|
Line 278: Line 307:
|}
|}


Eksāmena sākums: 08:30
Eksāmena sākums: 14:30
Eksāmena vieta: 312. aud.


Eksāmena rezultāti iesūtāmi e-studijās, tai skaitā:
Eksāmena (projekta) rezultāti iesūtāmi e-studijās kā PROJ, tai skaitā:
* Apraksts: problēma, risinājumi, jūsu risinājums, rezultāti un pieredze izstrādājot un testējot projektu. Fails PDF formātā.
* 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 par 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.
* Saite uz demonstrācijas video, ja tāds ir.


|
|
* '''* '''Termiņš: [[#MD5|MD5]] - Visi uzdevumi'''


'''Eksāmens''':
'''Eksāmens''':
* Iesniegt projekta rezultātus e-studijās.
* Iesniegt projekta rezultātus e-studijās.
* Prezentācija Zoom vai klātienē.'''
* Prezentācija 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 =
Line 319: Line 377:


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 327: Line 387:
* 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).

* 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==
==Mājas darbi==
Line 356: Line 434:
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.
* Ar ko jūsu risinājums atšķiras no Mate un kādos gadījumos tam ir priekšrocības.


===MD4===
===MD_Proj===
====Kursa projekta pieteikums====
====Kursa projekta pieteikums====


Line 372: Line 450:
=====Sīkāks apraksts=====
=====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.
Š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 būs iespējams prezentēt lekcijas laikā, lai pārrunātu ar kolēģiem.


Obligātās dokumenta nodaļas:
Obligātās dokumenta nodaļas:
Line 385: Line 464:


* '''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
* '''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!
* '''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 arī pāri sava viena semestra robežām!


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


Line 399: Line 478:
* Pieslēgties Testbed
* Pieslēgties Testbed
* 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".
* 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. Saglabāt Log failus.
* 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?
* Novērtēt rezultātus. Piemēram, vai visi sensori darbojās vienlīdz ātri?


Line 425: Line 504:


====Iesniegšana====
====Iesniegšana====
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD5.
Iesniegt rezultātus visiem uzdevumiem e-studijās kā MD_Testbed.
Tai skaitā, katram uzdevumam P''X'', kur ''X'' ir 1, 2 un 3:
Tai skaitā, katram uzdevumam P''X'', kur ''X'' ir 1, 2 un 3:


Line 432: Line 511:
* Analīzes rezultātus aprakstīt un grafikus attēlot PDF failā ar nosaukumu P''X''.pdf
* 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.
* 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_MD5_Vards_Uzvards.zip, kur, protams, lietots ''jūsu'' vārds un uzvārds.
* 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.
* 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]
** [[MansOS msp430 procesora rīku instalācija ar Docker]]

* [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]
Line 444: Line 543:
* [https://towardsdatascience.com/top-30-data-science-interview-questions-7dd9a96d3f5c Datu zinātne] - 30 intervijas jautājumi
* [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==

* [[LU-BST-b12:LC | Lekciju materiāli]]
== Aparatūra, sensori ==
* [[LU-BST-b12:E | Esejas]]
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra
* [[LU-BST-b12:PD | Praktiskie darbi]]


== Saites ==
== Saites ==
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]
* [[LU-BST:links | Bezvadu sensoru tīklu saites]]
* [https://www.sqimway.com/index.html Bezvadu komunikācijas veidi un frekvences]
* [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!)
* [https://www.ibr.cs.tu-bs.de/dus/publications/spots2006.pdf uPart mote un tās īpašības]

== Interesanti ==
* [https://www.sparkfun.com/news/6147 Hedy Lamarr and Frequency Hopping Technology] - Holivudas aktrise un FH patenta autore.

Latest revision as of 13:04, 20 May 2026

Īssaites: Kalendārs | Uzdevumi | Resursi | Šodiena: 9.11.2026. : Rītdiena: 10.11.2026. (ja ir lekcija)


Bezvadu Sensoru Tīkli (BST)

LU DF bakalaura studiju kurss DatZB043, 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.

Vidus semestra aptauja

Kalendārs

Datums Tēma, saturs Uzdevumi

4.02.26

Ievadlekcija

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

11.02.26

Bezvadu sakaru sistēmas

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

18.02.26

Radio komunikāciju realitātes

25.02.26

Iegultās sistēmas

Sensoru mezgla uzbūve.

Lekcijas pieraksti

4.03.26

MAC protokoli sensoru tīklos

11.03.26

(Attālināti) KD0: Maršrutizācijas protokoli

18.03.26

Laika sinhronizācija


25.03.26

Lokalizācija

Diskusijas par projektiem

Sensoru datu analīze, Jupyter notebook

8.04.26

Programmēšanas abstrakcijas

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

Lasāmviela:


15.04.26

KD1

Vidus semestra kontroldarbs KD1. Pieejams eStudijās.

22.04.26

Projektu tēmas

Diskusija par projektu tēmām.

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

29.04.26

Datu vizualizācija un analīze

Datu vizualizācija un analīze.

6.05.26

Datu analīze, prakse

Lasāmviela:

Projektu statuss

13.05.26

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

Lasāmviela:

  • Projekta statusa ziņojumi

20.05.26

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

27.05.26

Kopsavilkums
  • Projektu statusa ziņojumi

17.06.26

Eksāmens

Eksāmena sākums: 14:30 Eksāmena vieta: 312. aud.

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 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 būs iespējams prezentēt lekcijas laikā, lai pārrunātu ar kolēģiem.

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 arī 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

Aparatūra, sensori

Saites

Interesanti