Einfache LoRaWAN-Knoten für das IoT

Um Irrtümern vorzubeugen, gestatten Sie mir den Hinweis auf die verfügbaren Ausgaben des angegebenen Titels.

Neben den hier angegebenen Printausgaben gibt es auch wieder Kindle-Versionen, die im Kindle Reader oder mit dem Kindle Cloud Reader im Webbrowser gelesen werden können:

Einfache LoRaWAN-Knoten für das IoT:
mit Update für The Things Stack Community Edition

ISBN 978-3-907857-43-4

2. Auflage erschienen April 2021

166 Seiten, Preis € 13.70


Einfache LoRaWAN-Knoten für das IoT 

ISBN 978-3-907857-35-9

Erschienen September 2018

104 Seiten, Preis € 10.59


Vorwort zur 2. Auflage

LoRaWAN hat sich als Kommunikationslösung im IoT hervorragende entwickelt. Für den Maker bzw. nichtkommerziellen Einsatz hat The Things Network (TTN) sicher viel dazu beigetragen.

Wie Jan Stocking in der Eröffnungsrede der Things Conference 2021 angekündigt hat, wird The Things Network auf The Things Stack V3 aktualisiert.

The Things Industries wird alle Cluster von TTN betreiben. Hostnamen, Versionen, Konfiguration, Funktionen usw. werden harmonisiert. Der erste Cluster von TTN V3 https://eu1.cloud.thethings.network/console ist bereitgestellt. Die Migration ist im Gange.

The Things Industries ist eine kommerzielle Einheit, die LoRaWAN-Netzwerkserver für Unternehmen mit erweiterten Funktionen und professionellem Support für Unternehmen bietet. Das Kernprodukt ist der Open-Source-Netzwerkserver namens The Things Stack (auch von TTN verwendet).

Die TTN V2-Software wurde auf The Things Stack Community Edition (auch als TTN V3 bekannt) aktualisiert. Die vorhandenen Benutzer von TTN V2 müssen ihre Gateways und Geräte auf The Things Stack Community Edition migrieren, da die Cluster von TTN V2 gegen Ende 2021 geschlossen werden. Dieser Umstellungsprozess hat mich dazu bewogen, die vorliegende 2. Auflage unter Berücksichtigung der The Things Stack Community Edition zu erstellen.

Zusätzlich stelle ich Ihnen neben dem Dragino LHT65 Temperatur- und Feuchtigkeitssensor und dem M5Stack COM.LoRaWAN die gerade für batteriebetriebene LoRaWAN-Knoten hervorragend geeigneten Heltec CubeCells vor. Ebenfalls von Heltec kommt das Dual-Channel Gateway HT-M00, mit dem Sie ohne Kostenrisiko TTN V3 schon einmal testen können, bevor Sie später den Umstieg von TTN V2 auf TTN V3 in Angriff nehmen.


2021-05-08/ck

Einfache LoRaWAN-Knoten für das IoT

Einfache LoRaWAN-Knoten für das IoT mit Update auf The Things Stack Community Edition

The Things Network (TTN) wechselt zu einem neuen LoRaWAN-Netzwerkserver – The Things Stack, auch als V3 bezeichnet. The Things Stack ist nicht nur ein Upgrade, sondern ein völlig neuer Software-Stack, der von Grund auf neu erstellt wurde und neue Funktionen, Integrationsvorlagen, Skalierungswerkzeuge und eine verbesserte Benutzererfahrung bietet.

The Things Network V2-Cluster werden gegen Ende des Jahres 2021 heruntergefahren. Migrieren Sie daher Ihre Anwendungen und Geräte auf die neueste Version.

Timeline:

  • 25. Januar 2021 – Start der The Things Stack Community Edition
  • 28. Mai 2021 – The Things Conference – The Things Stack Edition
  • 1. Juni 2021 – The Things Network V2 nur noch read-only
  • 31. Dezember 2021 – End of Life The Things Network V2

Dieser Umstellungsprozess hat mich dazu bewogen meinen Titel „Einfache LoRaWAN-Knoten für das IoT“ (ISBN 978-3-907857-35-9) zu überarbeiten, um den Leser bei der Umstellung seiner Endgeräte und Gateways auf TTN V3 zu unterstützen.

ISBN 978-3-907857-35-9

In der 2. Auflage wird an Hand The Things Stack Community Edition gezeigt, wie Endgeräte (LoRaWAN-Knoten) und Gateways erstellt und konfiguriert werden. Dem Zugriff auf die Daten, die dem LoRaWAN-Netzwerkservers übermittelt wurden, dient MQTT. Die erforderliche Integration wird ebenfalls gezeigt.

Einfache und sehr kostengünstige LoRaWAN-Gateways sind für mobile Anwendungen geeignet, bei denen ein Mobiltelefon dann als Hotspot eingesetzt werden kann.

Ausserdem wird aktuelle Hardware zum Aufbau von batteriebetriebenen oder solargestützten Sensorknoten vorgestellt.

Das sind u.a. die Heltec CubeCell Boards, die sich gerade durch einen sehr niedrigen Stromverbrauch auszeichnen.

Steht der Batteriebetrieb nicht im Vordergrund, dann bieten M5Stack-Komponenten komfortable Möglichkeiten, die durch WiFi und BLE-Kommunikation sowie TFT-Display ergänzt sind.

Die 2. Auflage wird in den nächsten Tagen bei Amazon und uns direkt verfügbar sein.


2021-04-23/CK

Einfache LoRaWAN-Knoten für das IoT mit Update auf The Things Stack Community Edition

OXOBUTTON LoRaWAN

Mit IoT Push Buttons ist es möglich, ereignisbezogene Mitteilungen zu erzeugen und an einen Server resp. eine abgesetzte Anwendung zu senden. Es sind zahlreiche Varianten am Markt verfügbar, die unterschiedliche Technologien für die drahtlose Kommunikation verwenden.

In meinem Beitrag zu batteriebetriebenen IoT-Knoten habe ich den Strombedarf solcher Knoten mit WiFi- und LoRaWAN-Konnektivität untersucht und es zeigt sich erwartungsgemäss, dass LoRaWAN für den Batteriebetrieb zu bevorzugen ist. Der Einsatz von eInk-Displays ermöglicht Zustandsanzeigen, die für den Betrieb eines abgesetzten IoT-Knoten wichtig und hilfreich sind. Die Leistungsbilanz wird praktisch nicht verschlechtert .

Der OXOBUTTON für LoRaWAN der Schweizer Oxon AG bietet einen sehr guten Featuremix in ein ansprechendes Gehäuse verpackt. Das Datenblatt enthält alle erforderlichen Angaben, weshalb ich hier nur auf die für mich interessanten Features eingehen möchte:

  • LoRaWAN Interface zum Upload von Ereignisdaten (Button pressed, Timer Event etc.)
    und Device Configuration im Download
  • BLE Interface zu Device Configuration, Picture & Text Transfer, Firmware Over the Air (FOTA)
  • Mikrocontroller STM32L082 (32 MHz Clock), Strombedarf im Standby < 3 uA
  • Spannungsversorgung 3 V CR2032 Batterie (220 mAh)

Bei Batteriebetrieb ist der Strombedarf des IoT-Knotens immer ein Thema. Die beeinflussenden Grössen sind im Blogpost beschrieben und können durch entsprechende Konfiguration des Knotens berücksichtigt werden.

„OXOBUTTON LoRaWAN“ weiterlesen
OXOBUTTON LoRaWAN

Überwachung der Luftgüte

Neben den breit eingesetzten CO2-Ampeln, die die Luftqualität in Innenräumen und ggf. auch einen Lüftungsbedarf signalisieren, stellen LoRaWAN-Sensoren ihre Messwerte zentral auf einem LoRaWAN-Server zur weiteren Bearbeitung zur Verfügung.

Ich habe einen mit einem BME680 Sensor von Bosch ausgestatteten WASN Indoor Sensor ins TTN integriert und visualisiere die erfassten Daten über Thingspeak.

Der kompakte Node verfügt über eine eingebaute 3000 mAh LiPo-Batterie und ist für den Betrieb in Innenräumen ausgelegt.

Vom BME680 Sensor werden neben Temperatur, Luftfeuchtigkeit und Luftdruck auch noch der Luftqualitätsindex iAQ gemessen.

Zur Konfiguration des WASN Indoor Sensors kann der WASN CubeCell Configurator eingesetzt werden. Die Inbetriebnahme ist unter https://github.com/wasn-eu/CubeCell_Getting_Started Schritt für Schritt beschrieben.

WASN CubeCell Configurator

Nach der Inbetriebnahme kann die Verbindung zum COM-Port des PCs getrennt und die LiPo-Batterie angeschlossen werden. Dann arbeitet der Knoten bereits autonom. Der ausgegebene iAQ Index ist gemäss BME680 Datenblatt wie folgt zu bewerten.

Indoor Air Quality Index

Anzeige iAQ Index

Einen aktuellen Wert des iAQ Indizes können Sie unter https://thingspeak.com/channels/1260602/widgets/252075 abrufen. Der Messverlauf ist unter https://thingspeak.com/channels/1260602 einsehbar.


01.01.2021/ck

Überwachung der Luftgüte

Heltec HT-M00 Dual Channel LoRa Gateway

Nicht überall ist eine flächendeckende Verfügbarkeit von LoRaWAN und speziell TTN gegeben. Hat man LoRaWAN-Knoten, auf die beispielsweise auf Reisen mitgeführt werden sollen, dann ist ein mobiles LoRaWAN-Gateway sicher eine wünschenswerte Option.

Mit dem Heltec HT-M00 steht kleines, kostengünstiges Zweikanal-LoRaWAN-Gateway mit einer USB-Typ-C-Schnittstelle zur Verfügung, welches über eine als Hotspot eingerichtetes Mobilphone Zugang zum TTN Server bieten kann. Ich habe das Gateway zum Preis von USD 39,- von Heltec bezogen.

Heltec HT-M00 LoRaWAN Gateway

Bei der Verwendungg des Heltec HT-M00 ist auf eine Präambellänge des Knotens von 16 zu achten (Standard ist 8). Die CubeCell-Knoten von Heltec sind bereits so eingerichtet. Wenn die Präambellänge nicht auf 16 geändert wird, kann nur SF7 empfangen werden.

Eine ausführliche Dokumentation zum Heltec HT-M00 und dessen Konfiguration ist unter https://heltec-automation-docs.readthedocs.io/en/latest/gateway/ht-m00/index.html zu finden.

Die folgende Abbildung zeigt den Traffic des Heltec HT-M00 im TTN-Server eingebunden über ein als Hotspot betriebenes Mobilphone.

In einem Anwendungsbeispiel werden Temperatur und Luftfeuchtigkeit durch einen Heltec Capsule mit HDC1080-Sensor und die Batteriespannung erfasst und zum Heltec HT-M00 geschickt.

Da es sich beim Heltec HT-M00 um eine Dual Channel LoRa Gateway handelt sollte der LoRaWAN-Knoten auch auf diese Frequenzen beschränkt werden. Beim Heltec Capsule kann das durch die userChannelsMask erfolgen. Ist das Gateway auf Channel 0 & 1 eingestellt, dann lautet die userChannelsMask folgendermassen:

uint16_t userChannelsMask[6]={ 0x0003,0x0000,0x0000,0x0000,0x0000,0x0000 };  // Ch 0 & 1 for HT-M00

Das Smartphone dient als mobiler Hotspot und sendet die über WiFi vom HT-M00 empfangenen Daten zum TTN-Server, der seinerseits die Daten zur Visualisierung zu Thingspeak sendet. Resultate können unter https://thingspeak.com/channels/1257633 verfolgt werden.

Mobiler LoRaWAN Sensor incl. Gateway mit Smartphone als mobilem Hotspot

In der geschilderten Anwendung kann an Stelle des hier verwendeten HT-M00 auch ein anderes geeignetes LoRaWAN-Gateway eingesetzt werden. Für den Einsatz des HT-M00 spricht seine Kompaktheit und sein günstiger Preis. Zu beachten ist, dass das HT-M00 nur für in-door Anwendungen vorgesehen ist.


2021-01-02/ck

Heltec HT-M00 Dual Channel LoRa Gateway

UrsaLink AM100

Unter der Bezeichnung „Ambience Monitor Sensor“ bietet Ursalink einen Sensor zur Überwachung der Umgebungsbedingungen an, der durch seine ansprechende Gestaltung sicher seinen Platz im Wohnraum und Büro findet.

Gespeist von 2 AA-Zellen soll er ca. ein Jahr lang Temperatur, rel. Feuchte, Anwesenheit und Licht (AM100) sowie CO2, TVOC und barometrischen Druck (AM102) über ein ePaper-Display anzeigen und als Message ins LoRaWAN senden.

