A LoRaWAN-hálózati alkalmazások összetevői
Az ELEKTRONET 2016. márciusi számában bemutattuk az IoT-alkalmazások számára kidolgozott kis energiaigényű, de nagy távolságok átvitelére képes LoRa-rádiómodulációt és az erre épülő LoRaWAN-hálózati szabványt. A ChipCAD Kft. 2015 decemberében létrehozott Budapesten egy LoRaWAN-hálózatot, majd egyetemi helyszínekre telepített bázisállomásokkal kiegészítve 2016. február 3-án megnyitotta azt a hazai IoT-alkalmazásokat fejlesztők számára. Ekkor a hálózat a főváros nagy részéről volt elérhető. Márciusban a Debreceni Egyetemmel együttműködve egy tízemeletes kollégiumi épület tetejére telepített bázisállomással Debrecen és környező települései is bekerültek a LoRa-hálózatba. A területek a nagy távolság ellenére összetartoznak, azaz a hálózati végberendezések szabadon barangolhatnak a két nagyváros körzetében. Az elmúlt féléves időszakban sokan éltek a lehetőséggel, és kipróbálták az új IoT-technológiát, valamint számos terméket fejlesztettek ki a segítségükkel.
Az ELEKTRONET 2015. októberi számában mutattuk be a Geoff Graham ausztrál szerző PIC32 mikrokontrollerekre kifejlesztett MMBasic Interpreter szoftverét használó Micromite mikroszámítógépeket. A személyi számítógépek megszületésekor a BASIC Interpreter meghatározó programozási technikája és nyelve volt az akkori számítógépeknek, de a számítástechnika rohamos fejlődése következtében fokozatosan háttérbe szorult. A mai PIC32 mikrokontrollerek a korai személyi számítógépek erőforrásainak sokszorosával rendelkeznek, így a Micromite firmware egyesíti a PIC32 gazdag perifériakészletének előnyeit a BASIC-nyelv programozói könnyedségével. A Micromite mikroszámítógépek előnyösnek bizonyultak a LoRa-hálózati végberendezés vezérlői számára is. Gyorsan és hatékonyan lehet velük fejleszteni, amit hamarosan be is mutatunk.
Előtte azonban nézzük meg, hogy egy LoRaWAN IoT-hálózat milyen elemeket tartalmaz, és ezek használatát a gyártók milyen módon támogatják!
A LoRaWAN-hálózatban a végberendezések átjárók segítségével kommunikálnak az interneten elérhető hálózati kiszolgálóval. A végberendezések LoRa-modulációt használó rádióval egyedi titkosítást használnak, és kétirányú kommunikációra képesek a hálózati szerverrel. Az üzenetek rövidek, néhány bájt vagy maximum párszor tíz bájt méretűek, az adatátviteli sebesség és adóteljesítmény a bázisállomásoktól való távolság függvényében optimalizálható. A kommunikációhoz szükséges idő pár tizedmásodperc vagy maximum pár másodperc. A végberendezések szimplex rádiói egy időben egyetlen frekvencián képesek adni vagy venni, miközben az átjárókban lévő adatkoncentrátorok nagy kapacitású rádiókat alkalmaznak, amelyek több csatornán képesek többféle LoRa-modulációt használó végberendezésekkel kétirányú kapcsolatot fenntartani, közel 50-nel is egyszerre.
A végberendezések és bázisállomások rádióadására Európában az ETSI, Magyarországon az NMHH ISM-sávok használatára vonatkozó rendelkezései érvényesek. A 868 MHz-es ISM-sávon üzemeltethető LoRa rádiók egyedi engedélyhez nem kötött adóberendezések, de a működésük során be kell tartani a hatósági előírásokat. A harmonizált rendelet a végberendezésekben és az átjárókban alkalmazott rádiókra egyaránt 25 mW maximális adóteljesítményt enged meg. A sáv egyes részein az adási kitöltési tényező 0,1%, máshol 1% lehet. Ez a korlátozás azt jelenti, hogy egy adott frekvencián leadott 1 másodperces üzenet után 999, illetve 99 másodperc szünetet kell tartani. Az egytized másodperces üzenetcsomag esetén 99,9, illetve 9,9 másodperc adásszünet betartása kötelező! Ez a hatósági előírás fontos, mivel ez biztosítja, hogy az állandó helyre telepített berendezések egyike se uralhassa a sávot.
A rendelkezésre álló csatornákat az átjárókban lévő adatkoncentrátor rádiója határozza meg, a végberendezések tervezésekor ehhez kell igazodni. Egy tipikus átjáró esetében ez Európában jelenleg 8, az újabb generációjú átjárók esetében 16. A végberendezések a hálózati kommunikáció során bármelyik csatornán adhatnak, a bázisállomások mégis képesek azok vételére és továbbítására a hálózati kiszolgáló felé. Ezt a LoRaWAN-tulajdonságot a végberendezések úgy használják ki, hogy az egymás utáni üzenetek csatornáit véletlenszerűen váltogatják. Még ha egymást zavarnák is egy adott pillanatban, a megismételt üzenet esetében elhanyagolható valószínűsége lesz az újabb csomagütközésnek. A LoRaWAN-hálózati protokoll azt nem garantálja, hogy minden üzenet eljusson a hálózati kiszolgálóhoz, de azt igen, hogy a kitüntetett fontosságú üzenettípusok feltétlenül megérkezzenek. Emiatt az alkalmazásokat úgy célszerű megtervezni, hogy egy-egy átjárón a négyzetkilométerenként javasolt 5000 végberendezési sűrűségi számot ne lépjük túl, és az üzenetek tartalma olyan legyen, hogy a hálózati kommunikáció egy-egy csomagvesztés ellenére is megbízható maradjon a redundáns üzenettartalmak megismétlésén keresztül. Az első hallásra jelentősnek tűnő korlátok ellenére az IoT-alkalmazások nagyon széles körére tökéletes megoldást nyújt a LoRaWAN. Természetesen szó sincs mozgókép vagy hangtartalmak online átviteléről, de szó lehet okos fogyasztásmérő, okosvárosok, -otthonok, épületautomatizálás vagy akár nagy területi kiterjedésű mezőgazdasági és ipari célú hálózati alkalmazásokról.
A nyílt LoRaWAN sztenderd a LoRa Alliance Szövetség koordinálásával jött létre, amelynek sok félvezetőgyártó mellett szoftvergyártó és M2M (Machine-to-Machine) készülékgyártó tagjai vannak. A szövetség meghatározó alapító tagja az amerikai Semtech félvezetőgyártó cég, amely a LoRa-rádióchipeken túl mintaalkalmazásokkal és referenciaszoftverekkel segíti a technológia fejlődését.
Egy LoRaWAN-alkalmazás öt részből áll:
- IoT-végberendezések
- Átjárók a LoRa- és IP-tér között (bázisállomások)
- Hálózati szerver
- Alkalmazásszerver
- Alkalmazások
A Microchip tagja a LoRa Alliance Szövetségnek, úttörő munkát végez a technológia népszerűsítésében és elterjesztésében. Az RN2483 típusú LoRa rádiómodul volt az első a világon, amelyik 2015 decemberében az FCC és ETSI minősítései mellett megkapta a LoRa Alliance igazolását is a hálózati sztenderdeknek megfelelő működésről.
A LoRaWAN megismerését fejlesztőrendszerekkel támogatja, amelyek első tagjai a LoRa-végberendezéseket célozták. 2016 júniusában jelent meg elsőként egy komplett hálózatfejlesztő rendszerrel, a LoRa(R) Technology Evaluation Kit – 800 készülékkel. Ez a fejlesztőrendszer a LoRaWAN első három elemét tartalmazza, melyek kezelését egy közös grafikus szoftverkörnyezetből, a LoRa Development Utility Java-alkalmazásból tették elérhetővé. A LoRa-hálózati kommunikáció megismerését segítő rendszer elemei akár egyetlen PC számítógéphez is köthetők és vizsgálhatók. A PC-hez USB-UART interfészen kapcsolódó RN2483 modulokat az alkalmazás az átjárópanellel együtt felismeri.
A grafikus környezetben paraméterezhetők, és nagyon kényelmesen, pár egérkattintással üzenetek szerkeszthetők és elküldhetők a Lora Mote készülékekről az átjárópanel adatkoncentrátor-rádiója számára. A konzolablakban megfigyelhető, hogy az RN2483 modulokkal milyen tartalmú szöveges üzenetekkel kommunikálunk, amelyeket majd a programozott működés megtervezésekor hasznosíthatunk. Az átjáró két panelből áll. Egy PIC24 mikrokontroller-kártya LCD-kijelzőjén közvetlenül megjeleníti a továbbított üzenetek tartalmát, és az IP-térben elhelyezett hálózati szerver számára egy ethernetinterfészen továbbítja. A panelhez kapcsolódik egy adatkoncentrátor-rádiópanel, amely hat LoRaWANcsatorna elérését biztosítja. A Microchip hálózati szerver mindehhez szoftvert is ad, ami egy LINUX gépre vagy a Windows számítógépünk virtuális számítógépére telepíthető Docker-környezetben. A LoRa Development Utility-programból elérjük a hálózati szervert, működését a többi komponenssel együtt konfigurálhatjuk és tesztelhetjük. A LoRa rádión érkező adatok bekerülnek a hálózati szerver melletti SQL-adatbázisba. Az átjárópanel LAN interfészén a kommunikáció nem titkosított, amit a használat során figyelembe kell venni. A végberendezések által titkosított tartalmak visszafejtését ezért csak a kísérletezés idejére célszerű a hálózati szerverrel elvégeztetni, végleges alkalmazásban az alkalmazásszerverre kell bízni.
A Docker-környezetben futó hálózati szerver helyett az átjárópanelt közvetlenül a Loriot nyilvános hálózati kiszolgálójához is kapcsolhatjuk, de még mindig titkosítás nélkül. A Microchip-átjárónak az adatkoncentrátor SX1301 rádiópanelje a Semtech cég referenciaterv-ajánlásai alapján készült, és saját teszteléseink alapján alkalmas arra, hogy egy Raspberry Pi számítógéppel és titkosított adatkommunikációval kiegészítve kapcsoljuk a Loriot-hálózati szerverhez. A ChipCAD-hálózatban a Loriot cég hálózati szerverszolgáltatását használjuk, és ezt ajánljuk a Microchip fejlesztőrendszer rádiókoncentrátor-paneljét vagy akár más cég által gyártott LoRa koncentrátorpanelt használók számára is.
A LoRa rádiókoncentrátor-paneleket egy Raspberry Pi számítógéppel csatlakoztathatjuk a www.loriot.io-hálózatba. Kísérletezésre és kisebb hálózatok építésére még az ingyenesen használható próbahálózat is sok esetben megfelelő lehet. Az ingyenes Loriot-hálózat egy átjáró mellett 10 végberendezést szolgálhat ki. A Loriot-hálózatok átjárói a közösség számára nyilvánosak, vagy az adott hálózat működésére lekorlátozottak lehetnek. A próbahálózatok kizárólag nyíltak, a fizetős kereskedelmi hálózatok átjárói lezárhatók vagy a közösség számára elérhetők maradhatnak, a hálózatot üzemeltető szándéka szerint. A közösség számára nyitott átjárók a LoRa rádióstérből érkező csomagokat minden esetben továbbítják a Loriot-kiszolgáló számára, amely a saját hálózatba tartozó végberendezések csomagjait továbbítja a saját hálózatba, az idegen hálózatba tartozó eszköz csomagját pedig eljuttatja az idegen hálózatba, hogyha az is Loriot-hálózat, és az átjáróit megosztotta a közösséggel. Ezt a hálózati képességet barangolásnak, roamingnak nevezzük, a mobilhálózatban megszokott módon, azzal a különbséggel, hogy a Loriot-hálózatok közötti adatroaming teljesen ingyenes. Erre hamarosan hazai és nemzetközi példákat is bemutatunk.
A Loriot egy 2015-ben alapított svájci cég. LoRa-hálózati és -alkalmazási szoftvereket készít, és a licenceit értékesíti. Saját felhőalapú kiszolgálószolgáltatást is működtet, amit bárki igénybe vehet a világ minden részén. Mi a ChipCAD-szolgáltatását igénybe vevőkkel együtt az elmúlt 10 hónapban folyamatosan használtuk és nagyon megbízhatónak tartjuk. A LoRa-hálózati technológia nagyon új, és hálózatiszerver-szoftvere dinamikusan fejlődik. Természetesen a nyílt LoRaWAN sztenderd miatt arra is lehetőség van, hogy bárki saját maga számára fejlesszen ki és működtessen hálózati kiszolgálót. Addig is, mielőtt valaki erre az útra akarna lépni, érdemes kipróbálnia a Loriot-hálózati kiszolgálót, és annak előnyös jellemzőit a saját rendszerébe beépítenie. Aki inkább a LoRaWAN alkalmazásfejlesztésre helyezi a hangsúlyt, és szívesen használja a Loriot szolgáltatásait, a saját Loriot-hálózatát nagyon kényelemesen konfigurálhatja, és kiválaszthatja a maga számára előnyös adtakapcsolatot a saját alkalmazásszerverével.
A ChipCAD Loriot-hálózatban kipróbáltunk számos adatinterfészt, és a Websocket adatkapcsolat mellett döntöttünk. Természetesen bárki a saját Loriot-hálózatában szabadon választhat a fenti adatkapcsolati lehetőségek között. Ehhez legalább egy átjárót kell beszerezni és máris létrehozhatja. A hálózati lefedettségébe ajándékként megkapja a ChipCAD jelenlegi átjárói mellett mindazok átjáróinak a használhatóságát, akik próba Loriot-hálózatot tartanak fönn, vagy a kereskedelmi Loriot-hálózatuk átjáróit nyitva hagyták a közösség számára. Az iparban számos professzionális igényt kielégítő átjáró létezik, a ChipCAD ezek közük a Kerlink cég átjáróit ajánlja a hazai felhasználók számára. A Kerlink legújabb iBTS átjárói már a Semtech februárban bejelentett LoRaWAN geolokációs képeségével rendelkeznek, és segítségükkel a rádiójelek futásidő-különbségéből háromszögeléssel számítható helymeghatározás pontossága 100 m körül várható. 2016 szeptemberében a Kerlink megkezdte az iBTS bázisállomások sorozatgyártását, és az új bázisállomás a hazai ipar számára 2016 októberétől elérhetővé vált. Az iBTS átjárók elterjedése megnyitja az utat a jelentős energiaigényű GPS/GNSS helymeghatározás kisfogyasztású kiváltására.
Micromite GPS Mote
A Rádiótechnika júniusi számában bemutattuk, hogy milyen gyorsan lehetett GPS-követőt kifejleszteni LoRaWAN-hálózati kommunikációra Micromite Kísérleti Panel segítségével. A világban népszerűek a LoRa végberendezések kifejlesztésére az Arduino-alapú megoldások. A Micromite rendelkezik az Arduino processzorpaneleknek azzal az előnyös tulajdonságával, hogy egyetlen USB/UART-felületen keresztül programozhatók, és képesek az alkalmazással futás közben kommunikálni. Emellett számos további előnyt nyújt az Interpreter konzolon keresztül elérhető parancsmódja. A BASIC-program futását felfüggesztve azonnal végrehajtható parancsot adhatunk ki, amivel perifériákat közvetlenül működtethetünk, függvényeket és szubrutinokat tesztelhetünk önmagukban, ezzel meggyorsítva a programfejlesztést. Mivel a Micromite egy BASIC Interpreter firmware-programozott PIC32 mikrokontrollert jelent, a hardvertervező számára teljes szabadságot biztosít a felhasználása, nem kell alkalmazkodni meglévő processzorkártyák felépítéséhez, mint az Arduino processzorkártyák esetén.
A Microchip LoRa Mote fejlesztőpanelt használtuk a technológia megismerésének kezdeti időszakában, de hamar elértük a hardver- és szoftverfejlesztési lehetőségeinek a határát. A 28 lábú Micromite gazdag perifériakészletét elegendőnek találtuk egy saját fejlesztésű GPS Mote és szenzorelektronika tervezéséhez. Olyan, hálózati alkalmazások számára használható fejlesztőrendszer tervezését tűztük célul magunk elé, amely összetett szenzorfunkciók kis energiaigényű megvalósítását teszi lehetővé külön programozó- és hibavadász-készülék használata nélkül. A kisméretű elektronika egy műanyag dobozban kapott helyet, de abból könnyen kivehető és a fejlesztési célokra rugalmasan alakítható. A beépített GPS/GLONASS vevő a saját antennájával azonnal képes helymeghatározásra, de a panelre egy UFL csatlakozón külső GPS-antenna is kapcsolható. A kisméretű dobozban való elhelyezhetőség miatt egy 750 mAh kapacitású akkumulátort tartalmaz, de a panelen egy 2000 mAh kapacitású akkumulátor csatlakoztatására is lehetőséget adtunk arra az esetre, ha fejlesztési körülmények között nem a kis méret, hanem a hosszabb telepélettartam biztosítása a fontos. Az akkumulátor egy mikroUSB csatlakozón keresztül tölthető, és ugyanezen csatlakozón kapcsolható a készülék a PC MMEdit programfejlesztő környezetéhez.
A panelen hőmérséklet-, mozgásszenzor, telepfeszültség- és áramfelvétel-mérő szenzorok kaptak helyet, de a perifériacsatlakozóján keresztül külső szenzorokat vagy aktuátorokat is köthetünk hozzá. Két UART és egy I2C busz mellett két kapcsolható tápfeszültséget biztosít külső szenzor csatlakoztatásához. Három Micromite periférialáb digitális vagy analóg perifériaként vagy akár három PWM csatornaként, RGB LED-meghajtás céljára vehető igénybe. A perifériacsatlakozón elérhetővé tettük a Micromite ICSP programozólábait is azért, hogy egy PICKit 3 programozó csatlakoztatásával frissíthető legyen a firmware a készülékház megbontása nélkül is. A külső periféria használatának bemutatásához a skóciai Gas Sensing Solution cég szén-dioxid-, páratartalom- és hőmérő-szenzoráramkörét illesztettük a készülékhez.
Nagy sorozatú LoRaWAN-alkalmazások esetén az MCC kód konfigurátorba épített LoRaWAN-hálózati könyvtár segítségével a hálózati funkció rutinjai közvetlenül beintegrálhatók az alkalmazást vezérlő PIC mikrokontrollerbe. A legújabb PIC32MM-család kisfogyasztású tagjai különösen alkalmasak lesznek ezekre IoT-feladatokra. Az összevont funkciót ellátó PIC32MM mikrokontroller mellé egy olcsó, HopeRF gyártmányú RFM95W-868-S2 modult tehetünk RN2483 helyett, vagy még nagyobb sorozatban gyártott alkalmazásoknál magát az SX1276 LoRa rádióchipet!
A ChipCAD-hálózat elindulásának másnapján, még tavaly december elején rájöttünk arra, hogy nélkülözhetetlen a hálózati adatkapcsolatra épülő alkalmazásszerver létrehozása. A www.mylora.hu honlapot saját magunk és a hálózatunk szolgáltatásait igénybe vevők számára hoztuk létre. A Loriot-hálózati szerver Websocket adatkimenetére egy SQL-adatbázist kapcsoltunk, és rögzítjük a teljes forgalmat, az átjárók által kiegészített időbélyegekkel és rádiós paraméterekkel együtt. A hálózatunkat használók hozzáférést kapnak ehhez az adatbázishoz, hogy vizsgálhassák a saját eszközeik forgalmát. A cikk írásakor, szeptember közepén a ChipCAD LoRa-hálózati adatbázis már 333 000 adatot tartalmaz.
A www.mylora.hu honlap számos statisztikai adatot nyújt a felhasználásról, a végberendezésekről és az átjárókról. Az adatforgalom szűrőkön keresztül CSV-fájlba exportálható, részletes analízisek elvégéséhez.
A mylora.hu alkalmazásszerver ezenfelül képes alkalmazások kiszolgálására is. Egy lehetséges alkalmazás bemutatásaként a Micromite GPS Mote adatait a finnországi www.aprs.fi rádióamatőr helymeghatározó és -követő rendszerhez illesztettük. A Google-térképes megjelenés a mozgó GPS-szenzor mellett a bázisállomások helyét is megmutatja. A „csomagok” listában vizsgálható a LoRaWAN-hálózati kommunikáció minden adata. A nyomkövetés időszaka 1 óra és 1 hét között változtatható.
A Budapest-térkép szeptember közepi autósbejárás-útvonalát mutatja, a hálózati lefedettség mellett a budapesti átjárók elhelyezkedésével együtt.
Az osztrák térképen ugyanennek a Micromite GPS Mote készüléknek egy másik szeptemberi útvonalszakasza látható, egy osztrák (Linz) átjárón keresztül a ChipCAD-hálózatba beküldött csomagok online-megjelenítése közben.
Reményeink szerint egyre többen csatlakoznak hozzánk, együtt bővítjük a közösség számára nyitott Loriot-hálózatainkat, hogy egy országos méretű hálózatban sok hasznos alkalmazást hozhassunk létre! A LoRaWAN-hálózati technológia elsajátítására tanfolyamokat indítunk, ahová várjuk az érdeklődők jelentkezését a ChipCAD tanfolyami oldalán keresztül.
Felhasznált irodalom
www.loriot.io
www.microchip.hu/lora
www.kerlink.fr
www.chipcad.hu/lora
www.chipcad.hu/micromite
www.chipcad.hu/GSS
www.chipcad.hu/letoltes/tanfolyam.htm