1. marec, 2019

Tehnologije Interneta stvari

Svet elektronike colorAvtorja: Grega Močnik, mag.inž. ele. in Danilo Zimšek, uni. dipl. inž. tk.
2019_272_50

Področje interneta stvari doživlja v zadnjih letih velik razcvet. Njegova uporaba se širi iz domov posameznikov na mesta in v industrijske obrate. Tehnologije in protokoli, ki omogočajo to hitro rastoče področje pa se hitro spreminjajo in dopolnjujejo.

Zaradi hitrega razvoja in razpršene uporabe množice tehnologij v konceptu interneta stvari, smo za potrebe praktičnega seznanjanja študentov s konceptom Interneta stvari (v nadaljevanju IoT) pripravili več razvojnih plošč, s pomočjo katerih se študenti seznanijo z realnimi problemi pri načrtovanju omrežij IoT ter s komunikacijskimi protokoli, ki se uporabljajo pri povezovanju naprav IoT. V začetni fazi smo zaradi pohitritve razvoja pripravili tri naprave, ki uporabljajo isti fizični sloj, ki ni tipično v uporabi v omrežjih IoT, to je brezžična povezava WiFi. Razvojne plošče so namenjene razvoju programske opreme, ki optimizira komunikacijske protokole višjih slojev, predvsem protokole aplikacijskih slojev in za prikaz delovanja posameznih protokolov na konkretnih primerih, zato ta odločitev v začetni fazi ne predstavlja večje težave.

272 50 01 300x130 - Tehnologije Interneta stvariVeliko projektov, zlasti v pedagoški sferi, uporablja za prikaz in preučevanje delovanja IoT protokolov na aplikacijskem sloju, kot sta MQTT in CoAP strojno zmogljive naprave, pri čemer se lahko izgubi bistvo koncepta IoT in protokolov, ki so pogosto optimirani prav za delovanje na manj zmogljivih, baterijsko napajanih napravah. V konceptu IoT v ospredje vstopajo ravno manj zmogljive naprave, ki nimajo “neomejene” procesne zmogljivosti in je treba pri implementaciji oziroma pri razvoju programske opreme temu tudi posvetiti posebno pozornost. Naj gre za pozornost pri uravnavanju porabe električne energije ali primerno izbiro protokolov glede na procesne zmogljivosti, še posebej na višjih slojih protokolnega sklada IoT. V nadaljevanju podrobno opišemo vsako od razvitih ploščic.

DSPLAB SUN
272 50 03 300x158 - Tehnologije Interneta stvariNajzmogljivejša razvojna ploščica je imenovana po osrednji zvezdi našega osončja. Ta ploščica je fizično gledano največjih dimenzij, hkrati pa ponuja tudi največjo procesorsko zmogljivost. Primarna naloga razvojne ploščice je krmiljenje koračnih motorjev za žaluzije preko posebej zato izdelane sklopke. Na plošči so trije gonilniki za koračne motorje, modul WiFi, senzor kakovosti zraka in senzor za temperaturo in vlago. Dodanih je tudi nekaj LEDic in kristal s frekvenco 32,768 kHz, ki skrbi za pravilen takt RTC registra v mikrokontrolerju STM32L152. Izbran mikrokontroler je nizko energijskega tipa in naj bi bil primeren za baterijsko napajane naprave. Programiranje mikrokontrolerja se izvaja preko USB vodila v DFU načinu, lahko pa tudi prek SWD JTAG vmesnika. Enako USB vodilo lahko uporabimo za razhroščevanje programa ali interakcijo z napravo preko osebnega računalnika.

Zaradi svoje zasnove in visoke procesorske zmogljivosti, ta plošča ponuja največ fleksibilnosti pri uporabi različnih protokolov. V prvi fazi plošča ponuja dva različna komunikacijska vmesnika (USB in/ali WiFi). Pri hitro razvijajočem se IoT svetu je ključnega pomena sposobnost menjavanja uporabljenih protokolov na posameznih ravneh IoT protokolnega sklada. Plošča zaradi velike procesorske zmogljivosti omogoča neodvisno menjavanje TCP in UDP protokolov transportnega sloja. Na aplikacijskem sloju lahko implementiramo oba trenutno najbolj uporabljena protokola tega sloja v IoT, to sta MQTT in CoAP, poleg tega pa lahko eksperimentiramo tudi s HTTPS protokolom. Ploščica nam omogoča ob uporabi CoAP protokola tudi implementacijo protokola za medsebojno komunikacijo LwM2M naprav, ki se implementira nad CoAP protokolom. V prvi fazi je ploščica opremljena s fizično WiFi povezavo, katero nameravamo v drugi fazi nadgraditi z BLE povezavo, kar bi prineslo fleksibilnost in možnost testiranja tako protokolov omrežnega sloja, kot tudi fizičnega sloja.

