preloader

Auf AEQ-WEB suchen:

AEQ-WEB | Blog

Dragino LHT65 with TTN V3 setup

LHT65 in TTN V3 registrieren (OTTA)

Beim LHT65 handelt sich um eine LoRaWAN Temperaturmessstation bestehend aus zwei internen Sensoren (Temperatur & Luftfeuchtigkeit) und einem externen Temperatursensor. Beim externen Sensor handelt es sich um den bekannten DS18B20. Besonders gut ist das Energiemanagement dieser Node, da diese mit einer Batterie über viele Jahre betrieben werden kann und daher fast wartungsfrei ist. In diesem Artikel geht es um die Konfiguration vom LHT65 mit dem LoRaWAN Netzwerk TTN V3 (The Things Stack) im OTTA-Betrieb. Für OTTA wird ein 8-Kanal LoRaWAN Gateway wie zum Beispiel das MikroTIK LR8 empfohlen. Wer ein Single Channel Gateway wie zum Beispiel ein Dragino LG01 oder LG02 betreibt, kann OTTA nur mit einer Sonderkonfiguration betreiben. Daher sollte man bei dieser Variante eher auf ABP setzen. Eine Anleitung zur Konfiguration vom ABP-Betrieb findet man im folgenden Artikel: LHT65 mit TTN V3 verbinden (ABP).

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 zum LHT65 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).

Dragino LHT65 Unboxing

Sensor bei TTN registrieren

In der Packung befindet sich ein Sticker mit vielen Schlüsseln (Keys), welche für die Registrierung im LoRaWAN Netzwerk benötigt werden. Selbstverständlich können, falls notwendig auch alle Schlüssel im Gerät geändert werden. Grundsätzlich ist dies bei OTTA nicht notwendig, da jede Node mit eindeutigen Keys ausgeliefert wird. Jede Node kann nur einmalig mit den Hersteller-Keys bei TTN registriert werden. Folgende Keys werden für die OTTA-Registrierung benötigt:

  • App EUI
  • Dev EUI
  • App KEY
  • 1. Application anlegen

    Vor der eigentlichen Sensor-Registrierung muss eine Application angelegt werden. Die Application umfasst alle Sensoren, Schnittstellen und den zentralen Decoder (Payload Formatter in V3). Werden später weitere baugleiche Sensoren in Betrieb genommen, so können diese in die bereits bestehende Application integriert werden. Die Application-ID sowie optional ein Name & eine Beschreibung können frei gewählt werden.

    2. Device anlegen

    Der Sensor kann entweder über die Repository oder manuell hinzugefügt werden. Für dieses Beispiel wurde die manuelle Variante gewählt, da über diese Variante auch Sensoren hinzugefügt werden können, die in der Repository nicht existieren. Folgende Einstellungen werden in Europa für LHT65 gewählt:

    LHT65 TTN V3 set Frequency and LoRaWAN MAC Version

  • Frequency plan: Europe (SF9 for RX2)
  • LoRaWAN version: MAC V1.0.3

  • Anschließend werden die im Lieferumfang enthaltenen Schlüssel eingeben:

    LHT65 TTN V3 set OTTA Keys

    Nach dem Klick auf "Register end device" wird das Gerät angelegt und angezeigt. Das Gerät kann im nächsten Schritt aktiviert werden.

    3. Einschalten & Aktivieren

    An der Unterseite vom LHT65 befindet sich ein Taster, der zur Aktivierung für etwa drei Sekunden betätigt wird. Die grüne LED leuchtet während dieser Zeit dauerhaft. Der JOIN-Request wird gesendet und der Sensor wartet auf die Zuweisung der Keys vom Netzwerk-Server. War der JOIN-Request erfolgreich, leuchtet die blaue LED kurz auf. Anschließend werden bereits die ersten Messwerte an TTN gesendet. Folgender Screenshot zeigt die hexadezimale Payload:

    LHT65 RAW Payload

    4. Payload Formatter

    Der Uplink Payload Formatter (vormals Decoder) wandelt die vom Gerät encodierte Payload wieder in die einzelnen Messwerte um. Es handelt sich hierbei um einen JavaScript, der das hexadezimale Payload-Array mittels Bit-Shifting wieder in die einzelnen Bestandteile zerlegt. Weitere Informationen und Beispiele über die LoRaWAN-Payload können in diesem Artikel nachgelesen werden. Folgender Screenshot zeigt einen Teil vom Payload-Formatter:

    LHT65 Payload Formatter (Decoder)

    Folgender Payload-Formatter (Decoder) wird als Javascript eingefügt:

    //Payload decoder for LHT65 with external DS18B20
    function Decoder(bytes, port) {
      
      var batt_v = ((bytes[0]<<8 | bytes[1]) & 0x3FFF)/1000;
      var temp_int = ((bytes[2]<<24>>16 | bytes[3])/100).toFixed(2);
      var temp_ext = ((bytes[7]<<24>>16 | bytes[8])/100).toFixed(2);
      var hum_int = ((bytes[4]<<8 | bytes[5])/10).toFixed(1);
      var ext_sen = 
           {
             "0":"No external sensor",
             "1":"Temperature Sensor",
           }[bytes[6]&0x7F];
    
        return {
          Ext_sensor: ext_sen,
          BatV: batt_v,
          TempC_SHT: temp_int,
          Hum_SHT: hum_int,
          TempC_DS: temp_ext,
        };
    }
    

    5. Decodierte Payload anzeigen

    Unter dem Reiter "Live data" sollten jetzt neben der Payload auch die decodierten Sensordaten angezeigt werden:

    LHT65 decoded Payload

    Klickt man auf die Zeile, so öffnet sich ein Fenster, wo alle Daten im JSON-Format angezeigt werden. Hier findet man unter anderem auch die Signalstärken und IDs von den Gateways, welche diese Daten empfangen haben. Exakt im gleichen Format werden so auch die Daten an die HTTP-Integration (Webhook) weitergegeben.

    6. Schnittstelle einrichten

    Das LoRaWAN-Netzwerk kümmert sich primär nur um die Übertragung der Datenpakete. Für die Auswertung und Speicherung der Daten ist der Anwender selbst zuständig. TTN bietet hier viele Schnittstellen zu unterschiedlichen Diensten an, wo die Daten nach Empfang weitergeleitet werden können. Beliebt sind MQTT-Verbindungen oder HTTP-Requests. Im nächsten Artikel geht es um die Einrichtung einer kleinen PHP-Applikation, welche die Daten über HTTP-Post von TTN entgegennimmt, in eine Datenbank speichert und auf einer Webseite anzeigt.


    Share:
    thumbnail
    07.09.2019
    ESP32 LoRa Arduino IDE Setup

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

    Alex @ AEQ-WEB

    thumbnail
    03.01.2021
    Arduino & ESP32 bei TTN registrieren (ABP)

    Diese Seite beschreibt die Registrierung und Konfiguration eines LoRa Development Boards wie Arduino, ESP32, TTGO und Ähnliches als Device bei TTN

    Alex @ AEQ-WEB