• Rezultati Niso Bili Najdeni

Testno omreˇ zje heterogenih brezˇ ziˇ cnih senzorskih naprav (ˇstiri sto-

Arhitekturo testnih omreˇzji WSN delimo v tri skupine glede na njihovo: hrb-tenico, hierarhijo in sistem za upravljanje [10]. Vrsta povezav med vozliˇsˇci (hrb-tenica) loˇci med brezˇziˇcnimi, oˇziˇcenimi in hibridnimi testnimi omreˇzji. Oˇziˇcena omreˇzja lahko za komunikacijo z uporabnikom in napajanje naprav uporabljajo povezavo USB, ethernet, serijsko povezavo in ostale [10]. Primer takˇsne je testno omreˇzje ORBIT [11], kjer naprave med seboj komunicirajo preko gigabitne ether-net povezave. V testnem omreˇzju TWIST so platforme TelosB preko povezave

1.2 Testna omreˇzja brezˇziˇcnih senzorskih naprav 5

USB povezane na usmerjevalnik [12]. Pomanjkljivost oˇziˇcenih omreˇzij je odvisnost poloˇzaja naprav od statiˇcnega prikljuˇcka, kar onemogoˇca izvajanje eksperimentov z mobilnimi vozliˇsˇci. Temu izzivu so kos brezˇziˇcna testna omreˇzja, katerih naj-pogosteje uporabljena tehnologija za komunikacijo med vozliˇsˇci je IEEE 802.11 WLAN (v nadaljevanju Wi-Fi) [10], lahko pa uporabljajo tudi druge tehnologije, kot na primer Bluetooth [13]. Problem mobilnosti v brezˇziˇcnih testnih omreˇzjih predstavlja napajanje naprav, kar lahko reˇsimo z uporabo baterij ali sonˇcne ener-gije, kot so to naredili v testnem omreˇzju Trio [14].

Glede na hierarhijo loˇcimo med: dvostopenjskimi, tristopenjskimi ali ˇstiristopenjskimi arhitekturami testnega omreˇzja [10]. Vsako testno omreˇzje ima vsaj dve stopnji. Spodnjo predstavljajo eksperimentalne naprave, zgornjo opazovalec za interakcijo z uporabnikom (slika 1.1). Primer tovrstne arhitek-ture predstavlja Monarch Project - eno izmed prvih testnih omreˇzij z uporabo brezˇziˇcnih senzorskih naprav. ˇSest vozliˇsˇc na premikajoˇcih se vozilih je komunici-ralo z dvema pritrjenima napravama, kateri sta meritve posredovali bazni postaji (uporabniku) [10]. Tri stopenjska arhitektura je podobna dvo stopenjski, s tem da je opazovalec zmogljivejˇsa raˇcunalniˇska naprava, pogosto imenovana streˇznik za upravljanje (ang. management server). Poleg zbiranja meritev je njegova na-loga tudi upravljanje z vozliˇsˇci [10]. Primer takˇsne arhitekture predstavlja testno omreˇzje MoteLab, kjer streˇznik preko ethernet povezave upravlja z senzorskimi napravami MICAz [15]. Arhitekture ˇcetrte stopnje uporabljajo heterogena vo-zliˇsˇca. Tovrstna reˇsitev je bolj univerzalna in omogoˇca laˇzjo razˇsiritev testnega omreˇzja z novimi tehnologijami, saj lahko na isto infrastrukturno napravo prepro-sto priklopimo novo eksperimentalno napravo. Hkrati predstavlja bolj stabilen sistem, saj se s tem izognemo teˇzavam, ki nastanejo na eksperimentalnih napra-vah, ki so pogosto nagnjene k pojavitvi napak [16]. Primer takˇsne arhitekture uporablja testno omreˇzje SANDbed [17]. V njem lahko infrastrukturne naprave SNMD upravljajo in reprogramirajo eksperimentalne naprave ter nadzirajo nji-hovo porabo elektriˇcne energije. V testnem omreˇzju Kansei enojni raˇcunalnik Stargate kot infrastrukturna naprava upravlja z eksperimentalnimi napravami XSM, s katerimi se izvaja eksperimente v 433 MHz frekvenˇcnem obmoˇcju [18].

Podobno je vozliˇsˇce v testnem omreˇzju LOG-a-TEC sestavljeno iz infrastrukturne naprave LGTC in eksperimentalne naprave VESNA [16], podrobneje predsta-vljena v nadaljevanju.

1.3 Upravljanje s testnimi omreˇ zji

Kot eksperimentalno orodje mora biti testno omreˇzje tako fleksibilno za izvedbo najrazliˇcnejˇsih eksperimentov kot tudi enostavno za uporabo. Predstavljeno mora biti kot okolje, ki omogoˇca kontrolirano izvedbo eksperimentov za analizo podat-kov in algoritmov. Osnovne zahteve, ki so zaˇzelene pri vsakem testnem omreˇzju, so:

• Uvajanje sprememb v arhitekturo testnega omreˇzja mora biti preprosto.

Hiter razvoj radijskih sprejemnikov in senzorskih naprav zahteva enostavno zamenjavo in nadgradnjo vozliˇsˇc.

• Radijske motnje v okolju imajo velik vpliv na brezˇziˇcna omreˇzja, kar mora biti upoˇstevano pri postavitvi naprav v testnem omreˇzju. Za testiranje radijskih tehnologij v realnem okolju se priˇcakuje, da bo testno omreˇzje postavljeno v dejanskem realnem okolju. Zagotovljen mora biti tudi stalen in neomejen vir napajanja.

• Uporaba testnega omreˇzja mora biti dostopna globalno. Oddaljen dostop do naprav za posodabljanje programske opreme vozliˇsˇc je bistvenega pomena za raziskovanje novih tehnologij.

• Testno omreˇzje mora omogoˇcati nadzor nad stanjem vozliˇsˇc in njihovimi viri (baterije, pomnilnika, povezave itd.) [6]. Zaˇzeleno je, da se do nadzor-nega sistema dostopa iz enadzor-nega mesta z upoˇstevanjem varnosti, na primer z avtentikacijo uporabnikov.

• Uporabnik lahko z napravami eksperimentira preko razvrˇsˇcevalnika, v ka-terem doloˇci opravilo, ki se ob doloˇcenem ˇcasu izvede, ali pa z neposrednim dostopom do naprave [6]. V obeh primerih mora testno omreˇzje ponujati urnik za dodeljevanje dostopa do naprav, saj na isti napravi (navadno) ne moremo izvajati veˇc eksperimentov hkrati.

• Izvedba eksperimenta na vsakem vozliˇsˇcu posebej je naporno in zamudno opravilo, zato mora testno omreˇzje zagotavljati naˇcin zagona eksperimenta na vseh napravah hkrati. Postopek je lahko za boljˇso uporabniˇsko izkuˇsnjo

1.3 Upravljanje s testnimi omreˇzji 7

avtomatiziran, omogoˇcati pa mora sprotno izbiro vozliˇsˇc vkljuˇcenih v eks-periment [10].

• Testno omreˇzje mora ponujati sofisticirana orodja za shranjevanje rezulta-tov opravljenih meritev. Sistem mora meritve zbrati in jih vrniti uporabniku med samim delovanjem ali po koncu eksperimenta. Za boljˇso uporabniˇsko izkuˇsnjo so lahko ponujeni naˇcini vizualizacije meritev v realnem ˇcasu.

• Veliko testov zahteva tehnike ponovljivosti: veˇckratna ponovitev eksperi-menta v istih pogojih mora vrniti podobne rezultate. Za izvajanje komple-ksnejˇsih eksperimentov je uporabniku lahko ponujena moˇznost spreminja-nja poteka eksperimenta med samim delovanjem (na primer z ustavitvijo aplikacije, uvedbo natanˇcnih nastavitev (ang. fine-tune) in nadaljevanjem aplikacije) [10].

• Za vrednotenje eksperimentov in potrjevanje delovanja je zaˇzelen realno ˇ

casovni monitor za nadzor stanj naprav med potekom eksperimenta. Po-nujena mora biti tudi moˇznost enostavnega zagona, ustavitve in ponovnega zagona eksperimenta kadarkoli med uporabo [6], ter moˇznost vklopa in iz-klopa naprave.

Za upravljanje in vzdrˇzevanje testnih omreˇzji raziskovalci uporabljajo razliˇcne naˇcine in razna orodja, velikokrat razvita po meri za vsako arhitekturo testnega omreˇzja posebej. Pogosto temeljijo na konvencionalnih sistemih za upravljanje z omreˇzji [10]. Zadolˇzena so za nadzor stanj naprav z zbiranjem podatkov de-lovanja (nivo baterije, moˇc povezave, topologija omreˇzja itd.), za posodabljanje programske opreme naprav in za izvajanje eksperimentov. Nekateri sistemi po-nujajo avtomatizacijo opravil in s tem uporabnikom olajˇsajo uporabo testnega omreˇzja. V [19] je predstavljen obˇsiren nabor tovrstnih orodij. V testnem omreˇzju TWIST so na primer vozliˇsˇca nadzorovana preko sistema CONECT, ki omogoˇca reprogramiranje naprav in nadzor nad njimi, dostop do njega pa je urejen preko spletne strani [12]. Za izvajanje eksperimentov v testnem omreˇzju PlanetLab lahko uporabniki zaprosijo za uporabniˇski raˇcun, s katerim dobijo dostop do sis-tema GENIWrapper za upravljanje s senzorskimi vozliˇsˇci [6].

Sodoben pristop je uporaba metode mikrostoritev (ang. micro-services): sis-tem, v katerem je zdruˇzenih veˇc orodij za upravljanje s testnim omreˇzjem, vsako

namenjeno svojemu opravilu. Ta orodja so veˇcinoma odprtokodna in razvijalcem sploˇsno znana pod angleˇskim izrazom “DevOps”, kar omogoˇca laˇzjo adaptacijo na sistem [20]. Takˇsen sistem mikrostoritev je obiˇcajno zdruˇzen v okvir (ang. fra-mework), katerih primeri so predstavljeni v [9] in [21]. V poglavju 3 je podrobneje opisan okvir IMBA [16].

Testno omreˇzje LOG-a-TEC zaradi modularne sestave vozliˇsˇcnih naprav omogoˇca preprosto uvedbo novih tehnologij. Postavitev testnega omreˇzja v park instituta ponuja izvajanje eksperimentov v realnem okolju. Z uporabo okvirja IMBA lahko upravljamo z napravami in njihovimi viri, jih posodabljamo in na njih izvedemo raznovrstne eksperimente. Z okvirjem pa ne moremo opazovati dinamiˇcnega spreminjanja eksperimentalnega okolja med izvedbo eksperimentov, kar nas je privedlo do izdelave razˇsiritve sistema, opisane v tem delu.

1.4 Nadzor nad potekom eksperimenta v realnem ˇ casu

Opazovanje poteka eksperimenta je temelj vsake znanstvene raziskave. Poslediˇcno bi moralo vsako testno omreˇzje kot orodje za znanstvene raziskave ponujati funk-cionalnosti za spremljanje poteka eksperimentov v realnem ˇcasu in moˇznosti opa-zovanja stanj naprav med izvajanjem. S takˇsnim sistemom lahko uporabnik v realnem ˇcasu opazuje opravljene meritve, kar mu pomaga pri nadaljnji analizi eksperimenta in hkrati zagotovi njegovo pravilno delovanje. Z ukazi lahko vpliva na potek aplikacije in jo po svojih ˇzeljah prilagaja, kar mu omogoˇca testiranje zahtevnejˇsih eksperimentov. Interaktivnost (npr. moˇznost enostavne zaustavitve in ponovnega zagona testa) olajˇsa odpravljanje napak pri razvoju in omogoˇca hitrejˇse razumevanje delovanja eksperimentalne aplikacije.

Uporabnost rezultatov eksperimenta je pogojena tudi z dobro predstavitvijo podatkov; ˇce rezultati niso prikazani jasno in preprosto, potem je ˇstudija obsojena na propad, ne glede na to, koliko truda je bilo vloˇzenega vanjo [4, stran 328]. Zato mora omenjeno orodje ponujati dober in intuitiven grafiˇcni vmesnik. Pregovor:

“slika pove veˇc kot tisoˇc besed” dobro drˇzi tudi pri znanstvenih raziskavah, saj je grafiˇcni prikaz eden izmed najbolj intuitivnih in preprostih naˇcinov analize meritev.

1.5 Sorodna dela 9

1.5 Sorodna dela

Na spletu je moˇc najti ˇstevilne sisteme za realno ˇcasovni nadzor nad senzorskimi omreˇzji, ki so namenjeni predvsem zbiranju in prikazovanju izmerjenih podatkov z dinamiˇcnimi grafi. Spletni portal ThingsBoard4ponuja vizualizacijo opravljenih meritev, naprave pa lahko nanjo poˇsiljajo podatke preko standardnih internetnih protokolov (HTTP, CoAP, MQTT) [22]. Podobne funkcionalnosti omogoˇcajo tudi Arduino Cloud5, Microsoftov oblak Azure6, oblak podjetja IBM7 in podobni.

V [23] so prikazali izdelavo namenskega spletnega monitorja za prikaz grafov z meritvami temperature in vlaˇznosti zraka ter vsebnosti ogljikovega dioksida. Vo-zliˇsˇca opravljene meritve preko tehnologije Wi-Fi poˇsiljajo na osrednjo napravo, kjer so podatki shranjeni v podatkovno bazo in posredovani na spletni portal za prikaz z dinamiˇcnimi grafi. V [24] opisujejo merjenje ˇcistoˇce vode in poˇsiljanje po-datkov preko mobilnega omreˇzja na osrednjo napravo, kjer so meritve v realnem ˇ

casu prikazane uporabniku.

Vse to so primeri monitorjev v realnem ˇcasu, namenjeni le za prikaz podat-kov, in ne omogoˇcajo univerzalnega nadzora nad potekom eksperimenta s testnim omreˇzjem in kontrolo nad vozliˇsˇci. Primer takˇsnega nadzora so razvili v testnem omreˇzju BOWL [25], ki vsebuje namensko razvit sistem sestavljen iz osrednjega upravitelja vozliˇsˇc, ki deluje kot posrednik ukazov in baza podatkov s stanji vo-zliˇsˇc. Na vozliˇsˇcnih napravah se soˇcasno z eksperimentom izvaja program, ki uveljavlja ukaze in posreduje stanja nazaj osrednjemu upravitelju. Sistem je na-pisan v jeziku Ruby in temelji na knjiˇznici Distributed Ruby8, s katero se sproˇzi metode na oddaljeni napravi (ang. remote method invocation, RMI). Podoben naˇcin upravljanja in nadzora eksperimentov so prikazali v [13], kjer lahko vo-zliˇsˇcne naprave upravljajo s pomoˇcjo klicev oddaljenih postopkov (ang. remote procedure call, RPC). Testno omreˇzje TRIANGLE, namenjeno testiranju mobil-nih aplikacij in naprav, je dostopno preko spletnega portala ali preko programa PathWave Keysight Test Automation9, preko katerega lahko uporabnik vozliˇsˇca

4https://thingsboard.io/

upravlja in v realnem ˇcasu opazuje potek eksperimenta [26]. Octopus [27] je orodje za nadzor naprav v testnem omreˇzju senzorskih naprav, na katerih se izvaja operacijski sistem TinyOS, in ponuja prikaz podatkov senzorjev in topo-logije omreˇzja naprav v realnem ˇcasu. Omogoˇca upravljanje eksperimentalnega omreˇzja in nastavitev vozliˇsˇcnih naprav s poˇsiljanjem kratkih ukazov, tako eni kot veˇcim napravam hkrati. V federaciji testnih omreˇzij FED4FIRE+ se za kreiranje eksperimentov uporablja orodje jFed Experimenter Toolkit10. Vsebuje grafiˇcni vmesnik, v katerem uporabnik doloˇci naprave, ki sodelujejo v eksperimentu, iz-bere aplikacijo in jo nato roˇcno zaˇzene. Med potekom lahko uporabnik napravam poˇsilja ukaze in prejema njihove odzive ter opazuje topologijo eksperimentalnega omreˇzja [28].

1.6 Struktura magistrskega dela

V magistrskem delu je predstavljena razˇsiritev ˇze obstojeˇcega sistema za upra-vljanje s testnim omreˇzjem LOG-a-TEC, s sistemom za spremljanje in nadzor eksperimentov v realnem ˇcasu. V uvodu so predstavljeni osnovni pojmi in na-membnosti testnih omreˇzij ter njihova delitev. Nakazan je tudi razlog, zakaj smo se za razˇsiritev odloˇcili. V poglavju 2 je predstavljena strojna oprema testnega omreˇzja LOG-a-TEC, na katerem je predstavljena implementirana razˇsiritev, ter njegova postavitev v okolje. Za laˇzje razumevanje postopka umestitve razˇsiritve je v poglavju 3 je prikazan sistem za upravljanje s testnim omreˇzjem in njegov sple-tni portal. Poglavje 4 opisuje zahteve in izpolnitve zadanih ciljev med postopnim prikazom izdelave same nadgradnje in uporabljenih orodij. V poglavju 5 je na podlagi eksperimentov podana evalvacija delovanja implementirane nadgradnje, poglavje 6 pa ob podanih moˇznih nadgradnjah zakljuˇci delo.

10https://jfed.ilabt.imec.be/

2 Testno omreˇ zje LOG-a-TEC

Vsebina magistrskega dela temelji na brezˇziˇcnem testnem omreˇzju LOG-a-TEC.

Nahaja se v parku Instituta “Joˇzef Stefan” in pokriva obmoˇcje veliko pribliˇzno 3000 kvadratnih metrov. Sestavljeno je iz 77 brezˇziˇcnih senzorskih vozliˇsˇc, razde-ljenih v zunanje in notranje testno okolje. Namenjeno je izvajanju eksperimentov za opazovanje frekvenˇcnega spektra, testiranju novih radijskih tehnologij in proto-tipnih naprav, razvoju brezˇziˇcnih protokolov in opravljanju primerjalnih meritev, testiranju strojne komunikacije med napravami, lokalizaciji naprav itd.

Testno omreˇzje je bilo v zadnjih letih veˇckrat nadgrajeno ter posodobljeno in se je izkazalo za zelo uporaben instrument [29]. S pristopi DevOps, kot je na primer mehanizem neprekinjene integracije (ang. continuous integration, CI), je v omreˇzju omogoˇceno efektivno razvijanje programske opreme [16]. Z vnosom spremembe v kodo eksperimenta se ta samodejno zbere in avtomatsko testira na dejanskih napravah, rezultate testa pa vrne uporabniku. Na podoben naˇcin, z me-hanizmom neprekinjene dostave (ang. continious deployment, CD), je omogoˇcen sistem za samodejni zagon eksperimentov, ki ponuja hitre rezultate in zanesljivo povratno informacijo raziskovalcem. Fleksibilnost testnega omreˇzja omogoˇca pri-lagajanje zahtevam uporabnika; v testno omreˇzje lahko enostavno vkljuˇcimo nove naprave, spremenimo njihovo lokacijo ali pa dodamo nov tip radijske tehnologije.

Postavitev vozliˇsˇc v parku instituta prikazuje slika 2.1. Zunanji del je se-stavljen iz 56 naprav, pritrjenih na drogove luˇci in razporejenih po pisarniˇskih okenskih policah na 2 do 9,3 metrov viˇsine. V notranjem okolju je v pisarnah dodatno razporejenih 21 naprav. Barve pik prikazujejo razliˇcne tipe radijskih teh-nologij, s katerimi je opremljeno vozliˇsˇce. Nekatere kljuˇcne informacije vozliˇsˇcnih naprav in razpoloˇzljivih tehnologij so navedene v tabeli 2.1 [16].

11

Slika 2.1: Postavitev vozliˇsˇc v parku (levo) in primer postavitve vozliˇsˇcnih naprav