preloader

Auf AEQ-WEB Suchen

AEQ-WEB | Blog

Dragino LHT65 LoRaWAN Sensor TTN

LHT65 mit LoRaWAN & TTN verbinden

5 Jahre AEQ-WEB - Zeig dein Projekt

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.

Nützliche Artikel zum Projekt:

Dragino LG-02 LoRaWAN Gateway installieren


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:

LHT65 Serial Configuration Wiring

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.

LHT65 TTN Add new Application

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:

LHT65 TTN Read Keys from Serial

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.

LHT65 TTN Add Device ID, Device EUI, APP KEY

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.

LHT65 TTN Add Device Overview

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.

LHT65 TTN Add Network & Applikation Key

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.

LHT65 TTN Add APP EUI

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.

LHT65 TTN Change APP EUI

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.

LHT65 TTN Read Device Address

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.


LHT65 TTN Add Set to ABP Mode

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.

LHT65 TTN Successful Connect Payload

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

TTN Add Device 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.

TTN Show Decoded Device Payload

Share:
thumbnail
24.05.2018
Baofeng Tipps & Tricks

In diesem Artikel zeigen wir, wie das Baofeng eingestellt wird und was die einzelnen Parameter in den Einstellungen bedeuten sowie die Programmierung am PC

Alex @ AEQ-WEB
thumbnail
29.08.2018
Baofeng programmieren mit Chirp

In diesem Beitrag zeigen wir, wie das Baofeng UV5-R mit einem USB-Kabel und der Software Chirp programmiert wird.

Alex @ AEQ-WEB