272 50 04 300x150 - Tehnologije Interneta stvariKomunikacijski vmesnik med mikrokontrolerjem in WiFi modulom je UART in sicer s hitrostjo 115200 bps, ki jo lahko po potrebi spremenimo. Na tej ploščici lahko razvijamo programsko opremo s surovo implementacijo posameznih protokolov, lahko uporabimo že za to primerne operacijske sisteme, kot sta mbedOS ali FREERTOS, ki imata že implementirano nekaj protokolov. Od orodij imamo na voljo Keil ali Sw4STM32, tudi Eclipse lahko uporabljamo z ustreznim vtičnikom. Če namestimo Arduino Core lahko uporabljamo celo ArduinoIDE.

DSPLAB MARS in MOON

Manjši razvojni ploščici sta opremljeni z WiFi modulom, ki je hkrati tudi mikrokontroler. Razvojna plošča je procesorsko manj zmogljiva kot ploščica DPSLAB SUN in je primerna za implementacijo v baterijsko napajanih senzorskih IoT vozliščih. Ostala periferija, ki je na ploščici je le senzor temperature na MARS ploščici in IR transceiver na MOON ploščici ter ohišje za dve AAA bateriji.

Naloga senzorskega MARS vozlišča je pošiljanje podatkov iz enega senzorja v določenih časovnih intervalih v IoT omrežje. V bolj specifičnih primerih pa lahko vozlišče opravlja nalogo IR krmilnika, kar opravlja MOON ploščica.

272 50 02 300x156 - Tehnologije Interneta stvariPotencial plošče je razvoj ali prilagajanje ustreznih protokolov z glavnim namenom varčevanja z električno energijo. Programiranje MARS ali MOON razvojne plošče poteka preko UART vmesnika, ki ga lahko priklopimo na USB vodilo osebnega računalnika preko pretvornika, ki ni del naprave. V primeru prednaloženega Arduino jedra lahko uporabljamo ArduinoIDE razvojno okolje. Obstaja tudi podpora za programiranje s programskim jezikom C in C++ z uporabo orodja Eclipse ali s programskim jezikom LUA v orodju ESPlorer. Ploščo lahko uporabljamo tudi v suženjskem načinu, saj jo lahko priklopimo na bolj zmogljiv kartični računalnik, kot je Raspberry PI in podobni, preko UART vmesnika. V suženjskem načinu lahko komuniciramo z MARS ali MOON razvojno ploščo z AT komandami. V primeru priklopa na druge naprave lahko uporabimo gospodarjevo napajanje.

Zaključek
V drugi fazi razvoja razvojnih ploščic želimo fizični sloj naprav prilagoditi na IoT koncept. V tem kontekstu so zanimivi protokoli IEEE 802.15.4, BLE v5.0 ter WiFi protokol prilagojen za uporabo v IoT, to je WiFi HaLow.

Zaradi svoje razširjenosti in dobre podpore s strani mobilnih operacijskih sistemov želimo v drugi fazi plošče prilagoditi za uporabo BLE v5.0 protokola. V naslednjih fazah bi želeli podpreti še protokol IEEE 802.15.4, kar bi nam omogočilo nove možnosti povezovanja z napravami ZigBee in Z-Wave. Za zadnjo fazo načrtujemo preizkus najmlajšega standarda WiFi HaLow.

Razvoj načrtovane strojne opreme bo omogočil spoznavanje s protokoli, lastnostmi in težavami pri implementaciji le teh v IoT. Ponudil bo možnosti testiranja različnih parametrov povezovanja in upravljanje porabe posameznih naprav.

Tags: