Der SensorHub von RAKwireless ist ein modulares System, bestehend aus einem Hauptteil und mehreren vorkonfigurierten Sensorsonden. Mit steckbaren und austauschbaren Sonden und der Möglichkeit, Sensoren von Drittanbietern zum System hinzuzufügen, ist der SensorHub eine geeignete und vielseitige Lösungsplattform für verschiedene IoT-Anwendungen, bei denen eine Umweltüberwachung im Freien erforderlich ist.
Der SensorHub kann je nach Anwendung und Einsatzort mit nicht wiederaufladbaren oder solarbetriebenen Batterien oder mit einer externen Stromversorgung arbeiten.
Wenn Sie mit dem SensorHub eine autonom arbeitende IoT-Anwendung implementieren wollen, dann finden Sie in meinem eBook zum SensorHub weitere Anregungen.
Im Blogbeitrag „Meshtastic – Erfassung und Versand von Messwerten“ hatte ich die Erweiterung eines Meshtastic-Knotens mit Sensoren und den Versand der erfassten Messwerte betrachtet. Damit stehen die Messwerte im Meshtastic-Netzwerk zur Verfügung.
Sollen die erfassten Messwerte visualisiert oder anderweitig weiterverarbeitet werden, dann müssen sie außerhalb des Meshtastic-Netzwerks zur Verfügung gestellt werden. Ein mit einer MQTT-Schnittstelle ausgestatteter Meshtastic-Knoten kann die Verbindung ins Internet ermöglichen. Auf diese Weise lassen sich örtlich weit auseinanderliegende (lokale) Meshtastic-Netzwerke verbinden und/oder erfasste Daten zentral auswerten.
Der Off-Grid-Aspekt geht in diesem Fall allerdings verloren.
Bei den folgenden Betrachtungen gehe ich von dem in der Abbildung gezeigten Meshtastic-Netzwerk aus.
Hervorzuheben sind hier der RAKwireless-Sensorknoten auf Basis eines Mikrocontrollers RAK4631 (nRF52840), der Messwerte über verschiedene Sensoren erfasst und diese im Meshtastic-Netzwerk zur Verfügung stellt, und der Heltec LoRa32 V3 Knoten auf Basis eines ESP32-S3, der eine WiFi-Schnittstelle zur Verbindung mit einem Router und über diesen mit dem Internet ermöglicht. Die anderen Meshtastic-Knoten (in der Abbildung nicht eingefärbt) empfangen die Nachrichten des Sensorknotens und dienen dem üblichen Nachrichtenaustausch.
Speisung des Meshtastic-Knoten durch einen DFRobot Solar Power Manager 5 V
Der Ladezustand des eingesetzten NCR18650 Li-Ion-Akkus muss separat überwacht werden. Hierzu verwende ich einen INA219, der über den I2C-Bus mit dem Grove-Anschluss des RAK1920 Sensor Adapter Modul verbunden wird (siehe Abbildung).
Messung des Ladezustands des LiPo-Akkus mit einem INA219-Sensor
Der mit einem I2C-Interface ausgestattet SHTC3-Sensor zur Messung von Temperatur und relativer Feuchte kann über einen I2C-Hub (z.B. von M5Stack) mit dem Grove-Anschluss des RAK1920 Sensor Adapter Moduls verbunden werden.
Der Temperatursensor DS18B20 ist Bestandteil des im Blogbeitrag „Meshtastic – Erfassung und Versand von Messwerten“ beschriebenen externen Sensormoduls, welches über ein serielles Interface mit dem RAK1920 Sensor Adapter Modul verbunden wird.
Beide Mikrocontroller, der Meshtastic-Knoten und das externe Sensormodul, werden vom DFRobot Solar Power Manager 5 V über ein USB-A- zu 2x USB-C-Kabel mit Spannung versorgt.
Als MQTT-Broker verwende ich HiveMQ (https://broker.hivemq.com). Es ergibt sich damit die in der Abbildung gezeigte Zusammenstellung.
Vom Meshtastic-Gateway werden mit dem Token msh/2/json/LongFast verschiedene MQTT-Messages versendet (published). Ein MQTT-Client abonniert (subscribed) diese Tokens und kann damit die übermittelten Nachrichten weiterverarbeiten.
Ich habe auf dem PC den MQTT-Client MQTTX installiert und kann damit die empfangenen Messages anzeigen. Abgeleitet von den aktivierten Meshtastic-Modulen empfange ich vom Knoten 2692927950 (RAK1) die folgenden Messages:
In den drei Messages sind alle von den Sensoren erfassten Messwerte enthalten. Vom Sensor SHTC3 werden Temperatur (temperature) und rel. Luftfeuchtigkeit (relative_humidity) erfasst. Der Sensor INA219 erfasst den Ladezustand der Batterie mit Spannung (voltage) und Strom (current).
Der Temperaturmesswert des DS18B20 Sensors wird vom externen Sensormodul als Textstring übergeben und folglich auch als Textmessage (text) versendet.
Die Positionsdaten sind hier fest vorgegeben und werden in der Position Message (altitude, latitude_i, longitude_i) versendet.
Die MQTT-Messages enthalten weitere Daten, die bei Bedarf auch noch ausgewertet werden können.
Ich verwende zum Zugriff auf den MQTT-Broker und zur Visualisierung der erfassten Messwerte die IoT-Plattform Datacake. Datacake ist eine vielseitig einsetzbare Low-Code-IoT-Plattform, die keine Programmierkenntnisse und nur minimalen Zeitaufwand erfordert, um benutzerdefinierte IoT-Anwendungen für den Desktop oder Mobil Devices zu erstellen.
Die folgenden Abbildungen zeigen ein Dashboard für einen Desktop-PC und zwei Screenshots des Dashboards für ein Smartphone.
Ein Meshtastic-Netzwerk ist ein drahtloses Mesh-Netzwerk, das hauptsächlich zur Kommunikation in Gebieten ohne Mobilfunknetz oder Internet oder unabhängig von diesen verwendet wird (Off-Grid-Netzwerk).
Es können Textnachrichten und Standortinformationen zwischen Geräten (Meshtastic-Knoten) ausgetauscht werden. Neben der Übermittlung von Textnachrichten und Standortinformationen, wie GPS-Daten, können Meshtastic Knoten aber auch Messwerte erfassen und mit anderen Knoten austauschen.
In der folgenden Abbildung ist eine solche Anwendung gezeigt. Es steht das Übertragen der von einzelnen Knoten erhobenen Messwerte im Vordergrund.
Meshtastic-Netzwerk zum Erfassen und Übermitteln von Messdaten
Außerdem kann einer der Meshtastic-Knoten mit einer MQTT-Schnittstelle ausgestattet sein, die eine Verbindung ins Internet ermöglicht. Auf diese Weise lassen sich örtlich weit auseinanderliegende (lokale) Meshtastic-Netzwerke verbinden und deren Daten zentral auswerten. Der Off-Grid-Aspekt geht in diesem Fall allerdings verloren.
Zur Messwerterfassung steht eine breite Palette von Sensoren mit unterschiedlichen Interfaces zum Datenaustausch zur Verfügung.
Messungen der Umgebungsbedingungen und einiger Gesundheitsaspekte sind damit direkt möglich. Wichtig zu beachten ist, dass der betreffende Meshtastic Knoten auch ein I2C-Interface zur Verfügung stellt.
Meshtastic-Knoten
Eine komfortable Lösung besteht bei Verwendung eines Meshtastic Starter Kits von RAKwireless bestehend aus den folgenden Komponenten:
WisMesh Base Board RAK19026 oder WisBlock Base Board RAK19007
Selbst bei bestücktem OLED-Display ist das I2C-Interface über den Grove-Stecker des RAK1920 zugänglich, wie die folgende Abbildung des komplett ausgestatteten Meshtastic Knotens zeigt.
Für das Meshtastic Starter Kit von RAKwireless gibt es aus der Gehäusereihe Unify Enclosure das für den Außeneinsatz spezifizierte Unify Enclosure IP67 150x100x45 mm mit einem Solarpanel im Gehäuseoberteil.
Mit diesen Möglichkeiten kann recht einfach von einem Prototyp, der nicht für den Außeneinsatz geeignet ist, auf ein finales, für den Außeneinsatz geeignetes Produkt übergegangen werden.
Auf dem Baseboard lassen sich WisBlock Sensoren direkt montieren. Mit dem RAK1901 WisBlock Temperature and Humidity Sensor können beispielsweise Umweltdaten (Temperatur, rel. Luftfeuchte) sehr einfach erfasst werden. Will man nicht die Messwerte im Inneren des Gehäuses erfassen, dann sollte der RAK1901 entweder durch ein Expansionskabel vom Baseboard abgesetzt oder gleich durch einen externen Sensor ersetzt werden. Sowohl für die Sensor- als auch IO-Slots der Baseboards bietet RAKwireless FPC Extension Cables an.
Wollen Sie gleich einen für den Outdoor-Einsatz geeigneten Sensor einsetzen, dann liefert eine Suche schnell verschiedene Angebote unterschiedlicher Bauform, die in der Regel auf Sensoren der Schweizer Fa. Sensirion aufbauen.
Bauformen von Sensoren für den Ausseneinsatz
Mit einem Grove-Stecker ausgerüstet, kann ein solcher Sensor direkt mit dem RAK1920 kontaktiert werden.
Beim Starten des Meshtastic-Knotens kann über die serielle Console des WebFlashers die Detektion der angeschlossenen I2C-Devices verfolgt werden. Der folgende Screenshot zeigt die Detektion des OLED-Displays und die Detektion eines externen SHTC3-Sensors.
Detektion der angeschlossenen I2C-Devices
Die Telemetriedaten beinhalten der erfassten Messdaten und zeigen sich beispielsweise im Programm MeshSense, wie im folgenden Screenshot gezeigt.
Telemetriedaten im Programm MeshSense
Mit der Anschlussmöglichkeit für externe I2C-Sensoren haben Sie bereits vielfältige Möglichkeiten der Messwerterfassung. Bedingung ist, dass der Sensor ein I2C-Interface aufweist und von der Meshtastic Firmware auch unterstützt wird.
Sensoren ohne I2C-Interface
Für die Erfassung von Umweltdaten gibt es auch eine Reihe von Sensoren, die zwar für den Außeneinsatz geeignet sind, aber kein I2C-Interface aufweisen. Zwei möchte ich hier beispielhaft nennen.
Der DS18B20 ist ein Temperatursensor im TO92-Gehäuse mit einem 1-Wire-Interface. Durch seine werkseitige Kalibrierung ist der Sensor sehr genau. Der DS18B20 wird nicht durch Meshtastic unterstützt. In der wasserdichten Version gemäss der folgenden Abbildung kann er sehr gut als echter externer Sensor dienen.
Dieser Ultraschallsensor misst Entfernungen zwischen 25 und 800 cm. Dank der integrierten Temperaturkompensation arbeitet er zuverlässig in einem Temperaturbereich von -15 °C bis 60 °C. Dieser Sensor weist ein serielles Interface (UART) auf und ist ideal für die Erkennung des Wasserstandes in Schächten, in Wassertanks und in Flussläufen. Auch dieser Sensor wird nicht durch Meshtastic unterstützt.
Das serielle Interface steuert über RX die Messung (T1>2,5 s, T2 = 0,9 ~ 2,5 s; RX Pulsbreite zwischen 10 us und 2 ms). Alle weiteren Informationen und Codebeispiele sind über den Link oben zu finden.
Timing Diagram
Externes Erfassungsmodul
In einem Meshtastic-Netzwerk können externe Erfassungsmodule Sensoren ergänzen, die bislang (noch) nicht durch Meshtastic unterstützt werden. Die folgende Abbildung zeigt einen Ausschnitt aus einem Meshtastic-Netzwerk mit drei Meshtastic-Knoten (grün eingefärbt). Ein Meshtastic-Knoten weist eigene, von der Meshtastic-Firmware unterstützte Sensorik auf. Für weitere Sensoren kann ein externes Erfassungsmodul eine Schnittstellenfunktion übernehmen. Das externe Erfassungsmodul (blau eingefärbt) kontaktiert einen beliebigen Sensor über dessen Interface und wandelt die Messergebnisse in einen Textstring. Dieser Textstring wird dann seriell an einen Meshtastic-Knoten übertragen.
Meshtastic Netzwerk mit externem Erfassungsmodul
Der eingesetzten Mikrocontroller muss die erforderlichen Schnittstellen für den Anschluss des auszuwertenden Sensors aufweisen (I2C, SPI, 1-Wire etc.) sowie eine UART-Schnittstelle zur Übertragung der Messwerte an den zugeordneten Meshtastic-Client. Die Stromaufnahme für das gesamte Erfassungsmodul incl. Sensor sollte möglichst gering sein, damit Batteriebetrieb möglich ist. Ich verwende hier einen nRF52840 in Form eines XIAO nRF52840 von SeeedStudio. Grundsätzlich kann jeder Mikrocontroller aus der XIAO-Familie eingesetzt werden.
XIAO nRF52840
Wie die Abbildung oben zeigt, sind I2C, SPI, UART sowie analoge und digitale IO nach Außen geführt und die Voraussetzungen für eine flexible Sensoranbindung erfüllt. SeeedStudio bietet ergänzend zu den XIAO-Mikrocontrollern noch das XIAO Expansion Board an, wodurch ein kompaktes Erfassungsmodul mit optionaler Anzeige aufbaubar ist.
XIAO Expansion Board
Für die Kontaktierung des XIAO nRF52840 stehen Buchsenleisten zur Verfügung, über die jeder Anschluss auch nach außen hin verfügbar ist. Außerdem stehen die I2C- und UART-Anschlüsse als Grove-Ports (rot umrandet) zur Verfügung.
Der 1-Wire-Sensor DS18B20 wird über den digitalen Eingang D0, der an einem Grove-Anschluss zur Verfügung steht, angeschlossen. Bitte denken Sie an den erforderlichen PullUp-Widerstand. Auf dem OLED-Display wird der erfasste Temperaturmesswert angezeigt.
Das Programm XIAO_nRF52840_DS18B20.ino fragt den DS18B20 Sensor ab und bereitet die Daten zur Anzeige auf dem OLED auf. Der ermittelte Temperaturmesswert wird in einen String konvertiert, der über die UART an den Meshtastic-Knoten weitergeleitet wird. Dieses und weitere Programmbeispiele finden Sie auf GitHub unter https://github.com/ckuehnel/Meshtastic. Die folgende Abbildung zeigt die Ausgabe über die Console des XIAO nRF5240.
Die Übertragung der Daten vom externen Erfassungsmodul zum Meshtastic-Knoten zeigt die folgende Abbildung.
Das ursprünglich am Meshtastic Knoten installierte GPS-Modul RAK12500 musste ich entfernen, da das Modul das serielle Interface belegt, welches hier für die Verbindung zum Erfassungsmodul verwendet wird.
Die Details zur Konfiguration des Serial Module finden Sie unter https://meshtastic.org/docs/configuration/module/serial/. Der folgende Screenshot zeigt die erforderlichen Einstellungen. Die seriellen Pins gelten für ein RAK19007 Baseboard.
Serial Configuration für RAK19007
Der übertragene Textstring wird vom Serial Module der Meshtastic-Firmware als Textmessage in der Form RAK1: DS18B20 Temp = xx.x °C über den Primary Channel gesendet. Im Programm MeshSense zeigen sich die Textmessages gemäss folgendem Screenshot.
MeshSense Messages Output
In der Android-App zeigen sich die Telemetriedaten und die Textmessage mit dem DS18B20 Messwert, wie in den beiden Screenshots von einem Smartphone zu sehen ist.
Die gesplittete USB-Spannungsversorgung für die beiden den Meshtastic-Knoten bildenden Module war zwar sehr komfortabel, zeigte sich aber als sehr stromhungrig. Im Blogpost Solar-betriebener Meshtastic-Knoten ist der Strombedarf im realen Betrieb gezeigt. Mit den Erkenntnissen aus dem erwähnten Post ergibt sich die folgende Schaltungsänderung zur Reduzierung des Strombedarfs.
Sind Sie noch neu bei diesem interessanten Thema, dann finden Sie Grundlagen im nebenstehenden eBook, das im Rheinwerk-Verlag erschienen ist. Daniel Schlapa hat das Buch schon mal gelesen und rezensiert.
Die Seeed Studio XIAO-Serie ist eine Familie kompakter, leistungsstarker Mikrocontroller-Module (MCU), die speziell für platzsparende Projekte entwickelt wurden, die hohe Leistung und drahtlose Konnektivität erfordern.
Die Arduino-kompatible XIAO-Familie stellt Mikrocontroller-Module auf Basis verbreiteter Hardware wie Espressif ESP32-C3, ESP32-C6 & ESP32-S3, Renesas RA4M1, Raspberry Pi RP2350 & RP2040, Nordic nRF52840, Microchip SAMD21 und Silicon Labs MG MG24 zur Verfügung.
Der ESP32-S3 ist das erste Modul, das mit einem B2B-Connector (Board-zu-Board) ausgestattet ist und über diesen mit anderen Modulen erweitert werden kann. Die folgende Abbildung zeigt eine Draufsicht auf das XIAO-ESP32-S3.
An der Unterkante des Moduls befinden sich der IPEX-Stecker für die WiFi-Antenne und daneben der 30-polige B2B-Connector.
The Seeed Studio XIAO series is a family of compact, high-performance microcontroller modules (MCU) designed explicitly for space-saving projects that require high performance, and wireless connectivity.
The Arduino-compatible XIAO family provides microcontroller modules based on popular hardware such as Espressif ESP32-C3, ESP32-C6 & ESP32-S3, Renesas RA4M1, Raspberry Pi RP2350 & RP2040, Nordic nRF52840, Microchip SAMD21, and Silicon Labs MG MG24.
The ESP32-S3 is the first module to be equipped with a B2B connector (board-to-board) and can be expanded with other modules via this connector. The following figure shows a top view of the XIAO-ESP32-S3.
The IPEX connector for the WiFi antenna is located on the bottom edge of the module, with the 30-pin B2B connector next to it.
XIAO ESP32-S3
Ein Wio-SX1262 Modul erweitert den ESP32-S3 zum Meshtastic Device und nutzt den B2B-Connector zur Verbindung der beiden Module. Die folgende Abbildung zeigt das über den B2B-Connector mit dem ESP32-S3 verbundene LoRa-Modul Wio-SX1262.
A Wio-SX1262 module expands the ESP32-S3 into a meshtastic device and uses the B2B connector to connect the two modules. The following figure shows the Wio-SX1262 LoRa module connected to the ESP32-S3 via the B2B connector.
Wio-SX1262 & ESP32-S3
Zum Experimentierumfeld braucht es aber weiterer Komponenten, die eine einfache Kontaktierung von Sensorik ermöglichen. Grove- und M5Stack-Sensoren weisen eine einheitliche (Grove-) Schnittstelle auf und sind deshalb ganz besonders geeignet.
Die aktuell von Meshtastic unterstützen Sensoren sind in der folgenden Tabelle gelistet. In den Spalten Grove und M5Stack sind die dazu passenden Grove- resp. M5Stack-Sensoren ergänzt. Die Detailinfomationen finden Sie auf den Herstellerseiten über die angegebenen Links.
However, the experimental environment requires additional components that enable the simple contacting of sensors. Grove and M5Stack sensors have a standardized (Grove) interface and are particularly suitable.
The sensors currently supported by Meshtastic are listed in the following table. The corresponding Grove and M5Stack sensors are added in the Grove and M5Stack columns. You can find detailed information on the manufacturer’s website via the links provided.
ENV II Unit with Temperature Humidity Environment Sensor (SHT30+BMP280) ENV IV Unit with Temperature Humidity Air Pressure Sensor (SHT40+BMP280)
BME280
0x76, 0x77
Temperature, barometric pressure and humidity
Grove -Temp&Humi&Barometer Sensor (BME280)
BME68x
0x76, 0x77
Temperature, barometric pressure, humidity and air resistance
Grove – Temperature, Humidity, Pressure and Gas Sensor for Arduino – BME680 Grove – Air Quality Sensor(BME688) with built-in AI, High-Performance 4-in-1, Gas, Humidity, Pressure and Temperature sensor
ENV Pro Unit with Temperature, Humidity, Pressure and Gas Sensor (BME688)
MCP9808
0x18
Temperature
Grove – I2C High Accuracy Temperature Sensor – MCP9808
INA260
0x40, 0x41, 0x43
Current and Voltage
INA219
0x40, 0x41, 0x43
Current and Voltage
INA3221
0x42
3-channel Current and Voltage
LPS22
0x5D, 0x5C
Barometric pressure
SHTC3
0x70
Temperature and humidity
SHT31
0x44
Temperature and humidity
Grove – Temperature&Humidity Sensor (SHT31)
PMSA003I
0x12
Concentration units by size and particle counts by size
Heart Rate, Oxygen Saturation, and body temperature
Mini Heart Rate Unit (MAX30100) Pulse Oximeter
MLX90614
0x5A
Body temperature
Grove – Thermal Imaging Camera – MLX90641
NCIR 2 Thermometer Unit (MLX90614) NCIR Non-Contact Infrared Thermometer Sensor Unit (MLX90614)
Die XIAO-Familie bietet für die einfache Erweiterung mit den genannten Senoren über den I2C-Bus das XIAO-Expansionboard an.
Es stehen aber auch ein UART- und ein IO-Interface (A0, D0) zur Verfügung.
The XIAO family offers the XIAO expansion board for simple expansion with the above sensors via the I2C bus .
However, a UART and an IO interface (A0, D0) are also available.
XIAO Expansion Board
Das UART-Interface kann für den Anschluss eines GPS-Moduls, wie beispielsweise der in der folgenden Abbildung gezeigten M5Stack GPS Unit, verwendet werden.
You can use the UART interface to connect a GPS module, such as the M5Stack GPS Unit shown in the following figure.
Zusätzlich weist das Board noch ein OLED-Display und einen Batterieanschluss auf. Die Batterie kann über USB geladen werden. Ein Solaranschluss steht nicht zur Verfügung.
Modbus continues to be a widely used communication protocol in industrial automation and control systems. RS-485 provides a robust and reliable physical layer for long-distance communication, and Modbus RTU is a popular protocol for exchanging data between devices from different manufacturers in various industrial applications.
Despite the emergence of newer protocols and technologies, Modbus RTU over RS-485 will continue to be widely used in the industry due to its simplicity, compatibility with existing systems, and broad support.
Various bridges connect a Modbus network to the IoT for further data processing and visualization, which is essential today. Modbus LoRaWAN bridges, offered by various users, can be used to make this connection.
Modbus ist nach wie vor ein weit verbreitetes Kommunikationsprotokoll in industriellen Automatisierungs- und Steuerungssystemen. RS-485 bietet eine robuste und zuverlässige physikalische Schicht für die Kommunikation über große Entfernungen, und Modbus RTU ist ein beliebtes Protokoll für den Austausch von Daten zwischen Geräten verschiedener Hersteller in verschiedenen industriellen Anwendungen.
Trotz des Aufkommens neuerer Protokolle und Technologien wird Modbus RTU über RS-485 aufgrund seiner Einfachheit, der Kompatibilität mit bestehenden Systemen und der breiten Unterstützung weiterhin in der Industrie weit verbreitet sein.
Verschiedene Bridges verbinden ein Modbus-Netzwerk mit dem IoT zur weiteren Datenverarbeitung und -visualisierung, was heute unerlässlich ist. Modbus LoRaWAN-Bridges, die von verschiedenen Anwendern angeboten werden, können für diese Verbindung genutzt werden.
In meinem Buch IoT Projects for Makers habe ich unter anderem eine Lösung vorgestellt, um Messwerte eines Modbus-Sensors per Pushover mit Hilfe von WisBlock-Modulen auf ein Mobiltelefon zu veröffentlichen.
The same technology can be used to transfer messages to a LoRaWAN network server. The WisBlock ecosystem helps with rapid prototyping.
Mit der gleichen Technologie können Sie Nachrichten an einen LoRaWAN-Netzwerkserver übertragen. Das WisBlock-Ökosystem hilft bei der schnellen Entwicklung von Prototypen
RAK7431
RAKwireless offers an industrial solution with the WisNode Bridges and in particular the RAK7431 WisNode Bridge Serial, an RS485 to LoRaWAN converter for industrial applications. The device transmits data from Modbus sensors over LoRaWAN for wireless transmission to and from end devices.
Using the LoRaWAN 1.0.3 protocol stack, the device supports LoRaWAN Class A, B and C, enabling cloud management of ModBus/RS-485 devices.
Eine industrielle Lösung bietet RAKwireless mit den WisNode Bridges und hier vor allem mit der RAK7431 WisNode Bridge Serial, einem RS485 to LoRaWAN converter für industrielle Anwendungen. Das Gerät übermittelt Daten von Modbus-Sensoren über LoRaWAN zur drahtlosen Übertragung von und zu Endgeräten.
Mit dem LoRaWAN 1.0.3 Protokollstack unterstützt das Gerät LoRaWAN Class A, B und C und ermöglicht so ein Cloud-Management von ModBus/RS-485-Geräten.
The Meshtastic node is not only characterized by sensor technology and networking. Its enclosure is equally decisive for its intended use. Boards alone can be used for evaluation, but not in real use.
While visiting the RAKwireless booth at Embedded World 2024, I saw the enclosure for the RAKwireless starter kit shown here and have now tried it out.
Der Meshtastic Knoten selbst zeichnet sich nicht nur durch die Sensorik und die Vernetzung aus. Sein Gehäuse ist gleichermaßen bestimmend für den Einsatzzweck. Für die Evaluierung kann mit Boards gearbeitet werden, im realen Einsatz nicht.
Bei meinem Besuch am Stand von RAKwireless zur Embedded World 2024 konnte ich das hier gezeigte Gehäuse für das RAKwireless Starterkit sehen und habe es nun auch ausprobieren können.
Environmental sensors monitor the temperature and humidity levels in different rooms of a building and enable the system to intelligently adjust the HVAC settings. A dynamic control ensures a comfortable and healthy indoor environment
RAKwireless offers the QingPing Temperature & Humidity Pro S a professional-grade sensor specifically tailored for environmental and greenhouse applications.
The device supports configurable reporting and notification options, keeping users informed about critical changes in temperature and humidity levels.
Umgebungssensoren überwachen Temperatur- und Luftfeuchtigkeit in den verschiedenen Räumen eines Gebäudes und ermöglichen eine intelligente Anpassung der HLK-Einstellungen. Eine dynamische Steuerung sorgt für ein angenehmes und gesundes Raumklima.
RAKwireless bietet mit dem QingPing Temperature & Humidity Pro S einen professionellen Sensor, der speziell für Umwelt- und Gewächshausanwendungen entwickelt wurde.
Das Gerät unterstützt konfigurierbare Berichts- und Benachrichtigungs-optionen, die den Benutzer über kritische Änderungen der Temperatur- und Luftfeuchtigkeitswerte informieren.
For Device Configuration and Data Description read the User Manual.
The sensor sends different messages like historical data, real-time data, events, etc.
At this time, QingPing does not offer a payload decoder; therefore, I wrote a simple one for decoding the real-time data message.
Zur Gerätekonfiguration und Datenbeschreibung lesen Sie bitte das Benutzerhandbuch.
Der Sensor sendet verschiedene Nachrichten wie historische Daten, Echtzeitdaten, Ereignisse usw.
Da QingPing derzeit keinen Payload-Decoder anbietet, habe ich einen einfachen Decoder für die Dekodierung der Echtzeitdaten geschrieben.
function decodeUplink(input) {
var data = {};
if (input.bytes[1] == 0x41 && input.bytes[3] == 0x01) {
data.msg = "RTD";
data.temp = ((((input.bytes[8] << 8) + input.bytes[9]) >> 4) - 500)/10;
data.humi = ((((input.bytes[9] << 8) + input.bytes[10]) & 0x0FFF))/10;
data.bat = input.bytes[13];
}
return {
data: data
};
}
Using this payload decoder, the TTS console shows the following messages. As you can see, only the real-time data messages beginning with 01 41 xx 01 are decoded.
Bei Verwendung dieses Payload-Decoders zeigt die TTS-Konsole die folgenden Meldungen an. Wie Sie sehen können, werden nur die Echtzeitdatenmeldungen, die mit 01 41 xx 01 beginnen, dekodiert.
Thanks to RAKwireless for this LoRaWAN gift at Embedded World 2024 and the good conversations at the booth. It reminds me of my visit there.
In the Meshtastic network, a router can send data via MQTT to any MQTT broker on the Internet.
This makes it possible to have data from one or more Meshtastic devices processed or visualized by an external instance.
My Meshtastic network has differently equipped Meshtastic devices. The WisBlock Meshtastic Device is equipped with a RAK1901 sensor for measuring temperature and humidity and a RAK12500 GNSS GPS Location Module u-blox ZOE-M8Q, whose measured values are to be visualized with a Datacake dashboard.
Im Meshtastic Netzwerk kann ein Router Daten über MQTT an jeden beliebigen MQTT Broker im Internet senden.
Dadurch besteht die Möglichkeit, Daten eines oder mehrerer Meshtastic Devices durch eine externe Instanz bearbeiten oder visualisieren zu lassen.
Mein Meshtastic Netzwerk weist unterschiedlich ausgestattete Meshtastic Devices auf. Das WisBlock Meshtastic Device ist mit einem RAK1901 Sensor zur Messung von Temperatur und Luftfeuchtigkeit und einem RAK12500 GNSS GPS Location Module u-blox ZOE-M8Q ausgestattet, deren Messwerte mit einem Datacake Dashboard visualisiert werden sollen.
Visualization of Meshtastic Data with Datacake
The WisBlock Meshtastic Device is installed in an outdoor enclosure with a solar cell.
The test is intended to show whether the buffering provided by the solar cell is sufficient
Das WisBlock Meshtastic Device ist in einem Outdoor Gehäuse mit Solarzelle untergebracht.
Der Test soll zeigen, ob die Pufferung durch die Solarzelle ausreichend ist
Solar Unify Outdoor Enclosure
A Heltec LoRa32 V3 device is configured as a router and the MQTT module sends messages to an MQTT router.
Of the messages sent, only the telemetry and position messages of the WisBlock Meshtastic device are here of interest. The device has the ID 2692927950.
The following JSON fragments show the payload to be decoded.
Ein Heltec LoRa32 V3 Device ist als Router konfiguriert und das MQTT Modul sendet Messages an einen MQTT Router.
Von den versendeten Messages sind hier nur die Telemetry und Position Messages des WisBlock Meshtastic Devices von Interesse. Das Device weißt die ID 2692927950 auf.
Die folgenden JSON-Fragmente zeigen die zu decodierende Payload.
Meshtastic® is an open-source project that uses low-cost LoRa modules to build a long-range, off-grid mesh network in areas without reliable communications infrastructure.
Meshtastic uses LoRa, a long-range radio protocol that is widely available in most regions without the need for additional licenses or certifications. The license-free ISM band is reserved for this type of communication.
The radios rebroadcast messages they receive, ensuring that every node, even those at the furthest distance, can receive messages. Depending on the settings, the Meshtastic mesh network can simultaneously support up to 100 nodes.
Meshtastic radios can be paired with a single phone to send messages directly to an addressed radio. Please note that each device can only support a connection from one user at a time.
The mesh algorithm implements the principle of „flooding.“ Each node sends each packet to its neighbor node, which forwards the packet accordingly. This hop is a chain of wireless links leading ultimately to the destination node. When the packet is forwarded, the hop limit (HL) is reduced by one. The default HL is 3, but it can be set to 7. A packet with a HL of 0 will not be forwarded.
For more information on setting up and operating a Meshtastic network, I must refer you to the extensive information on the Meshtastic website. A very good introduction in German can be found here.
Meshtastic® ist ein Open-Source-Projekt, das kostengünstige LoRa-Module verwendet, um ein netzunabhängiges Mesh-Netzwerk mit großer Reichweite in Gebieten ohne zuverlässige Kommunikationsinfrastruktur aufzubauen.
Meshtastic verwendet LoRa, ein Long-Range Funkprotokoll, das in den meisten Regionen verfügbar ist, ohne dass zusätzliche Lizenzen oder Zertifizierungen erforderlich sind. Das lizenzfreie ISM-Band ist für diese Art der Kommunikation reserviert.
Die LoRa-Module senden die empfangenen Nachrichten weiter, so dass jeder Knoten, auch der am weitesten entfernte, Nachrichten empfangen kann. Je nach Einstellung kann das Meshtastic Mesh-Netzwerk bis zu 100 Knoten gleichzeitig unterstützen.
Meshtastic-Knoten können mit einem Mobiltelefon gepaart werden, um Nachrichten direkt an einen adressierten Knoten zu senden. Jeder Knoten kann immer nur eine Verbindung von einem Benutzer gleichzeitig unterstützen.
Der Mesh-Algorithmus setzt das Prinzip des „Flooding“ um. Jeder Knoten sendet jedes Paket an seinen Nachbarknoten, der das Paket entsprechend weiterleitet. Dieser Hop ist eine Kette von Weiterleitungen, die schließlich zum Zielknoten führt. Bei der Weiterleitung des Pakets wird das Hop-Limit (HL) um eins verringert. Das Standard-HL ist 3, kann aber auch auf 7 gesetzt werden. Ein Paket mit einem HL von 0 wird nicht mehr weitergeleitet.
Für weitere Informationen zur Einrichtung und zum Betrieb eines Meshtastic-Netzwerks muss ich Sie auf die umfangreichen Informationen auf der Meshtastic-Website verweisen. Eine sehr gute Einführung in deutscher Sprache finden Sie hier.
For initial tests, I set up the Meshtastic network shown in the picture.
Für erste Tests habe ich das im Bild gezeigte Meshtastic Netzwerk aufgebaut.
Meshtastic Network
I’m going to show you the first results here, to whet your appetite for a more in-depth exploration of the world of Meshtastic.
The first image shows the router created with a Heltec Lora32 V3 connected to the mobile phone via WiFi (192.168.1.114). The second shows my own nodes and the third shows external nodes visible on the public primary channel. Depending on the configuration of each node, you can see battery voltage, GPS data, environmental data, and distances. The fourth screen shows the location data on a map of the area. Beam shows the location of my LilyGo T-Beam.
The last two screens show the tracking of a moving node. First, the connection is made via the LilyGo T-Beam, and then, after the position has changed, via the Heltec V3 H01 node. This rerouting shows very well the possibilities of a mesh network.
Ich zeige Ihnen hier erste Ergebnisse, um die Lust am tieferen Erkunden der Meshtastic Welt zu wecken.
Im ersten Bild ist der mit einem Heltec Lora32 V3 gebildete Router über WiFi (192.168.1.114) mit dem Mobilphone verbunden, während im zweiten meine eigenen Knoten und im dritten Bild externe, im öffentlichen Primary Channel sichtbare Knoten zu sehen sind. Je nach Ausstattung der jeweiligen Knoten werden Batteriespannung, GPS-Daten oder Umgebungsdaten und Entfernungen angezeigt. Im vierten Bild sind die Positionsdaten in einem Map angezeigt. Mit Beam sehen Sie die Standortdaten meines LilyGo T-Beam.
Die beiden letzten Bilder zeigen das Tracing eines bewegten Knotens. Zuerst erfolgt die Verbindung über den LilyGo T-Beam und nach der Veränderung der Position über den Knoten Heltec V3 H01. Dieses Re-Routing zeigt die Möglichkeiten eines Mesh Netzwerk sehr gut.
Router connected by WiFiOwn Nodes connectedFurther Nodes far awayPositions of the NodesTracing for moving RAK4631Tracing for changed Poistion
The router supports the organization of network participants and the sending of MQTT messages via its WiFi interface. By connecting to the Internet, it can bridge the boundaries of the mesh network.
For example, an MQTT message in JSON format contains the information shown in the following image
Der Router unterstützt nicht nur die Organisation der Teilnehmer des Netzwerks, sondern ermöglicht durch sein WiFi-Interface auch das Versenden von MQTT-Messages und kann dadurch die Grenzen des Mesh-Netzwerks durch Verbindung ins Internet überbrücken.
Eine MQTT-Message im JSON-Format enthält beispielsweise die im folgenden Bild gezeigten Informationen.
The information can be made readable by parsing the transmitted payload.
I use a separate ESP32 for this, which has subscribed to the messages with the topic msh/#, decodes their payload and displays it via the console. The display can of course also be made more convenient.
Durch Parsing der übermittelten Payload kann die Information lesbar gestaltet werden.
Ich nutze hierfür einen separaten ESP32, der die Messages mit dem Topic msh/# abonniert hat, deren Payload decodiert und über die Console zur Anzeige bringt. Die Anzeige kann natürlich auch komfortabler gestaltet werden.
Telemetry Message
Position Message
The Meshtastic logo trademark is the trademark of Meshtastic LLC.
RAKwireless‘ SensorHub is a modular ecosystem consisting of the main body and multiple pre-configured sensor probes. With pluggable, interchangeable probes and the option to add third-party sensors to the system, the Sensor Hub is a suitable and versatile solution platform for various IoT applications where environmental monitoring is needed outdoors.
The SensorHub can work battery-powered by non-rechargeable or solar-powered batteries or with an external power supply, depending on the application and deployment location.
For data transmission into Low-Power Wide-Area Network (LPWAN), LoRaWAN is available. Alternatively, NB-IoT can be used.
As a typical low-code system, it requires configuration with the WisToolBox app from a cell phone. WisToolBox also enables access to the measured values of all connected sensors, as the following screenshots show.
Screenshots of WisToolBox app
The eBook SensorHub IoT Applications will be available from Amazon from November 15, 2023. Pre-orders are already possible.
This eBook introduces the SensorHub system and its usage in industrial-grade IoT applications using LoRaWAN for communication.
The first image shows a SensorHub with a connected SensorProbe equipped with WisBlock sensors. This application is suitable for powering by batteries, too.
The second image shows a SensorHub Measuring Station built by RK900-09 Weather Station, RK520-02 Soil Moisture Sensor, and RAK9154 Solar Battery. These components build an autonomous working measuring station. The measuring station was installed to test the acquisition of the measuring values via the connected sensors on the one hand and its behavior regarding solar-buffered battery operation in the darker season on the other hand.