Events

30.01.2022: TTN Ubidots Integration

06.02.2022: Einfacher LC-Oszillator

Eletronik | Funk | Software

Der Technik-Blog

  • Social Media

    Werbung:


    Neue Artikel


    Der Technik-Blog

    Arduino ESP32 LoRa TTN LoRaWAN Registration ABP Mode

    Arduino & ESP32 TTS Registrierung (OTTA)

    Alex @ AEQ-WEB

    Für die Teilnahme am LoRaWAN-Netzwerk werden ja nach Betriebsmodus verschiedene Schlüssel benötigt. Während fertige LoRa-Sensoren bereits mit entsprechenden Schlüsseln ausgeliefert werden, ist dies bei Selbstbau-Sensoren nicht der Fall. In diesem Artikel geht es um die Registrierung von eigenen Development-Boards wie Arduino, ESP32 und ähnlichen beim TTN Nachfolger TTS (The Things Stack).

    Unterschied zu ABP

    Bei ABP wird dem Endgerät bereits eine Device-Address vergeben. Diese ist direkt im Endgerät gespeichert und bleibt immer gleich. Ebenso werden die Sitzungsschlüssel (AppSessionKey & NetworkSessionKey), welche zur Verschlüsselung und Authentifizierung notwendig sind, statisch gespeichert. Bei OTTA wird hingegen im Endgerät der AppKey, die AppEUI und DevEUI statisch gespeichert. Die später notwendigen Sitzungsschlüssel (AppSessionKey & NetworkSessionKey) und Device-Address entstehen erst nach dem erfolgreichen JOIN-Request. Anschließend erfolgt die Übertragung der Payload ähnlich wie bei ABP. OTTA bietet somit mehr Sicherheit und aufgrund der dynamischen Parameterzuweisung auch mehr Flexibilität beim Wechsel zwischen verschiedenen Netzwerken bzw. Transferrouten.

    1. Application anlegen

    Wenn noch keine Application vorhanden ist, muss diese zuerst erstellt werden. In der Application werden anschließend einzelne Geräte angelegt. Die Application beinhaltet neben der Gerätekonfiguration & API-Keys auch den globalen Payload-Decoder und die Schnittstellenkonfiguration für die Datenweitergabe (Integrations). Zum Anlegen einer Application muss eine Application-ID sowie optional ein Name und eine Beschreibung definiert werden:

    Werbung:

    2. End Device Registrieren

    In der Application wird ein neues Endgerät angelegt. Da es für Selbstbau-Geräte keine Konfigurationsvorlage gibt, muss die gesamte Konfiguration manuell eingeben werden. Folge Parameter werden im ersten Schritt angeben:

    Activation Mode: Over the air activation (OTAA)
    LoRaWAN Version: abhängig von der Library (MCCI LIMC V 3.2.0 unterstützt MAC V 1.0.3)
    Network Server Address: wie von TTS vordefiniert (eu1.cloud.thethings.network)
    Application Server Address: wie von TTS vordefiniert (eu1.cloud.thethings.network)
    External Join Server: Nein
    Join Server Address: wie von TTS vordefiniert (eu1.cloud.thethings.network)

    2.1 Basis Einstellungen

    Unter den Basiseinstellungen werden Geräteschlüssel und Namen vergeben. Bei gekauften Sensoren werden diese Parameter vom Hersteller vergeben. Für die Registrierung von einem eigenen Board müssen die Schlüssel daher selbst generiert werden:

    End Device ID: Diese ID ist für jedes Gerät in der Application einzigartig. Die Device-ID besteht aus Kleinbuchstaben, Zahlen und Bindestrichen. Da maximale Länge beträgt 36 Zeichen.

    App EUI: Die AppEUI seltener auch JoinEUI genannt, identifiziert die Application. Für Testzwecke kann auch folgende EUI vergeben werden: 00 00 00 00 00 00 00 00. Eine identische AppEUI kann auch für mehrere Geräte verwendet werden, wobei dies wiederum vom verwendeten Application Server abhängig ist. Für Selbstbau-Sensoren kann daher auch eine eigene AppEUI generiert werden.

    Dev EUI: Die DevEUI ist eine eindeutige Geräte-ID. In der Applikation darf diese EUI nur an ein Gerät vergeben werden. Auch hier wird für Selbstbau-Sensoren einfach eine DevEUI generiert.

    End Device Name: Dieses Feld ist optional.

    End Device Description: Eine optionale Beschreibung vom Gerät.

    Werbung:

    2.2 Netzwerk Einstellungen

    Im zweiten Schritt werden sämtliche Frequenzeinstellungen sowie unterstützte Lora-Standards ausgewählt:

    Frequency Plan: Hier wird mittels DropDown das vom Endgerät unterstützte Frequenzband ausgewählt. Die Standard-Einstellung in Europa: 863 - 870 MHz, RX2 = SF9. Einige Geräte verwenden im RX2-Zeitfenster S-Faktor von 12 anstatt 9.

    LoRaWAN Class: Die aktuelle Version der LMIC-Library unterstützt neben der Klasse A auch die Klasse B. Sollte am Endgerät das Feature der Klasse B (bietet zusätzlich vom Netzwerk aus gesteuerte RX-Zeitfenster) benötigt werden, so kann dies optional aktiviert werden.

    Alle weiteren Einstellungsmöglichkeiten sind optional und für die allgemeine Verwendung kaum relevant.

    2.3 Join Einstellungen

    Im letzten Schritt wird der AppKEY generiert. Der AppKEY ist für die Verschlüsslung notwendig. Nach dem JOIN-Request teilt das LoRaWAN Netzwerk (mit dem AppKey verschlüsselt) dem Endgerät die zukünftigen Sitzungsschlüssel mit. Der AppKEY kann entweder manuell eingegeben werden oder automatisch von TSS generiert werden:

    3. LoRaWAN Schlüssel kopieren

    Nachdem das Gerät angelegt wurde, leitet TTS automatisch zur Geräteübersicht weiter. Die meisten Librarys, darunter auch die LMIC Library arbeiten mit einer Bitwertigkeit. AppEUI und DevEUI müssen daher im LSB (Least Significant Bit) Format kopiert werden. Bei LSB wird die Reihenfolge so vertauscht, dass das hexadezimale Zahlenpaar an erster Stelle steht und das bei MSB (Most Significant Bit) erste Zahlenpaar an letzter Stelle. Es wird also von hinten nach vorne gelesen. Der AppKey bleibt im MSB Format und kann so wie er angezeigt wird, kopiert werden. Der folgende Screenshot zeigt die richtig formatierten Schlüssel, wie sie im Beispielcode eingefügt werden müssen:

    Werbung:


    122X122

    Über den Autor

    Alex, der Gründer von AEQ-WEB. Seit über 10 Jahren beschäftigt er sich mit Computern und elektronischen Bauteilen aller Art. Neben den Hardware-Projekten entwickelt er auch Webseiten, Apps und Software für Computer.

    Top Artikel in dieser Kategorie:

    ESP32 LoRa Board LoRaWAN TTN ABP Connect

    LoRaWAN & TTN mit ESP32

    • Video
    • DE/EN

    Das ESP32 LoRa Board von Heltec unterstützt LoRa. In diesem Artikel geht es um den Zugang und Datentransfer zu LoRaWAN & TTN

    Weiterlesen
    LoRa ESP32 Library Setup Arduino IDE and Test

    ESP32 LoRa Arduino IDE Setup

    • Video

    In diesem Artikel zeigen wir, wie ein ESP32 LoRa Board im Arduino IDE konfiguriert wird und wie der angepasste Beispielcode für LoRa funktioniert

    Weiterlesen

    Social Media

    Werbung:


    Neue Artikel