LU-BST-b: Difference between revisions
No edit summary |
|||
| (283 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<big> |
|||
{{NoToc}} |
|||
'''Īssaites:''' |
|||
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZ3070|2DAT3253}} |
|||
[[#Kalendārs | Kalendārs]] | |
|||
[[#Uzdevumi | Uzdevumi]] | |
|||
[[#Resursi | Resursi]] | |
|||
</big> |
|||
{{TodayTomorrow}} (ja ir lekcija) |
|||
{{LUDFKurss|Bezvadu Sensoru Tīkli|BST|DatZB043|2DAT3253}} |
|||
* Pasniedzējs: [[User:Leo | Leo Seļāvo]] |
* Pasniedzējs: [[User:Leo | Leo Seļāvo]] |
||
====Kursa mērķis un uzdevumi==== |
|||
== Kalendārs == |
|||
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] |
|||
Kalendārs nav pilnīgs, termiņi un uzdevumi atrodami estudijās. |
|||
{| border=1 cellspacing=0 cellpadding=4 |
|||
==== 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 ==== |
|||
* [https://docs.google.com/document/d/1XpUX_ZRIGsMSBrZpuO7KhmUn-x2emV3B/edit Aptauja] |
|||
=Kalendārs= |
|||
{| border=1 cellspacing=0 cellpadding=4 style = 'border-color: #ddd; background-color: #fdfff2;' |
|||
|- |
|- |
||
! Datums |
|||
! Nedēļas datumi |
|||
! |
! Tēma, saturs |
||
! Uzdevumi |
! Uzdevumi |
||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== |
====4.02.26==== |
||
| Ievadlekcija. Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības. |
|||
| |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
| |
|||
|<big>'''Ievadlekcija'''</big> |
|||
==== 11.02.2020.==== |
|||
|} |
|||
| Sensoru tīkls vides pētniecībai, piemērs. |
|||
| |
|||
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības. |
|||
|- |
|||
| |
|||
==== 18.02.2020.==== |
|||
| Bezvadu sakaru sistēmas. Radio realitātes. Tipiskā sensoru mezglu uzbūve. |
|||
| |
|||
* [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] |
|||
| |
|||
| |
|||
==== 25.02.2020.==== |
|||
* '''[[#PD1 | PD1]]''' |
|||
| Radio komunikāciju realitātes. |
|||
| |
|||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== 03.03.2020.==== |
|||
| MAC protokoli sensoru tīklos. |
|||
| |
|||
====11.02.26==== |
|||
|- |
|||
| |
|||
==== 10.03.2020.==== |
|||
| Maršrutizācijas protokoli. |
|||
| |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
| |
|||
|<big>'''Bezvadu sakaru sistēmas'''</big> |
|||
==== 17.03.2020.==== |
|||
|} |
|||
| Laika sinhronizācija. |
|||
| |
|||
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija. |
|||
|- |
|||
| |
|||
==== 24.03.2020.==== |
|||
| Lokalizācija. |
|||
| |
|||
* [https://www.dropbox.com/s/jujvdabdj03szif/L02_Wireless_systems.pdf?raw=1 Slaidi] |
|||
|- |
|||
| |
| |
||
* '''[[#PD2 | PD2]]''' |
|||
==== 31.03.2020.==== |
|||
| '''Vidus semestra kontroldarbs KD1.''' |
|||
| |
|||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== 21.04.2020.==== |
|||
| Programmēšanas abstrakcijas. MansOS un SEAL. |
|||
| |
|||
====18.02.26==== |
|||
|- |
|||
| |
|||
==== 28.04.2020.==== |
|||
| Praktiskie darbi |
|||
| |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
| |
|||
|<big>'''Radio komunikāciju realitātes'''</big> |
|||
==== 05.05.2020.==== |
|||
|} |
|||
| Drošība un privātums. |
|||
| Kursa projektu tēmu prezentācijas, diskusija. |
|||
* [https://www.dropbox.com/scl/fi/fgqnlfpo7xurz5mm5atwj/03_radio-realities.pdf?rlkey=x54t0itxkbyuu0705ejoi3vry&st=mcy8s1hc&raw=1 Slaidi] |
|||
|- |
|||
| |
|||
==== 12.05.2020.==== |
|||
| Virtuālās mašīnas. |
|||
| |
| |
||
* '''[[#PD3 | PD3]]''' |
|||
|- |
|||
| |
|||
==== 19.05.2020.==== |
|||
| Semantika un sensoru tīkli. |
|||
| |
|||
|- style='vertical-align: top;' |
|||
|- |
|||
| |
| |
||
==== 26.05.2020.==== |
|||
====25.02.26==== |
|||
| Enerģijas ieguve no vides. |
|||
| |
|||
|- |
|||
| |
| |
||
{| width='100%' style='background-color:#ddd;' |
|||
==== xx.xx.2020.==== |
|||
|<big>'''Iegultās sistēmas'''</big> |
|||
| Eksāmens |
|||
| |
|||
|- |
|||
|} |
|} |
||
Sensoru mezgla uzbūve. |
|||
== Prasības == |
|||
Lai kursā iegūtu sekmīgi vērtējumu, nepieciešams: |
|||
# Sekmīgi izpildīt visus uzdotos praktiskos darbus. |
|||
# Sekmīgi uzrakstīt vismaz 50% no visām kursā uzdotajām esejām par lekcijās apskatītajām tēmām. |
|||
# Sekmīgi izpildīt kontroldarbu un eksāmenu. |
|||
# Sagatavot un prezentēt referātu par grupas (1-3 cilvēki) projekta ideju par bezvadu sensoru tīklu pielietojumu. Prezentācijas ilgums ir piecas minūtes. Sagatavot plakātu kas ilustrē kursa projektu. |
|||
# Apmeklēt vismaz 50% no visām nodarbībām. Eksāmenos tiks iekļauta viela par ko runāts lekcijās un kas, iespējams, nav pieejama obligātajā literatūrā. |
|||
[[BST-b_HW | Lekcijas pieraksti]] |
|||
== Vērtēšana == |
|||
Kursa galējais vērtējums sastāv no sekojošām komponentēm: |
|||
* 10% - dalība lekcijās un diskusijās |
|||
* 20% - praktiskie darbi |
|||
* 20% - esejas |
|||
* 20% - kontroldarbs semestra vidū |
|||
* 30% - kursa projekts - gala eksāmens |
|||
* [https://www.dropbox.com/s/kzcd4mr8mirh2i9/L03_motes.pdf?raw=1 Slaidi] |
|||
100% atbilst vērtējumam 9 balles (teicami). |
|||
| |
|||
* '''[[#PD4 | PD4]]''' |
|||
|- style='vertical-align: top;' |
|||
'''Neobligāta i-iespēja:''' |
|||
| |
|||
====4.03.26==== |
|||
Atzīmes 10 (izcili) iegūšanai jāizpilda sekojošas papildus prasības: |
|||
* jānokārto visi pārējie prasību punkti, iegūstot vērtējumu ne zemāku par 95%; |
|||
* kursa projekts jārealizē līdz praktiskai sensoru tīkla demonstrācijai; |
|||
* visi pārbaudes darbi (esejas, praktiskie darbi, kontroldarbi, kursa projekts) nokārtoti laicīgi |
|||
* sekmīgi uzrakstītas visas (100%) kursā uzdotās esejas. |
|||
| |
|||
=== Novēloti iesūtīti darbi === |
|||
{| width='100%' style='background-color:#ddd;' |
|||
Praktiskie darbi, esejas un kontroldarbi ir obligāti jānokārto, lai saņemtu sekmīgu vērtējumu kursā. Tai pat laikā ir skaidrs, ka dažādu apstākļu dēļ, var rasties situācijas, kad iesūtīt noteiktajā termiņā nav iespējams. Tāpēc ir iespējama atkārtota/novēlota darbu iesūtīšana (kontroldarba/eksāmena pārrakstīšana). Šādā gadījumā tiek samazināts iegūtais vērtējums par konkrēto darbu. |
|||
|<big>'''MAC protokoli sensoru tīklos'''</big> |
|||
|} |
|||
* [https://www.dropbox.com/s/le4f7sywa528lnb/L05_Harvard_mac.pdf?raw=1 Slaidi] |
|||
Soda punkti par novēloti iesūtītu darbu: |
|||
| |
|||
* nokavējot ne vairāk kā nedēļu: -50% |
|||
* nokavējot 1 vai vairāk nedēļas: pasniedzējs darbu var nepieņemt |
|||
* '''[[#PD5 | PD5]]''' |
|||
Kontroldarbu vai citu uzdevumu atkātota iesniegšana nav paredzēta. |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====11.03.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>(''Attālināti'') '''KD0: Maršrutizācijas protokoli'''</big> |
|||
|} |
|||
* [https://www.dropbox.com/s/u1y7n2www1y7vgu/L06_Routing.pdf?raw=1 Maršrutizācija. Slaidi] |
|||
| |
|||
* '''Uzdots: [[#MD_Routing|MD_Routing]]''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====18.03.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Laika sinhronizācija'''</big> |
|||
|} |
|||
* [https://www.dropbox.com/s/8dmwkihq3gq4gls/L07_Timesync.pdf?raw=1 Slaidi] |
|||
| |
|||
* '''[[#PD6 | PD6 Multihop]]''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====25.03.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Lokalizācija'''</big> |
|||
|} |
|||
* [http://selavo.lv/kursi/bst/09_localization.pdf 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;' |
|||
| |
|||
====8.04.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<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] |
|||
| |
|||
* '''Iesniegt: [[#MD_Routing|MD_Routing]]''' |
|||
* '''Uzdots: [[#MD_Proj|MD_Proj]]''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====15.04.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''KD1'''</big> |
|||
|} |
|||
Vidus semestra kontroldarbs KD1. Pieejams eStudijās. |
|||
| |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====22.04.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Projektu tēmas'''</big> |
|||
|} |
|||
Diskusija par projektu tēmām. |
|||
"Use case" - par projektiem infekcijas risku mazināšanai. |
|||
| |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====29.04.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Datu vizualizācija un analīze'''</big> |
|||
|} |
|||
Datu vizualizācija un analīze. |
|||
| |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====6.05.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<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;' |
|||
| |
|||
====13.05.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<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] |
|||
| |
|||
* '''Projekta statusa ziņojumi''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====20.05.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Enerģijas ieguve no vides'''</big> |
|||
|} |
|||
* [https://www.dropbox.com/s/lro0ncpw570neej/15_energy-harvesting.pdf?raw=1 Slaidi] |
|||
| |
|||
* '''Projekta statusa ziņojumi''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====27.05.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Kopsavilkums'''</big> |
|||
|} |
|||
* [https://www.dropbox.com/s/qf5yd5toylks4zf/L99_Summary.pdf?raw=1 Slaidi] |
|||
| |
|||
* '''Projektu statusa ziņojumi''' |
|||
|- style='vertical-align: top;' |
|||
| |
|||
====17.06.26==== |
|||
| |
|||
{| width='100%' style='background-color:#ddd;' |
|||
|<big>'''Eksāmens'''</big> |
|||
|} |
|||
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ē.''' |
|||
|- 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/ |
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 161: | 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 166: | Line 384: | ||
Noteikt radio raidīšanas attālumu TmoteSky motēm. |
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=== |
|||
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. |
|||
Darbs grupā pa diviem vai trijiem studentiem. |
|||
Realizēt "Multihop" tīklu ar TmoteSky motēm. |
|||
== Materiāli == |
|||
* 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. |
|||
* [[LU-BST-b12:LC | Lekciju materiāli]] - Arhīvs citiem gadiem |
|||
* Tīklā jābūt vismaz vienam relejam, bet var būt vairāki, lai realizētu garāku komunikācijas ķēdi. |
|||
* [[LU-BST-b12:E | Esejas]] - Arhīvs citiem gadiem |
|||
* Tīklā var būt vairāki Sensoru mezgli. |
|||
* [[LU-BST-b12:PD | Praktiskie darbi]] - Arhīvs citiem gadiem |
|||
* 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 |
|||
[https://www.dropbox.com/s/yakqcy9e8322tbf/BST_routing_MD.pdf?raw=1 š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 | 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=== |
|||
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. |
|||
===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 <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 = |
|||
* [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] |
|||
* 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 |
|||
== Aparatūra, sensori == |
|||
* [[DiLab_resursi]] - LU pieejamie sensori un aparatūra |
|||
== 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: 10.11.2026. : Rītdiena: 11.11.2026. (ja ir lekcija)
Bezvadu Sensoru Tīkli (BST)
LU DF bakalaura studiju kurss DatZB043, meklēt eStudijās.
- Pasniedzējs: 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.
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 |
Bezvadu sensoru tīklu pielietojumi un pamatproblēmas. BST kursa forma un prasības. |
||
11.02.26 |
Radio spektrs un ISM josla. Komunikācijas protokoli un modulācija. |
||
18.02.26 |
|
||
25.02.26 |
Sensoru mezgla uzbūve. |
||
4.03.26 |
|
||
11.03.26 |
|
| |
18.03.26 |
|
| |
25.03.26 |
Diskusijas par projektiem |
Sensoru datu analīze, Jupyter notebook | |
8.04.26 |
Komponenšu orientēta programmēšana. Skriptēta un enkapsulēta programmēšana. TinyOS, MansOS un SEAL. Lasāmviela:
|
| |
15.04.26 |
Vidus semestra kontroldarbs KD1. Pieejams eStudijās. |
||
22.04.26 |
Diskusija par projektu tēmām. "Use case" - par projektiem infekcijas risku mazināšanai. |
||
29.04.26 |
Datu vizualizācija un analīze. |
||
6.05.26 |
Lasāmviela:
|
Projektu statuss | |
13.05.26 |
Lasāmviela:
|
| |
20.05.26 |
|
| |
27.05.26 |
|
| |
17.06.26 |
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ā:
|
Eksāmens:
| |
Uzdevumi
Praktiskie darbi
Praktiskajos darbos būs lietojama MansOS operētājsistēma.
- Īss apraksts un pamācības pieejamas MansOS wiki.
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:
- 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
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:
- | Dati1 (excel) (Rainers, Juris)
- | Dati2 (zip) (Audris, Madara)
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.ckas 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.ckas 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:
- Lietošanas pamācība
- EDI Testbed portāls
- Testbed CLI komandu Cheatsheet
- EDI Testbed Prezentācija
- Demonstrācijas video pieejams eStudijās
CLI klientu programmatūra:
Publikācijas
Resursi
- The Lost Art of Structure Packing
- Grāmata: Introduction to Embedded Systems - A Cyber-Physical Systems Approach
- Ieteikumi plakātu prezentāciju veidošanā
- Datu zinātne - 30 intervijas jautājumi
- Mediapipe - attēlu apsrādes bibliotēka
Aparatūra, sensori
- DiLab_resursi - LU pieejamie sensori un aparatūra
Saites
- Bezvadu sensoru tīklu saites
- Bezvadu komunikācijas veidi un frekvences
- 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.
- Kā piedarbināt SwissQM virtuālo mašīnu sensoru tīkliem (Paldies Kārlim Visendorfam par aprakstu!)
- uPart mote un tās īpašības
Interesanti
- Hedy Lamarr and Frequency Hopping Technology - Holivudas aktrise un FH patenta autore.