Die technischen Daten der beiden Sensoren sind auf der Website des Herstellers zu finden.

Der Sensor wird über die Android App ToolBox über NFC konfiguriert. Die Verbindung des UrsaLink AM100 mit TTN sowie der AM100 Payload Decoder werden vom Hersteller ebenfalls detailliert beschrieben.

Die folgende Abbildung zeigt den AM100 eingebunden ins TTN.

AM100 Payload decodiert

Mir persönlich gefällt diese optisch sehr ansprechende Kombination aus Raumsensor und LoRaWAN-Knoten sehr gut.

UrsaLink AM100

Heltec WiFi Lora 32 V2

In meinem Buch Einfache LoRaWAN-Knoten für das IoT habe ich einen auf einem Heltec WiFi LoRa 32 aufbauenden LoRaWAN-Knoten beschrieben, der einen DHT11 als Sensor zur Messung von Temperatur und relativer Luftfeuchtigkeit aufweist. Zum Einsatz im betreffenden Programmbeispiel kam ein Heltec WiFi Lora 32 V1.

Zwischenzeitlich gibt es den Heltec WiFi Lora 32 V2, bei dem sich leider die Pinbelegung geändert hat. Außerdem haben sich bei der Anbindung des SX1276 die Pins geändert.

Heltec WiFi LoRa 32 V2

Die Pinbelegungen der Heltec WiFi Lora 32 V1 und V2 sind unter den folgenden URLs zu finden.

V1: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/PinoutDiagram/WIFI_LoRa_32_V1.pdf

V2: https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/blob/master/PinoutDiagram/WIFI_LoRa_32_V2.pdf

Damit das Programmbeispiel Heltec_LoRa32_ttn-abp.ino mit dem Heltec WiFi Lora 32 V2 läuft, sind folgende Anpassungen vorzunehmen.

Die Konfiguration der LMIC Pins muss für die V2 folgendermassen vorgenommen werden:

const lmic_pinmap lmic_pins = {
  .nss = 18,
  .rxtx = LMIC_UNUSED_PIN,
  .rst = 14,
  .dio = {26, 34, 35},
};

V1 hatte die Pins „32, 33“, während V2 die Pins „34, 35“ für die Anbindung des LoRa Modules nutzt.

Außerdem muss die Versorgungsspannung für den DHT11 (3.3 V) von der anderen Anschlussleiste bezogen werden, da das bis dahin verwendete Pin durch Vext belegt wurde.

Dank geht an Paul Knoll (Bozen/Südtirol), der mich auf diese Änderungen beim Umstieg von V1 auf V2 hingewiesen hat.

Heltec WiFi Lora 32 V2

LoRaWAN Node im Swisscom LPN

Da sich LoRaWAN durch große Reichweite und geringe Bandbreite auszeichnet und nur einen geringen Stromverbrauch aufweist, ist es perfekt für das Internet der Dinge geeignet.

The Things Network (TTN) ist eine offene IoT Infrastruktur, die von ihren Mitgliedern unterstützt wird. Mitglieder tragen dazu bei, indem sie Gateways platzieren oder Netzwerkserver betreiben. Zusammen wird ein sicheres und redundantes kollaboratives Netzwerk geschaffen. TTN entwickelt sich zu einem robusten und stabilen globalen Netzwerk und bietet Konnektivität dort, wo sie benötigt wird.

Die aus LoRaWAN Nodes (Sensoren), LoRaWAN Gateways und LoRaWAN Server(n) bestehende Infrastruktur zeig das folgende Bild.

TTN Infrastruktur

Der Erfolgt von TTN zeigt sich u.a. durch die folgende Mitteilung:
At this moment (22.03.2019 10:26), there are 6685 gateways up and running.

Im Großraum Zürich sind wir gut versorgt, was die Dichte der TTN Gateways im folgenden Bild zeigt.

TTN Gateways im Grossraum Zürich (https://www.thethingsnetwork.org/)

Meine eigenen Gateways habe ich markiert. Begonnen habe ich mit einem Dragino LG01-P Singel-Channel Gateway, gefolgt von einem TTN Gateway.

Betrachtet man das TTN Gateway Mapping für sein eigenes Gebiet genauer, dann kann man aber auch deutlich die unterschiedliche Abdeckung in den einzelnen Gebieten erkennen.

Hat man Gateways in seiner Nähe, dann sind erstmal alle Voraussetzungen für die Integration des eigenen LoRaWAN-Knoten ins TTN gegeben. Zumindest in den Ballungsgebieten sollte das, wie hier im Großraum Zürich, gegeben sein.

In den Niederlanden, Süd-Deutschland und der Schweiz ist bereits heute das Netz an Gateways recht dicht.

In der Schweiz hat Swisscom als kommerzieller Anbieter eine nahezu flächendeckendes LoRaWAN-Netzwerk errichtet, was die besonderen Bedürfnisse IoT-basierter Anwendungen abdeckt. Die Netzabdeckung durch das Swisscom LPN zeigt das folgende Bild.

Swisscom LPN – Netzabdeckung (http://lpn.swisscom.ch/d/unsere-abdeckung/)

Damit sollte es in der Schweiz möglich sein, ohne eigenes Gateway LoRaWAN-Knoten (Sensoren) in das Swisscom LPN zu integrieren.

Ich habe mit einem zTemp Temperatursensor der ungarischen Fa. ZANE diesen Versuch unternommen. Mit einem Freemium Account habe ich die Integration zu TTN vergleichbar vorgenommen. Das folgende Bild zeigt den integrierten Sensor im Mapping.

zTemp Temperaturs im Swisscom LPN

Das Upload der Daten über einen bestimmten Zeitraum kann im folgenden Diagramm verfolgt werden. Hier ist der Traffic über einen Zeitraum von sieben Tagen gezeigt.

Network Traffic

Bei vorhandener Infrastruktur, wie sie beispielsweise durch das Swisscom LPN gegeben ist, können auch ohne eigenes Gateway, einfach eigene LoRaWAN-Knoten ins LoRaWAN-Netzwerk integriert werden.

Den Weg vom einfachen Sensor zum LoRaWAN-Knoten habe ich unter dem Titel „Einfache LoRaWAN-Knoten für das IoT“ beschrieben.

LoRaWAN Node im Swisscom LPN

zTemp LoRaWAN Temperatur Sensor

Von der ungarischen Fa. ZANE wird mit dem zTemp LoRaWAN Temperature Sensor ein Temperatursensor mit einem DS18B20 Sensor in einem Gehäuse nach IP65 zu einem Preis € 52 angeboten.

zTemp LoRaWAN Temperature Sensor

Der DS18B20 Sensor kann direkt oder abgesetzt über ein Kabel montiert werden. Die Kabellänge kann bei der Bestellung spezifiziert werden.

Ein Datenblatt mit allen erforderlichen Informationen steht unter der URL http://www.zane.hu/ztrack/download/zTemp%20datasheet.pdf zur Verfügung.

Die zTemp LoRaWAN Parameter können über ein spezielles Konfigurationstool via USB eingestellt werden. Das Tool kann von der URL http://www.zane.hu/ztrack/download/setup_zTrack_Configuration_Tool_1031.rar heruntergeladen werden.

zTrack Configuration Tool

Im zTrack Configuration Tool werden bei Integration ins TTN die von TTN bereitgestellten Daten eingetragen. Hierzu wird der PC über USB mit dem zTemp Sensor verbunden. Aus dem folgenden Bild sind die Lage des USB-Anschlusses und der Batterie im geöffneten Gehäuse ersichtlich.

Lage von USB-Anschluss und Batterie im geöffneten Gehäuse

Sind Integration ins TTN und Konfiguration des zTemp Sensors erfolgt, dann stehen die Anwendungsdaten im TTN zur weiteren Verarbeitung Verfügung.

Application Data im TTN

In meinem Post MQTT-Zugriff auf TTN-Server hatte ich die Verwendung verschiedener MQTT-Clients zur Abfrage der auf dem TTN-Server abgelegten Sensordaten beschrieben.

Auf dem PC verwendet ich gern die Chrome-Erweiterung MQTTlens, die aus dem Google Chrome-Webstore im Chrome-Browser installiert werden kann. Die Anmeldung bei TTN und Subscription der Messages vom zTemp Sensor erfolgen äquivalent zum Vorgehen im betreffenden Post.

Im folgenden Screenshot sind die Ergebnisse für die Temperaturmessung mit dem DS18B20 Sensor und die aktuelle Batteriespannung gezeigt.

Zugriff auf TTN-Server mit Hilfe von MQTTlens 
zTemp LoRaWAN Temperatur Sensor