Events

:

:

Elektronik | Funk | Software

Der Technik-Blog

  • Social Media

    YouTube

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden

    Der Technik-Blog

    Dragino LHT65 LoRaWAN Sensor TTN

    LHT65 mit LoRaWAN & TTN verbinden

    Alex @ AEQ-WEB

    Der LHT65 ist ein Gerät (Thing) für das LoRaWAN und TTN. Es handelt sich dabei um eine Temperaturmessstation bestehend aus zwei internen Sensoren und einem externen Temperatursensor. Bei dem externen Sensor handelt es sich um den bekannten DS18B20. Intern befindet sich ein kombinierter Sensor, der die Temperatur und Luftfeuchtigkeit messen kann. Der Sensor eignet sich daher sehr gut, wenn man z. B. die Temperatur von einem See oder Gewässer messen möchte. Aber auch auf hohen Bergen, wo extreme Witterung herrscht, ist der Sensor gut geeignet, da er mit einer Batterie über viele Jahre betrieben werden kann. In diesem Artikel geht es um die Inbetriebnahme des Sensors und um die Verknüpfung mit dem LoRaWAN Netzwerk TTN. Als Gateway wird das Dragino LG-02 verwendet. Grundsätzlich kann aber auch jedes andere Gateway bzw. bereits existierende öffentliche Gateways verwendet werden.

    Achtung: Dieser Artikel ist veraltet und nicht mit TTN V3 kompatibel. Ein Update zum Projekt gibt es in diesem Artikel.



    Aufbau vom Sensor

    Der Sensor hat eine eingebaute, offiziell nicht austauschbare Batterie, die laut Herstellerangabe 8 bis 10 Jahre halten soll. Im inneren befindet sich eine Platine mit einem STM32 Mikrocontroller, der extrem energiesparend ist, sowie der bekannte SX1276 LoRa Chip von Semtech. An der Rückseite befindet sich ein 4-Poliger Anschluss, über den die Firmware aktualisiert werden kann. Außerdem wird über diese Schnittstelle eine serielle Verbindung aufgebaut, worüber der Sensor konfiguriert wird. An der Vorderseite befindet sich eine mehrfarbige Status-LED, ein QR-Code sowie die Typenbezeichnung. An der Unterseite befindet sich ein Taster und ein Klinkenanschluss für den externen Sensor (DS18B20).

    Aktivieren des Sensors

    Im Auslieferungszustand ist der Sensor bereits vorkonfiguriert mit entsprechenden Schlüsseln. Diese Schlüssel müssen dann im TTN oder einem anderen LoRaWAN Netzwerk eingegeben werden. Anschließend kann der Sensor über den Button durch ein langes drücken aktiviert werden. Der Sensor startet mit einem JOIN-Request und versucht über OTAA mit dem LoRaWAN Netzwerk zu kommunizieren. Achtung: OTAA wird von einigen Gateways nicht direkt unterstützt, da diese oft nur auf einer Frequenz (Single Channel Gateway) bzw. zwei statischen Frequenzen (Bsp. Dragino LG-02) arbeiten. Entweder wird der Sensor entsprechend für diese Gateways konfiguriert, oder man wechselt in den ABP-Mode und erhöht dadurch die Kompatibilität. Hinweis: In diesem Artikel wird der Sensor über ABP mit dem TTN verbunden, was im Gegensatz zu OTAA einfacher ist, da man sich den gesamten JOIN-Request Ablauf erspart. ABP hat gegenüber OTAA auch Nachteile bei der Sicherheit, was aber bei einem einfachen Sensor, der keine sensiblen Daten überträgt, vernachlässigbar ist.

    Sensor über PC konfigurieren

    Der Sensor kann über die serielle Schnittstelle konfiguriert werden. Ein entsprechendes Kabel vom Sensor auf den Jumper-Wire-Anschluss liegt ebenfalls bei. Um eine Verbindung mit dem Computer herzustellen, wird ein TTL Adapter (USB -> RS232) benötigt. Außerdem wird über dieses Kabel die Firmware aktualisiert (ST-Link Programmer erforderlich). Alternativ kann auch der Arduino als serielle Brücke verwendet werden. Die folgende Grafik zeigt die Pinbelegung zwischen Sensor und RS232 Adapter:

    Einstieg bei TTN

    Als Erstes muss man sich bei TTN (The Things Network) registrieren. Für den Betrieb des Sensors ist ein Gateway erforderlich. Dieses muss jedoch nicht zwingend selbst betrieben werden, aber gerade für den Einstieg und die erleichtere Fehlersuche ist ein eigenes Gateway durchaus empfehlenswert. Ansonsten können die meisten öffentlichen Gateways in der Nähe verwendet werden. Grundsätzlich kann ein registrierter Sensor bzw. Applikation auf jedes Gateway zugreifen, was mit TTN Verbunden ist und auf die gleichen Konfigurationsparameter (SF, Coding Rate, Bandbreite, Frequenz etc.) eingestellt ist.

    1. Neue Applikation erstellen

    Im ersten Schritt muss im TTN eine neue Applikation erstellt werden. In dieser Applikation werden anschließend erst ein oder mehrere Geräte (Things) registriert. Hier müssen zwei frei wählbare Parameter (Application ID, Description) vergeben werden. Diese Parameter haben keinen weiteren Einfluss auf die Endgeräte bzw. Gateways.

    Werbung:

    2. Device Keys auslesen

    Die Schlüssel können entweder vom beiliegenden Sticker abgelesen und bei TTN entsprechend eingegeben werden oder direkt vom Sensor über einen Terminal-Client ausgelesen werden. Da die Schlüssel sehr lange sind und der kleinste Fehler bereits zu einem Verbindungsabbruch führt, ist es recht praktisch, wenn man sich die Parameter einfach aus dem Terminal herauskopiert. Da später die "Device Address" sowieso geändert werden muss, ist eine serielle Verbindung und Konfiguration in diesem Fall immer notwendig. Wie im oberen Bild gezeigt, wird der Sensor an den USB-Adapter angeschlossen. Über eine Terminal-Software wie Putty wird am entsprechenden COM-Port eine Verbindung mit einer Baud-Rate von 9600 aufgebaut. Anschließend tippt man im Terminal folgenden Zeichen ein und drückt Enter:

    123456
    Antwort: Correct Password

    AT+CFG
    Mit diesem Befehl wird die gesamte Konfiguration inkl. aller Schlüssel ausgeben. Wie im folgenden Screenshot gezeigt, kopiert man sich die rot markierten Schlüssel ein einem Texteditor:

    3. Device bei TTN registrieren

    Nachdem alle notwendigen Schlüssel ausgelesen wurden und eine Applikation erstellt ist, kann dort das erste Gerät registriert werden. Die Device-ID ist wieder frei wählbar und hat keine direkte Auswirkung auf das Endgerät. Anschließend muss die Device EUI (DEUI) und der App Key (APPKEY) vom Gerät in TTN eingeben werden. Beide Schlüssel können direkt aus dem Terminal in das Eingabefeld kopiert werden. Die App EUI wird vorerst von TTN automatisch generiert und kann nach dem Anlegen des Sensors geändert werden.

    4. Device Übersicht

    Nachdem die ersten Schlüssel und Bezeichnungen eingegeben wurden, ist der Sensor im TTN hinterlegt und wird in der Device Overview entsprechend angezeigt.

    5. Schlüssel & Aktivierung einstellen

    Unter Applications -> APP_NAME -> Devices -> DEVICE_ID -> Settings kann dem neu hinzugefügten Gerät eine Beschreibung vergeben werden. Anschließend muss wie im nächsten Screenshot zu sehen die Activation Method von OTAA auf ABP geändert werden. Zusätzlich muss im ABP-Mode noch der Network Session Key (NWKSKEY) und der App Session Key (APPSKEY) eingeben werden. Beide Schlüssel können auch hier wieder aus dem Terminal kopiert werden.

    Werbung:

    6. APP EUI hinzufügen

    Damit die Sensordaten auch in die richtige Applikation kommen, muss die entsprechende EUI hinzugefügt werden. Unter Applications -> APP_NAME -> Settings -> EUIS kann der Applikation eine weitere EUI hinzugefügt werden. Auch hier wird wieder die APPEUI aus dem Terminal in das Eingabefeld kopiert. Anschließend sollten in TTN zwei EUIS angezeigt werden. Die zweite bereits vorhandene EUI, welche im Schritt 3 automatisch von TTN generiert wurde, kann gelöscht werden. Alternativ kann aber auch die von TTN generierte EUI im Sensor geändert werden, was diesen Schritt ersparen würde.

    7. APP EUI zuweisen

    Nachdem die Application EUI hinzugefügt wurde, muss diese auch dem Sensor zugewiesen werden. Unter Applications -> APP_NAME -> Devices -> DEVICE_ID -> Settings wird die zuvor eingegebene richtige EUI dem Gerät zugewiesen und gespeichert.

    8. Device Adresse auslesen

    Im gleichen Fenster wie bei Schritt 7 wird anschließend die Device Address in die Zwischenablage kopiert. Diese kurze Adresse wird im nächsten Schritt über das Terminal auf das Gerät kopiert.

    9. Sensor auf ABP-Mode umstellen

    Im letzten Schritt muss der Sensor über das Terminal auf den ABP-Mode umkonfiguriert werden. Außerdem muss die Device Address geändert werden. Über das Terminal werden folgende Befehle an den Sensor gesendet:

    1. Passwort eingeben:

    123456

    2. Wechsel in den ABP-Mode:

    AT+NJM=0

    3. Adaptive Data Rate deaktivieren:

    AT+ADR=0

    4. Data Rate einstellen (5 = EU Band):

    AT+DR=5

    5. Sendeintervall einstellen (600 000 millis = 10 min):

    AT+TDC=600000

    6. Sendefrequenz einstellen auf 868,1 MHz:

    AT+CHS=868100000

    7. Device Address ändern auf TTN Vorgabe:

    AT+DADDR=11 22 33 AA

    *11 22 33 AA muss auf die im Schritt 8 ermittelte Adresse geändert werden

    8. Controller neu Starten:

    ATZ

    Das folgende Bild zeigt einen Screenshot vom Terminal. Nach jeder der vorherigen Eingabe muss ein OK vom Sensor ausgegeben werden.


    Werbung:

    10. Verbindungsstatus im TTN

    Nachdem alle Parameter sowohl in TTN als auch am Sensor richtig eingestellt wurden, sollte unmittelbar nach dem letzten Befehl (ATZ) ein Datenpaket im TTN ankommen. Im unteren Screenshot sieht man das empfangene Paket mit der Payload. Die Payload beinhaltet alle Messwerte, Batteriespannung etc. bereits entschlüsselt in Hexadezimalen Paketen. Um aus der Payload die einzelnen Messwerte zu bekommen, wird ein entsprechender Decoder benötigt.

    11. Encoder hinzufügen

    Der Encoder wandelt die empfangene Payload in die einzelnen Werte um. Bei LoRaWAN versucht man die Größe der zu übertragenden Daten (Payload) so gering wie möglich zu halten. JSON oder eine Klartext-Übertragung sollte daher vermieden werden. Je nach Sensor gibt es in der Regel einen bereits fertigen Code vom Hersteller, der in das Decoder-Feld kopiert wird. Der Code ähnelt einer C++ Programmierung, wie man Sie aus der Arduino-Welt kennt. Durch das decodieren der Werte können die einzelnen Datensätze vom TTN zum Beispiel im JSON-Format an den entsprechenden Applikation-Server weitergeben werden. Den Decoder für den LHT65 Sensor gibt es hier: LHT65 Payload Decoder

    12. Decodierte Payload anzeigen

    Nachdem der Decoder in die TTN-Applikation integriert wurde, werden ab sofort alle empfangenen Werte wie im unteren Screenshot zu sehen, im Klartext angezeigt. An dieser Stelle ist die Einrichtung vom Sensor erfolgreich abgeschlossen und kann über die verschiedenen Schnittstellen von den weiteren Servern/Anwendungen verarbeitet werden.


    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

    YouTube

    Werbung:


    Neue Artikel


    Events

    • Keine zukünftigen Events vorhanden