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

Dragino LoRa I/O Controller

Im Blogbeitrag wurden das Lesen der digitalen Eingänge und der anschließende Upload zum TTN Server betrachtet.

Für ein funktionierendes Upload zu setzen der digitalen Ausgänge und Relais gilt es ein paar Besonderheiten zu beachten:

  • Die Datenrate für den Downlink muss für TTN auf Typ 3 (SF9/125) gesetzt werden. Mit dem Kommando „AT+RX2DR=3“ und einem Reboot „ATZ“ kann das über die serielle Console erfolgen.
  • Beim Download ist die Confirmation zu altivieren.

Relais einschalten

Mit diesen Einstellungen können nun durch Senden der folgenden Payloads die digitalen Ausgänge und die Relais geschaltet werden:

  • Setzen der digitalen Ausgänge: 02 DO1 DO2 DO3   (DOx = 00 | 01)
  • Setzen der Relais: 03 R1 R2   (Rx = 00 | 01)

Der folgende Screenshot zeigt die Aktionen, die den Download-Kommandos folgen. Ausgangspunkt ist hier der durch den Counter 1040 markierte Zustand, wobei DI1 mit DO1 verbunden sind und DI3 mit GND verbunden ist. Alle Ausgämge und Relais sind ausgeschaltet.

Durch das Setzen aller Ausgänge wird der mit DO1 verbundene Eingang DI1 ebenfalls gesetzt.

Im folgenden Schritt werden dann noch die beiden Relais aktiviert.

Download

Dragino LoRa I/O Controller

LORIOT – Decodierung der Payload

In einer Anwendung sendet ein ERS Lite – LoRaWAN Raumsensor alle 15 min Daten für Temperatur, rel. Luftfeuchtigkeit und die Batteriespannung an den LORIOT-LoRaWAN-Server

Last messages

In den WebSocket Application ist mit WebSocket sample, eine Beispielanwendung gegeben, die den Verlauf von Daten in einer Tabelle anzeigt. Mit Javascript lassen sich diese Daten in eine lesbare Form decodieren.

Websocket Application

Die vom ERS Lite – LoRaWAN Raumsensor erzeugte Payload ist folgendermaßen aufgebaut:

Data Frame

Jedes Datenelement wird eingeleitet durch eine Typangabe, gefolgt von der diesem Typ zugeordneten Anzahl von Datenbytes.

Über Decode data öffnet sich ein Editor und der folgende Javascript-Code erzeugt die lesbare Ausgabe der Payload.

 

/*
In this editor, you can define your custom javascript code to parse the incoming data.
The following variables are available:

data : hex string of the data
p : array of bytes represented as string of 2 hex digits
v : array of bytes represented as integers
msg.EUI : device EUI
msg.fcnt : message frame counter
msg.port : message port field
msg.ts : message timestamp as number (epoch)

Last line of your script will be printed to the data payload column.
*/

var temp = parseInt((p[1] + p[2]),16)/10;
var humi = parseInt(p[4],16);
var vdd = parseInt((p[6] + p[7]),16)/1000;
var data = "Temperature: " + temp + " Humidity: " + humi + " VDD: " + vdd;

data;

Loriot Payload

 

LORIOT – Decodierung der Payload

Dragino LoRa I/O Controller

Die Dragino LoRa I/O Controller sind Long Range LoRa I/O Controller.

Das Dragino LT-33222-L weist verschiedene I/O Interfaces auf:

  • 2x Spannungseingang 0-30 V DC
  • 2x Stromeingang 0 – 20 mA
  • 3x digital Input (optisch entkoppelt)
  • 3x digital Output (optisch entkoppelt)
  • 2x Relaisausgang

Die Dragino LoRa I/O Controller ermöglichen eine einfache Installation eines LoRaWAN-Knotens in einem LoRaWAN-Netzwerk.

Ist ein LoRaWAN-Netzwerk vorhanden, dann kann der Dragino LoRa I/O Controller einfach für dieses Netzwerk konfiguriert werden, anderenfalls kann ein lokales LoRaWAN Gateway die Verbindung zum LoRaWAN-Server herstellen. Im einfachsten Fall kann hier bereits ein Single-Channel Gateway helfen.

Der Dragino LoRa I/O Controller LT-33222-L ist gekennzeichnet durch

  • STM32L072CZT6 MCU
  • SX1276/78 LoRa Wireless Chip
  • LoRaWAN Class A & Class C protocol
  • Optional Customized LoRa Protocol
  • Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915
  • AT Commands zur Konfiguration

Jeder ausgelieferter Dragino LoRa I/O Controller ist mit den zur Integration in ein LoRaWAN-Netzwerk erforderlichen Daten versehen, die auf einem entsprechenden Kleber aufgedruckt sind. Erlaubt der LoRaWAN-Server das Ändern dieser Daten nicht, dann können sie auch überschrieben werden.

Dragino LT-33222 Keys

Die Konfiguration des Dragino LoRa I/O Controllers erfolgt über die serielle Schnittstelle mit Hilfe von AT-Kommandos.

serial output

Ist der  Dragino LoRa I/O Controllers im Netzwerk sichtbar, dann erhält man die folgenden Uploads:

TTN Payload

Im letzten Byte der Payload des Uploads sind die digitalen I/Os abgebildet:

DIO

In der Payload sind die beiden Zustände am Eingang DI3 markiert. Ist DI3 mit GND verbunden (DI3 = 0), dann ist das letzte Byte der Payload gleich 0x18. Bleibt der Eingang DI3 unbeschaltet (DI3 = 1), dann ist das letzte Byte der Payload gleich 0x38.

Die Dokumentation zum Dragino LoRa I/O Controller ist unter den folgenden Links verfügbar:

Der Dragino LoRa I/O Controller  LT-33222-L wurde mir dankenswerterweise von bastelgarage.ch zur Verfügung gestellt.

Dragino LoRa I/O Controller

Kerlink Wirnet iFemtoCell – Kleines LoRaWAN Indoor Gateway mit großer Leistung

SmartMakers befähigt mittelständische und große Unternehmen das Potential des IoT für sich nutzen zu können. Mit einem Baukastensystem für das IoT-Enablement wird das Ziel verfolgt, in kurzer Zeit möglichst konkrete Ergebnisse zu liefern, die einfach umsetzbar sind.

Im IoT-Shop sind zahlreiche Komponenten namhafter Hersteller zu finden, die die Umsetzung von IoT-Projekten.

Im Blog werden aktuelle Informationen zu eingesetzten Komponenten, Technologie u.a.m. verbreitet.

In der neuesten Ausgabe  mit dem Titel „Kerlink Wirnet iFemtoCell – Kleines LoRaWAN Indoor Gateway mit großer Leistung“ wird das Wirnet iFemtoCell LoRaWAN Gateway sowie dessen Integration bei TTN und Loriot vorgestellt. Außerdem wird gezeigt, wie eigene Tools auf dem Gateway installiert werden können.

Kerlink Wirnet iFemtoCell – Kleines LoRaWAN Indoor Gateway mit großer Leistung