LoRaWan

ESP32

robotzero

lorawan-node
--------

The Things Network

library

thethingsnetwork.org/community

github:

fambach.net/esp32-wifi-lora-433

Bundesnetzagentur:

iot-usergroup.de/t/ein-neuer-lorawan-node-auf-basis-des-heltec-wifi-lora-32/246

heltec-wifi-lora32-als-lorawan-knoten

Da der Heltec Node einen USB-UART Konverter an der Schnittstelle eingebaut hat, kann es erforderlich sein, einen entsprechenden Treiber in seiner IDE einzubinden. Bei mir auf dem MAC OSX heißt das entsprechende Gerätedevice /dev/cu.SLAB_USBtoUART . Man bekommt den Treiber z. B. hier: https://www.silabs.com/ 23.

Vor‘m Compilieren des Codes müssen noch die für die Anmeldung am TTN-Netzwerk jeweils passenden Anmeldeinformationen (Credential) angepaßt werden. Dabei muß man entscheiden, ob eine Anmeldung mit ABP (Activation By Personalization) oder mit OTAA (Over The Air Activation) im Sketch benutzt wird.

Bei der ABP-Anmeldung werden im Sketch die Parameter Network Session Key (NwkSKEY), Application Session Key (AppSKEY) und die LoRaWAN End-Device Address (DEVADDR) benutzt. Diese müssen mit den vom TTN Network für Euren Node generierten Werten übereinstimmen. Bei der OTAA-Anmeldung dagegen sind die Application EUI (APPEUI), die Device EUI (DEVEUI) und der App Session Key (AppsKEY) anzupassen.

Zu beachten ist auch, daß die ABP-Authentication als unsicher anzusehen ist. Die OTAA-Authentication dagegen ist als sicher zu betrachten. Die Sicherheit der Verschlüsselung wird durch drei 128-Bit Schlüssel gewährleistet. Die Schlüssel sind der AppKey (im Gerät und Applikation), der AppSKey (privat - mit ihm wird der Payload verschlüsselt) und der NwkSKey (im Netz bekannt).

Bei der OTAA Authentication wird der AppSKey und der NwkSKey auf den Node übertragen. Bei der ABP-Authentication werden sie im Gerät gespeichert, und zwar im Quelltext. Ein weiterer Sicherheits-Feature ist die Tatsache, daß OTAA bei jeder Verbindung einen neuen Verschlüsselungs-Code zuweist. Hierbei wird der Anwendungsschlüssel (AppKey) benutzt, von dem während des Aktivierungsvorgangs die beiden Sitzungsschlüssel abgeleitet werden. Diese beiden Sitzungsschlüssel (NwkSKey und AppSKey) werden bei jeder Aktivierung neu generiert. Bei ABP ändert sich der Verschlüsselungs-Code dagegen nie. Es sei denn, er wird von Dir explizit geändert.

aus dem forum.iot-usergroup.de