LoRaWAN UDP Packet Forwarder 1
17.12.2024
Elektronik | Funk | Software
Der Technik-Blog
Der LHT65 sollte nach Möglichkeit über OTTA mit einem LoRaWAN-Netzwerk verbunden werden. Alle Informationen über die Registrierung eines LHT65 mit OTTA gibt es in diesem Artikel. Möchte man den Sensor gleichzeitig in verschiedenen LoRaWAN-Netzwerken betreiben oder ist OTTA technisch nicht möglich, kann der LHT65 auch auf den ABP-Betrieb umgestellt werden. In diesem Artikel geht es um die Umstellung von OTTA auf ABP, sowie um die Registrierung bei TTN V3 (The Things Stack). Die in diesem Artikel beschriebene Konfiguration funktioniert auch mit einem Single Channel Gateway wie zum Beispiel dem Dragino LG01/LG02.
Hinweis: Der Sensor ist werksseitig für OTTA vorkonfiguriert. Um den Sensor auf den ABP-Betrieb umstellen zu können, wird ein USB-TTL-Adapter benötigt.
LHT65 mit OTTA bei TTN einrichten
Teil 2: LHT65 Daten in einer Webapp anzeigen
Dragino LHT65
MikroTIK LR8 LoRaWAN Gateway einrichten
TTN V3 Application Basics
So funktioniert die LoRa Payload
Der Sensor wird über die serielle Schnittstelle konfiguriert. Ein entsprechendes Kabel vom Sensor auf den Jumper-Wire-Anschluss liegt im Lieferumfang 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:
Der Sensor kann über eine beliebige Terminal-Software ausgelesen und konfiguriert werden. Die Keys für ABP können entweder vom beiliegenden Sticker übernommen werden oder über das Terminal ausgelesen werden. Die zweite Option ist deutlich bequemer, da man sich die Keys aus dem Terminal herauskopieren kann.
Putty ist ein beliebter einfacher Terminal-Client für Windows/Linux, der neben SSH auch serielle Verbindungen unterstützt. Für eine erfolgreiche Verbindung müssen folgende Einstellungen ausgewählt werden:
Nach öffnen der Verbindung tippt man den Befehl "AT" ein und drückt zum Absenden die Eingabetaste. Jetzt sollte als Rückmeldung folgender Text im Terminal kommen: "Incorrect password".
Anschließend tippt man folgendes Passwort ein:
123456
Mit der Eingabe-Taste wird das Passwort gesendet und im Erfolgsfall kommt als Rückmeldung "OK". Folgender Befehl zeigt die Konfiguration sowie die für LoRaWAN benötigen Schlüssel an:
AT+CFG
In der Application unter "End Devices" wird der LHT65 registriert. Grundsätzlich existiert für den LHT65 ein fertiges Template, man kann den Sensor jedoch auch manuell konfigurieren. Folgende Parameter müssen ausgewählt werden:
Mit einem Klick auf "Register end Device" wird das Gerät registriert. TTN ist ab sofort empfangsbereit.
Die folgenden Befehle können direkt durch einen Rechtsklick im Terminal eingefügt werden und mit der Eingabetaste abgesendet werden. Jeder Befehl muss mit einem OK bestätigt werden:
4.1 Wechsel in den ABP-Mode:
AT+NJM=0
4.2 Adaptive Data Rate deaktivieren:
AT+ADR=0
4.3 Data Rate einstellen (5 = EU Band):
AT+DR=5
4.4 Sendeintervall einstellen (600 000 millis = 10 min):
AT+TDC=600000
4.5 Sendefrequenz einstellen auf 868,1 MHz:
AT+CHS=868100000
4.6 Controller neu Starten:
ATZ
In der Regel sendet der LHT65 bereits unmittelbar nach dem Reset-Befehl ein Datenpaket aus. Die hexadezimale Payload sollte daher bereits in der Console ersichtlich sein. Der Sensor sollte nach der erfolgreichen Aktivierung nicht mehr ausgeschaltet werden. Nähere Informationen dazu unter Punkt 7.
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:
Folgender Payload-Formatter 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, }; }
Sobald das nächste Datenpaket ankommt, werden die einzelnen Messwerte bereits decodiert und im Klartext angezeigt:
Der Frame-Counter ist ein Sicherheitsfeature von LoRaWAN und verhindert Replay-Attacken. Sowohl Endgerät als auch am LoRaWAN-Server läuft ein Zähler, der mit jedem Datenpaket um den Wert 1 erhöht wird. Wird der LHT65 zurückgesetzt oder ausgeschaltet, startet der Frame-Counter wieder bei 0 und ist somit kleiner als der Zählerstand von der Application. Alle Datenpakete werden in diesem Fall abgelehnt und es wird keine Fehlermeldung ausgegeben. Es besteht jedoch die Möglichkeit, den Frame-Counter manuell zu löschen. Beim betroffenen Device findet man unter General Settings -> Network Layer -> Advanced MAC settings die Option Resets Frame Counters zu aktivieren. Weitere Informationen dazu in diesem Artikel.
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.
Einstieg in das LoRaWAN (TTN) mit dem Heltec LoRa32 V3 und Einrichtung vom Board in der Arduino IDE
WeiterlesenStarthilfe LoRaWAN - Diese Seite richtet sich an alle Einsteiger, die mit LoRaWAN starten wollen und ihre Sensoren in das IoT-Netzwerkt TTN integrieren wollen
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved