- A LoRaWAN-hoz megfelelően konfigurált átjáróra (frekvencia, IP-hálózat, szerver) és a TTN-nél való regisztrációra van szükség a csomópontok kommunikációjához.
- A végberendezések regisztrálása a TTN alkalmazásokban a DevEUI, JoinEUI/AppEUI és AppKey (OTAA) vagy az NWKSKEY/APPSKEY/DEVADDR (ABP) használatával történik.
- Kereskedelmi forgalomban kapható érzékelők (SenseCAP, Decentlab, Dragino, Tabs) vagy barkács csomópontok ESP32/Arduino és LMIC könyvtárral használhatók adatküldésre a TTN-be.
- A TTN megkönnyíti a Node-RED és külső platformokkal való integrációt a LoRaWAN hálózat által gyűjtött IoT-adatok vizualizálásához és kiaknázásához.
Ha idáig eljutottál, az azért van, mert tudni akarod, hogyan. LoRaWAN csomópont csatlakoztatása a TTN-hez végpontok közöttMindent lefed: átjárókat, csomópontokat, érzékelőket, könyvtárakat, kulcsokat és hálózati konfigurációt. A legjobb az egészben, hogy nem kell telekommunikációs szakértőnek lenned; egy jól strukturált útmutatóval és egy kis türelemmel pillanatok alatt beállíthatod a saját működőképes LoRaWAN hálózatodat.
A következő sorokban lépésről lépésre láthatod, hogyan Átjáró beállítása, regisztráció a The Things Networkön, alkalmazások és végberendezések regisztrálása, valamint LoRaWAN csomópontok programozása ESP32 vagy Arduino típusú paneleken alapul, valamint kereskedelmi forgalomban kapható érzékelőkkel (SenseCAP, Decentlab, Dragino, Tabs Browan) bemutatott példákon. Emellett olyan gyakorlati részleteket is érintünk, amelyek nem mindig találhatók meg a kézikönyvekben: gyakori kódolási problémák, frekvenciaválasztás, fizikai csatlakozók csatlakozása, és trükkök annak ellenőrzésére, hogy minden valóban kommunikál-e a TTN-nel.
Mik a LoRa és a LoRaWAN, és miért érdemes használni a TTN-t?
A LoRa és a LoRaWAN két rokon fogalom, de nem ugyanaz.A LoRa egy nagy hatótávolságú, alacsony fogyasztású rádiófrekvenciás moduláció, amelyet a Semtech saját tulajdonú. A LoRaWAN egy hálózati protokoll, amely a LoRa-ra támaszkodik annak kezelésében, hogy a végberendezések (csomópontok) hogyan kommunikálnak az átjárókkal és a hálózati szerverrel.
Egy tipikus LoRaWAN hálózatban van két fő összetevő: átjárók és csomópontokAz átjárók „hidakként” működnek a LoRa (rádió) világ és az IP (internet) világ között, csomagokat továbbítva a LoRaWAN szervernek. A csomópontok azok az érzékelők vagy beavatkozók, amelyek LoRa segítségével küldenek és fogadnak információkat ezeknek az átjáróknak.
Mindezek összekapcsolásához LoRaWAN szerverre van szükséged. magánszolgáltatásért fizet (olyan szolgáltatók, mint a Movistar, a Vodafone, vagy olyan platformok, mint a Loriot, az Actility, a Kerlink) vagy a közösségi utat járd be a The Things Network (TTN) segítségével, amely egy nyilvános, nyílt hálózat, amelyet a közösség tart fenn.
A TTN-nek az az előnye, hogy Tiszteletben tartja az adatkezelést, semleges, és lehetővé teszi átjárók hozzáadását a hálózathoz.Sok városban az emberek saját kezdeményezésükre telepítenek átjárókat, és bárki élvezheti ezt a lefedettséget, a csomópontok hardverén kívül semmilyen költséggel nem.
LoRaWAN frekvenciák, csatornák és korlátozások
Mielőtt bármilyen eszközt megvásárolnánk, fontos tisztázni, hogy A LoRa frekvenciának kompatibilisnek kell lennie az Ön régiójávalAz európai munka nem ugyanaz, mint az Egyesült Államokban vagy Ázsiában; ha rossz sávot használsz, az eszköz használhatatlan vagy akár illegális is lehet.
Európában főként a következőket használják: 868 MHz-es sáv (EU868)Az Egyesült Államokban a tipikus sáv 915 MHz (US915). A kínai üzletek 433 MHz-es modulok széles választékát kínálják, ami áruk miatt csábító lehet, de nem mindig kompatibilisek a LoRaWAN-nal vagy az Ön országával.
A frekvencia mellett a LoRaWAN a következőképpen is fel van osztva: csatornák, szórási tényező (SF) és frekvenciatervekAz SF meghatározza a sebességet és a hatótávolságot: a magasabb SF nagyobb hatótávolságot, de több időt a levegőben jelent, ami több energiát fogyaszt és több csatornát foglal el.
Európában a híres „1%-os szabály”Minden eszköz csak az idő egy kis százalékában, jellemzően 1% körül tudja lefoglalni a rádiócsatornát. Ez korlátozza az adatküldés gyakoriságát, és ez az egyik oka annak, hogy a LoRaWAN érzékelők általában néhány percenként, nem pedig néhány másodpercenként továbbítanak.
Átjáró és csomópontok hardverének előkészítése és kiválasztása
Egy praktikus hálózat kiépítéséhez legalább a következőkre lesz szükséged: egy LoRaWAN átjáró és egy vagy több csomópont (érzékelő)Különböző gyártók hardvereit kombinálhatjuk, amennyiben azok tiszteletben tartják a LoRaWAN szabványt és ugyanazt a frekvenciasávot használják.
A beltéri átjárók egyik leggyakrabban használt modellje a Dragino LPS8Integrál egy SX1308 koncentrátort, és akár 10 párhuzamos csatornát is lehetővé tesz. Országtól függően eltérő frekvenciatervekkel van előre konfigurálva, Európában pedig 868 MHz-en fog működni. 5 V-os tápellátást kap USB-C-n keresztül, és RJ-45 vagy Wi-Fi kapcsolaton keresztül csatlakozik az IP hálózathoz.
A TTN-hez jól illeszkedő átjárók további példái a következők: RAK7289 (kültéri használatra, strapabíró és LTE/4G opcióval) vagy a hivatalos TTN-GW-868 MHz-es átjárók, amelyeket városi lefedettség vagy intelligens város projektek kiépítésére terveztek. Lehetőség van egy egycellás átjáró ESP32 panellel és SX1262 LoRa modullal, ahogyan az a Wio-SX1262 készlettel és egy XIAO ESP32S3-mal is történik.
Csomópontként két útvonalad van: használjon kereskedelmi forgalomban kapható, LoRaWAN-hoz már konfigurált érzékelőket (SenseCAP S210x, Tabs Browan TBHH100, Dragino TrackerD, Decentlab stb.) vagy építsd meg saját csomópontjaidat fejlesztőkártyákkal, mint például a TTGO LoRa32 V2.0, ESP32 + RMF95, Arduino + LoRa modul stb.
Konfiguráljon egy LoRaWAN átjárót, és csatlakoztassa a TTN-hez
A projekt első nagyobb blokkja a Indítsd el az átjárót, és a „Connected” felirat jelenik meg a TTN-ben.Bár minden gyártónak megvan a saját panelje, a koncepcionális lépések nagyon hasonlóak.
Egy Dragino LPS8-cal például SSH-n vagy HTTP-n keresztül kezelhetiHa RJ-45 kábellel csatlakoztatod, akkor meg kell találnod a DHCP szerver által rendelt IP-címet (IP-szkennerrel vagy a routereden keresztül). Ha a kezdeti beállítást Wi-Fi-n keresztül szeretnéd végezni, az LPS8 létrehozza a saját hálózatát egy SSID-vel, például „dragino-xxxxx” és az alapértelmezett „dragino+dragino” jelszóval. A 10.130.1.1 IP-cím elérése a webes panelre visz, ahol a kezdeti felhasználónév és jelszó általában „admin/dragino”.
Belépéskor egy több részből álló menüt fog látni, és itt találhat Néhány opció piros kereszttel jelölve jelenik meg, jelezve, hogy a konfiguráció hiányzik.Az első dolog, amit tenned kell, hogy kiválasztod a megfelelő frekvenciatervet a LoRa fülön; Európában EU868 (kb. 868 MHz).
Ezután koppintson a fülre LoRaWAN vagy hálózati szerverItt adhatod meg, hogy az átjáró melyik LoRaWAN szerverhez csatlakozzon. TTN esetén válaszd a "TTN"-t szolgáltatónak, és add meg az európai szerver címét (például eu1.cloud.thethings.network), megtartva az UDP portokat (általában 1700 mind a feltöltésnél, mind a letöltésnél). Ugyanebben a részben láthatod az átjáró azonosítóját (EUI), amire később szükségünk lesz a TTN-ben.
A Hálózat részben konfigurálhatja Hogyan csatlakozik az átjáró az internethez?LAN, WAN vagy WiFi WAN. A WAN interfészhez választhat statikus IP-címet vagy DHCP-t; amikor csak lehetséges, vezetékes statikus IP-cím ajánlott a stabilabb kapcsolat és a könnyebb hozzáférés érdekében. A LAN interfészt jellemzően az átjáró belső hozzáférési pont hálózatához használják; a legjobb, ha nem változtatod meg anélkül, hogy teljesen megértenéd, mit csinálsz, mivel ez lehet a mentőöved, ha valami rosszul sül el.
A WiFi részben a következőket teheti: állítsa be mind az átjáró által generált hozzáférési pontot, mind a külső WiFi hálózathoz való csatlakozásátBiztonsági okokból ajánlott módosítani az AP gyárilag beállított SSID-jét és jelszavát.
Az RAK7289 átjárókban az elv hasonló: belépsz a webes panelre, Az IP-címet (statikus vagy DHCP) a Hálózat → WAN interfész menüpontban állíthatja be. Ezután a LoRa Network → Network Settings → Packet Forwarder menüpontban adja meg a TTN-kiszolgáló adatait, és jegyezze fel az átjáró EUI-azonosítóját, hogy később regisztrálhassa a TTN-nél. Ha egy DHCP-t biztosító router mögött van, az átjáró IP-címét a bérleti táblázatban (gazdanév szerint, például "RAK7289") vagy olyan eszközök használatával találhatja meg, mint az nmap.
Átjáró regisztráció a The Things Networkön
Miután az átjáró rendelkezik internet-hozzáféréssel, itt az ideje... regisztrálja őt a TTN-benHa nincs fiókod, először regisztrálj a The Things Network weboldalán, majd lépj be a megfelelő régió konzoljába (például https://eu1.cloud.thethings.network/).
A konzolon belül kiválasztod a részt Átjárók, majd kattintson az „Átjáró regisztrálása” gombra.A TTN kérni fogja az átjáró azonosítóját (egy egyedi nevet a fiókodon belül), és az átjáró típusától függően az átjáró EUI-ját. A klasszikus csomagtovábbítót használó Dragino LPS8 átjárók esetén a „A régi csomagtovábbítót használom” lehetőséget kell kiválasztanod.
Ezenkívül jelezni fogja a frekvenciaterv (EU868 Európában), a megfelelő régiót vagy routert, és opcionálisan a helyet (koordináták, beltéri/kültéri stb.). Az olyan átjárókon, mint az egycellás XIAO ESP32S3 és Wio-SX1262, maga a firmware is megjelenítheti az átjáró azonosítóját a soros porton keresztül indításkor; egyszerűen másolja ki, és használja a regisztrációs űrlapon.
Miután kitöltötte ezeket az információkat és regisztrálta az átjárót, a TTN megjelenít egy űrlapot, ahol ellenőrizheti a állapot („Csatlakoztatva” vagy „Leválasztva”) és egy „Forgalom” részt, ahol valós időben láthatja a csomagok áramlását. Ha minden helyesen van konfigurálva mind az átjárón, mind a TTN-en, egy-két perc múlva „Csatlakoztatva” állapotra kell váltania, és a forgalomnak akkor kell megjelennie, amikor a csomópontok továbbítanak.
Ez azt jelenti, hogy Az infrastruktúra része (átjáró + szerver) már működik.Innentől kezdve az alkalmazások és a végberendezések konfigurációja játszik szerepet.
Alkalmazás létrehozása és csomópont regisztrációja a TTN-ben
A TTN-ben az eszközök nem közvetlenül a fiók gyökerénél, hanem azon belül regisztrálódnak. alkalmazásokEgy alkalmazás egy vagy több csomópontot csoportosít, amelyek kapcsolódó adatokat küldenek, például egy épület összes környezeti érzékelőjét vagy egy oktatási projekt több GPS-követőjét.
A TTN konzolban elérheti a részt Alkalmazások és új alkalmazás létrehozásaAdj neki egy egyedi azonosítót, opcionálisan egy leírást, és válaszd ki a megfelelő régiót. Az alkalmazáson belül regisztráld az egyes LoRaWAN csomópontokat a hitelesítő adataival (DevEUI, JoinEUI/AppEUI és AppKey vagy más kulcsok az aktiválási módtól függően).
Kereskedelmi érzékelőkhöz, mint például Barna fülek TBHH100-868 A hőmérséklet- és páratartalom-érzékelőket általában egy DevEUI, AppEUI és AppKey kóddal ellátott matricára rögzítik. Ezek jellemzően az OTAA (Over-The-Air Activation) módszert használják, amely minden hálózati csatlakozáskor kulcskapcsolatot generál, így biztonságosabb, mint az ABP.
Az OTAA-val a TTN-ben regisztrálhat egy új végberendezést. Bemutatod a JoinEUI-t (AppEUI), a DevEUI-t és az AppKey-tKétszer is ellenőrzöd az adatokat, majd megerősíted azokat. A mentés után, ha a csomópont megfelelően van konfigurálva és egy átjáró hatókörén belül van, akkor látni fogja a hálózati jeladókat, végrehajtja a csatlakozási eljárást, és a konzolon megjelennek a feltöltés üzenetei a méréseikkel együtt.
Ugyanez vonatkozik az olyan érzékelőkre is, mint a Decentlab szint és hőmérsékletA gyártó megadja az azonosítót, a DevEUI-t, az AppEUI-t és az AppKey-t, de nem tudja előre, hogy melyik szervert fogod használni. A te felelősséged, hogy regisztráld ezeket az információkat a TTN-en (vagy egy másik szerveren), hogy a szenzor regisztrálható legyen. Sok Decentlab eszköz előre regisztrálva van a TTN-en, ha kéred, ami tovább egyszerűsíti a folyamatot.
Kereskedelmi LoRaWAN érzékelők konfigurálása
Nézzünk néhány konkrét példát arra, hogyan Kereskedelmi LoRaWAN érzékelők előkészítése és regisztrálása aki ezután a te átjáródon keresztül fog beszélni a TTN-nel.
A SenseCAP S210x termékcsaládban (pl. környezeti érzékelők) a tipikus munkafolyamat a következő: a gyártó SenseCraft alkalmazásaElőször töltsd le az alkalmazást, kapcsold be az érzékelőt egy gombbal (néhány másodpercig tartsd lenyomva, amíg a LED másodpercenként felvillan), és az alkalmazásban válaszd a „Szkennelés” lehetőséget az eszköz QR-kódjának beolvasásához.
Az alkalmazáson belül van egy mód, amellyel „Speciális konfiguráció”, ahol a „The Things Network” platformot választjaUgyanazt a frekvenciatervet kell kiválasztania, mint az átjáróját (például EU868), és ellenőriznie kell, hogy a csatlakozási mód OTAA-e. Az alkalmazás megjeleníti az eszköz EUI-ját, az AppEUI-ját (JoinEUI) és az AppKey-t; érdemes ezeket feljegyezni, mert az eszköz regisztrálásakor be kell majd írnia őket a TTN-be.
Abban az esetben, Érzékelő fülek Browan TBHH100-868A kulcsok gyárilag előre konfiguráltak. Az érzékelő méri a hőmérsékletet és a páratartalmat, egy 3,6 V-os elemmel működik, és a következő szabályok szerint továbbít: 60 percenként, ha nincs változás, vagy hamarabb, ha a hőmérséklet ±2°C-kal, a páratartalom pedig ±5%-kal változik. A regisztráláshoz egyszerűen írja be a gyártó által biztosított APPKey, APPEUI és DevEUI kódokat a LoRaWAN szerverébe (például TTN). Előfordulhat formázási vagy bájtsorrendi (msb/lsb) probléma, ezért fontos ezt ellenőrizni, ha elsőre nem csatlakozik.
sok Dragino TrackerD nyomkövetők GPS nyomkövetőként használják őket pánikgombbal. Minden egységnek saját LoRaWAN kulcskészlete van. A TTN-ben jellemzően ugyanabban az alkalmazásban regisztrálják őket (pl. "pályakövetés"), és az eszközt szükség esetén soros porton (USB) keresztül AT parancsokkal konfigurálják. A dokumentáció részletezi az átviteli sebesség, a riasztási viselkedés stb. beállítására szolgáló parancsokat. Fontos: Sok Dragino firmware megköveteli, hogy az AT parancsokat teljes egészében beillesszék a terminálba, ne pedig karakterenként begépeljék.
Az olyan érzékelőkben, mint a Decentlab szint-, nyomás- vagy környezeti adatokhoz.A filozófia hasonló: a DevEUI, az AppEUI és az AppKey a TTN-hez (vagy más hálózathoz) való csatlakozáshoz használatos. A Decentlab jellemzően 10 perces átviteli intervallumot állít be, mivel ez egy bizonyítottan kompromisszum az adatfelhasználás és a felbontás között, bár ez kérésre vagy konfiguráción keresztül módosítható. A felhasználók megtekinthetik az adatokat a gyártó saját felhőplatformján, vagy integrálhatják az eszközt harmadik féltől származó platformokba (MyDevices, ResIoT, WMW stb.) a megfelelő hasznos adatdekóder hozzáadásával.
Építsd fel saját LoRaWAN csomópontodat nyílt forráskódú hardverrel
Ha szeretsz barkácsolni, a legnagyobb móka általában az,... Építsd fel és programozd a saját LoRaWAN csomópontodatEgy nagyon népszerű kombináció egy integrált LoRa-val ellátott ESP32 alapú kártya, például a TTGO LoRa32 V2.0 868 MHz használata, és egy egyszerű érzékelő, például egy DS18B20 hőmérséklet-érzékelő hozzáadása.
Ez a megközelítés négy darabot igényel: a vezérlőpanel (ESP32, Arduino stb.), a LoRa rádiómodul (például egy RFM95 típusú SX1276/78), a mérni kívánt érzékelő és opcionálisan perifériák, például egy OLED képernyő az adatok helyi megjelenítéséhez.
A TTGO LoRa32 V2.0 integrált LoRa adó-vevővel és verziótól függően egy kis OLED kijelzővel rendelkezik. Az ESP32-re épülve WiFi-t és Bluetooth-t biztosít, és sok esetben tökéletes egycsatornás mini átjáró kiépítéséhez is, ha az internetre csatlakozik. Ezen és a hasonló lapokon azonban... A LoRa modulból (DIO1, DIO2) érkező egyes jelek nincsenek csatlakoztatva a mikrovezérlőhöz. és magadnak kell bedrótoznod őket.
Például a LoRa következő lábkiosztását gyakran használják a TTGO LoRa32 V2.0-ban: SCK a GPIO5-ön, MISO a GPIO19-en, MOSI a GPIO27-en, CS a GPIO18-on, RESET a GPIO14-en és DIO0 a GPIO26-onA DIO1 és DIO2 esetében általában fizikailag a GPIO33-hoz, illetve a GPIO32-höz csatlakoznak, amelyek közvetlenül egymással szemben, az ellenkező sorban helyezkednek el, így nagyon egyszerű egy közvetlen jumpert dobni.
Három tipikus módja van az ilyen ízületek elkészítésének: Forrassza a vezetékeket közvetlenül a tűkhöz (a végső összeszereléshez), használjon áthidaló vezetékeket, ha a panel kenyérlemezen van vagy a csatlakozásokat egy egyedi NYÁK-on kell elvezetni, amelyre a TTGO-t csatlakoztatják. A jumper opció általában a legkényelmesebb a teszteléshez.
Csomópont szoftver: LMIC könyvtár, frekvencia és TTN kulcsok
LoRaWAN csomópont programozásához Arduino/ESP32-n gyakran a következőket használják: MCCI LoRaWAN LMIC könyvesbolt, amely megvalósítja a LoRaWAN-vermet, és mindent kezel, ami a csatornákkal, csatlakozásokkal, újrapróbálkozásokkal, fogadási ablakokkal stb. kapcsolatos.
Először telepíted a könyvtárat a Arduino IDE könyvtárkezelő Keresd meg az „LMIC” kifejezést, és válaszd az „MCCI LoRaWAN LMIC library” lehetőséget. A telepítés után van egy fontos részlet: alapértelmezés szerint az US915 (Egyesült Államok) szabványra van konfigurálva, tehát ha Európában tartózkodsz, EU868-ra kell állítanod.
Ehhez keresd meg a fájlt lmic_project_config.h fájlt a könyvtármappában (valami ilyesmit, mint /Arduino/libraries/MCCI_LoRaWAN_LMIC_library/project_config/) és szerkeszd a definíciókat. Kommentbe kell tenned a CFG_us915 -öt, és engedélyezned kell a CFG_eu868-at, engedélyezve a megfelelő rádiótípust is (például CFG_sx1276_radio az SX1276/78 modulokhoz). Ez egy egyszeri módosítás, amely az összes LMIC projektedre vonatkozik.
Ezután megnyitsz egyet a mellékelt példák közül, például ttn-abpamely periodikusan egy „Hello, world!” üzenetet küld hasznos adatként. Ez a példa szolgál alapul a tábládhoz és a TTN hitelesítő adataidhoz való adaptáláshoz.
A kódban látni fogsz egy struktúrát lmic_pinmap, ahol az NSS (CS), RST és DIO lábak vannak megadva.Alapértelmezés szerint általában a Feather M0 LoRa-hoz van leképezve, tehát ha TTGO LoRa32 V2.0-t használsz, akkor ezt a struktúrát kell módosítanod .nss = 18, .rst = 14 és .dio = {26, 33, 32} használatára (feltételezve, hogy a DIO1-et a GPIO33-hoz, a DIO2-t pedig a GPIO32-höz kötötted). Ha a hardvered eltér, akkor ellenőrizd a dokumentációját, vagy keress egy konkrét példát.
Miután a kiosztás megfelelő volt, játsszon le Konfigurálja a TTN-ben a csomópontot azonosító kulcsokatA ttn-abp példában az NWKSKEY, APPSKEY és DEVADDR változók a FILLMEIN szóval jelennek meg, így a saját értékekkel töltheted ki őket.
Ezeket az információkat a TTN konzolról szerezheti be, amikor ABP aktiválással rendelkező eszközt hoz létre. A TTN a következőket kínálja: Hálózati munkamenetkulcs (NWKSKEY), alkalmazásmunkamenetkulcs (APPSKEY) és eszközcím (DEVADDR)A felületen a kulcsok biztonsági okokból rejtve vannak, de láthatóvá tehetjük őket, és ami a leghasznosabb, az értéket közvetlenül C tömb formátumban másolhatjuk (a "<>" gombbal) a megfelelő bájtsorrenddel (msb). A másolás ikonra kattintva a tömb a vágólapra másolódik, és egyszerűen beilleszthetjük a kódunkba, ahol az egyes FILLMEIN elemek találhatók.
Az NWKSKEY és az APPSKEY esetében a következőt kell használnia: a TTN által biztosított bájttömb-formátumA DEVADDR esetében a hexadecimális értéket egyetlen u4_t típusú egész számként kell beállítanod, például `static const u4_t DEVADDR = 0x26011111;`. Ez lehetővé teszi a csomópont számára, hogy hitelesítse és a csomagjait a TTN alkalmazásodhoz irányítsa.
Szenzorok integrálása a csomópont kódjába
Miután a LoRaWAN váz működik, itt az ideje... Cseréld le a tipikus „Helló, világ!” üzenetet valódi szenzoradatokkalA TTGO LoRa32 és egy DS18B20 példájánál folytatva, a OneWire buszt és a DallasTemperature könyvtárat használod.
A vázlat elején add meg a fejléceket és definiáld a buszcsatlakozót: #belefoglalás , #belefoglalás és #define ONE_WIRE_BUS Xahol X a GPIO, amelyhez az érzékelőt csatlakoztatta. Létrehozza a OneWire objektumot: oneWire(ONE_WIRE_BUS) és DallasTemperature sensor(&oneWire). Ha nincs telepítve a DS18B20 könyvtár, akkor a könyvtárkezelőből adhatja hozzá.
A setup() függvényben inicializálod az érzékelőt a következővel: sensor.begin() függvényt, és ha szeretnéd, beállíthatod a felbontást (például sensor.setResolution(11)).Innentől kezdve az érzékelő készen áll a hőmérséklet leolvasására, amikor csak szüksége van rá.
Az LMIC kulcsfüggvénye az adatok küldéséhez a `do_send(osjob_t* j)`. Belül egy folyamatban lévő átvitel ellenőrzését látod (`OP_TXRXPEND`). Ha nincs ilyen, akkor meghívod a `sensor.requestTemperatures()` függvényt, a `sensor.getTempCByIndex(0)` segítségével lekéred az értéket, és a `mydata` tömbben tárolod. Például használhatod a `mydata[0] = (uint8_t)sensor.getTempCByIndex(0);` függvényt, hogy csak az egész részt küldd el.
Akkor hívsz LMIC_setTxData2(1, mydata, sizeof(mydata), 0)ahol az első paraméter a LoRaWAN port (ebben az esetben 1), a második a puffer, a harmadik a méret, az utolsó pedig azt jelzi, hogy az üzenet nyugtázásra került-e (1) vagy nem nyugtázott (0). A könyvtár a következő elérhető időrésben kezeli az átvitel ütemezését.
Sok lehetséges fejlesztés van: Bővítsd a hasznos adatot egy decimális résszel, adj hozzá további érzékelőket, és csomagold be az adatokat hatékony bináris formátumba.stb. De még ebben az egyszerű verzióban is van egy csomópont, amely rendszeresen valós méréseket küld a TTN-nek, látható a konzolon és készen áll a más rendszerekkel való integrációra.
OTAA aktiválás, biztonság és gyakorlati tapasztalat
Eddig főleg az ABP-ről beszéltünk kódpéldák formájában, de éles környezetben is Erősen ajánlott az OTAA (Over-The-Air Activation) használata.Az OTAA-t például a Decentlab érzékelők és számos SenseCAP érzékelő is használja, mivel erősíti a biztonságot.
OTAA-val, a LoRaWAN munkamenettel Minden alkalommal, amikor az eszköz csatlakozik a hálózathoz, „éterben” folytat tárgyalásokat.Amikor a csomópont leáll, újraindul, vagy elveszíti a kapcsolatot, új munkamenetkulcsok generálódnak a következő csatlakozáskor, ami megnehezíti az eszköz klónozását egyszerűen statikus kulcsok másolásával.
A TTN konzolban, amikor egy eszközhöz OTAA-t választasz, a statikus NWKSKEY és APPSKEY helyett a következő lesz a kódod: DevEUI, JoinEUI/AppEUI és AppKeyA munkamenet-kulcsok minden alkalommal ezekből az értékekből és a szerverrel folytatott adatcseréből épülnek fel, és a munkamenet időtartama alatt csak a származtatott kulcsokat fogja látni.
A gyakorlatban a LoRaWAN-nal a nulláról kezdő felhasználók azt tapasztalták, hogy Egy TTN-nél regisztrált átjáróval és egy megfelelően konfigurált OTAA érzékelővel a regisztrációs folyamat nagyon egyszerű lehet.hozzon létre egy fiókot a TTN-en, aktiválja az átjárót, regisztrálja a szenzort a gyártó által biztosított kulcsokkal, és néhány percen belül tekintse meg az adatokat egy webes platformon (akár a Decentlab saját, akár a SenseCAP, akár harmadik féltől származó irányítópultokon).
Olyan tényezők, mint LoRa érzékelődoboz helye (legjobb függőleges helyzetben, ami a belső antenna sugárzási mintázatát kedvez)A rádiós környezet és az átjáró magassága nagyban befolyásolja a tényleges lefedettséget, de a konfigurációs folyamat meglehetősen mechanikus, ha egyszer megértjük.
A TTN-től az alkalmazásaiig: integrációk és vizualizáció
Miután a csomópontok most feltöltik az adatokat a TTN-re, a következő lépés a következő: Vigye be ezeket az információkat saját alkalmazásaiba, irányítópultjaiba vagy automatizálási munkafolyamataibaA TTN ehhez integrációkat és egy nagyon hatékony API-t biztosít.
Egy nagyon elterjedt módszer az, hogy A Node-RED segítségével adatokat fogadhat a TTN-től, és azokat tetszés szerint feldolgozhatjaKonfigurálsz egy MQTT vagy HTTP kapcsolatot a TTN alkalmazásod hitelesítő adataival, dekódolod a hasznos adatot (a szenzorok formátuma szerint), és onnan gyakorlatilag mindent megtehetsz: adatbázisokba menthetsz, grafikonokat jeleníthetsz meg, riasztásokat indíthatsz el stb.
Egy másik lehetőség az igénybevétel harmadik féltől származó platformok, amelyek már integrálódnak a TTN-nelmint például a Datacake, MyDevices, ResIoT, WMW és mások. Sokuknak már vannak speciális sablonjai olyan eszközökhöz, mint a Decentlab érzékelők vagy egyes Dragino modellek, így csak ki kell választania az eszköztípust, össze kell kapcsolnia a TTN alkalmazással, és máris elkezdheti megtekinteni az adatokat „felhasználóbarát” irányítópultokon.
Oktatási projektekben például a TTN-t a következőkkel együtt használták: RAK7289 átjárók és Dragino TrackerD nyomkövetők személyek vagy járművek helymeghatározásához. A munkafolyamat a következő: regisztrált átjáró, a TTN-ben regisztrált nyomkövetők, az adatok megtekintése a konzolon, majd valós időben megjelenítés egy nyilvános Datacake irányítópulton térképekkel és grafikonokkal a pozícióról, az akkumulátor töltöttségi szintjéről stb.
A lényeg az, hogy megértsük, hogy A TTN LoRaWAN hálózati rétegként és adatútválasztóként működik.Ön dönti el az alkalmazás és a vizualizáció rétegét: egy API-t felhasználó Python szkripttől kezdve az ipari IoT adatplatformig.
Röviden, egy LoRaWAN csomópont TTN-hez való csatlakoztatása több lépésből áll (helyes frekvencia, megfelelően konfigurált átjáró, TTN regisztráció, csomópontkulcsok, OTAA vagy ABP aktiválás, eszközszoftver, és szükség esetén további integrációk), de minden rész előzetes tapasztalat nélkül is kezelhető, ha a megfelelő irányelveket követik. A kezdeti beállítás befejezése után további csomópontok vagy átjárók telepítése egy rendkívül megismételhető és skálázható folyamattá válik, amely tökéletes nagyméretű érzékelőprojektekhez, intelligens város kezdeményezésekhez, vagy egyszerűen a nagy hatótávolságú IoT-vel való tanuláshoz és kísérletezéshez.
Tartalomjegyzék
- Mik a LoRa és a LoRaWAN, és miért érdemes használni a TTN-t?
- LoRaWAN frekvenciák, csatornák és korlátozások
- Átjáró és csomópontok hardverének előkészítése és kiválasztása
- Konfiguráljon egy LoRaWAN átjárót, és csatlakoztassa a TTN-hez
- Átjáró regisztráció a The Things Networkön
- Alkalmazás létrehozása és csomópont regisztrációja a TTN-ben
- Kereskedelmi LoRaWAN érzékelők konfigurálása
- Építsd fel saját LoRaWAN csomópontodat nyílt forráskódú hardverrel
- Csomópont szoftver: LMIC könyvtár, frekvencia és TTN kulcsok
- Szenzorok integrálása a csomópont kódjába
- OTAA aktiválás, biztonság és gyakorlati tapasztalat
- A TTN-től az alkalmazásaiig: integrációk és vizualizáció