Schlagwort-Archive: IoT

Arduino UNO-Q eingetroffen

Arduino UNO-Q, die neueste Ankündigung von Arduino, war heute in meinem Briefkasten.

Nach meinen Experimenten mit dem Arduino Yun bin ich gespannt, wie sich diese Kombination aus Mikrocontroller und Linux-Device behaupten wird.

Die Installation der zugehörigen IDE Arduino App Lab ist erstmal sehr einfach. Die komplexe Installation läuft komplett im Hintergrund und schliesslich wird man aufgefordert seinen Arduino UNO-Q über USB mit dem PC zu verbinden.

Im Editor sind die o.a. Fenster sichtbar. Sketch.ino bildet die Arduino Seite ab, während main.py die Python Anwendung auf der Linux-Seite zeigt.

Die Verbindung der beiden Umgebungen übernimmt die sogenannte Bridge.

Ausgelesen werden von der Seite open-meteo.com das aktuelle Wetter und eine entsprechendes Icon auf dem Matrixdisplay angezeigt.

Auf diese Weise können sehr einfach von Sensoren erfasste Messwerte auf den unterschiedlichen Plattformen visualisiert bzw. abgespeichert werden, oder mit Hilfe aus dem Internet bezogener Informationen auf konkrete Hardware eingewirkt werden.

Mit dem Arduino UNO-Q steht eine interessante Plattform für IoT- und KI-Anwendungen zur Verfügung.


Neben der Programmierung des Arduino UNO Q über das Arduino App Lab kann auf die CPU des Linux-Devices auch über Secure Shell (SSH) zugegriffen werden.

Damit können Sie unter anderem:

  • Auf die Shell des Boards zugreifen und Vorgänge auf dem Board über das Netzwerk starten.
  • Dateien vom lokalen Computer über das Netzwerk auf das Board übertragen (mit SCP).

Zum Test habe ich mit dem Editor Nano das Shell Script info erstellt, welches Informationen zur installierten Linux-Distribution ausgibt.

Ausführung von Shell Scripten

Um einen ersten Eindruck von der Leistungsfähigkeit des Linux-Systems zu erhalten habe ich die Benchmark-Programme UNIXBench und Coremark installiert.

Arduino UNO Q UNIXBench

Vergleicht man die UNIXBench Resultate mit den unter https://ckblog2016.net/resultate-unixbench/ veröffentlichten Ergebnissen anderer Linux-Devices im Embedded Bereich, dann hat man mit dem Linux-Device des Arduino UNO Q ein durchaus leistungsfähiges System in den Händen.

Dieses Resultat wird durch den CoreMark Benchmark bestätigt. Zahlreiche Testergebnisse finden Sie unter https://www.eembc.org/coremark/scores.php.

CoreMark Resultat

2025-11-05/CK

NFN-Solarnode im Test

Das Notfunk Netzwerk (NFN) ist eine Gruppe von Funkamateuren, CB-Funkern, IT-Fachkräften sowie Feuerwehrmännern, die daran arbeiten, ein flächendeckendes Notfunknetzwerk (Meshtastic) in Zusammenarbeit von Liegenschaften und Grundstückseigentümern in der Schweiz aufzubauen.

Im Ernstfall kann die Kommunikation dezentral über dieses Netzwerk erfolgen – Für JEDERMANN.

Um eine landesweite Erreichbarkeit zu gewährleisten, sind selbst hergestellte und autark arbeitende Solar-Nodes an hohen Standorten unerlässlich.

Im Januar 2025 wurde mit dem Aufbau des Netzwerks in der Zentralschweiz begonnen.

Die Nodes des NFN sind mit den folgenden Bezeichnungen NFN-631#1-1 / Web-SDR.ch erkennbar. Es bedeuten: NFN = Notfunk Netzwerk, 631 = die ersten drei Zahlen der PLZ, # dient als Platzhalter, 1 – 1= Username – Device Nr von diesem User.

Somit ist zu sehen, dass im Gebiet von der PLZ 631x von User 1, der erste Node zu sehen ist.

Dass der Ausbau im Gange ist, zeigen die von mir in Altendorf SZ empfangenen Nodes aus dem NFN-Mesh.

NFN Nodes

Die derzeitige aktiven Client–Solar-Nodes sind unter https://meshtastic.web-sdr.ch/ gelistet. Außerdem sind auf dieser Website Bauvorschläge für eigene Nodes veröffentlicht.

Das 3. Modell der dort gelisteten Vorschläge wurde mir dankenswerterweise vom NFN zum Test zur Verfügung gestellt.

NFN Solar Node

Auf der Webseite: https://www.printables.com/model/859422-rak-4631-meshtastic-node/comments ist der Bauvorschlag zu sehen und unter MAKES, können die bereits veröffentlichten Ausdrucke angesehen werden. Ein Nachbau ist durchaus erwünscht.

Das Gehäuse ist mit genügend Bauraum für die Installation des Controllerboards für die Node, Sensorboards für Spannungs– und Temperaturmessung und einen MPPT Solarregler ausgestattet. Die Antenne wird über einen wetterfesten N-Type-Anschluss verbunden. Eingesetzt wurden hier eine 10’000 mAh LiPo-Batterie und ein Waveshare Solar Panel (5.5V 6W).

Bauraum für die Installation von Node, Sensoren und Batterie

Schon beim Auspacken zeigte sich, dass die Solarzelle bereits auf Glühlampenlicht reagierte, was eine ordentliche Effektivität versprechen sollte.

Für den Test günstig ist die anfängliche Pause des fast sommerlichen Wetters. Der Test beginnt an einem trüben Tag, praktisch ohne Sonne. Am 10.05.25 lässt sich erstmals die Sonne wieder sehen und es geht relativ ausgeglichen weiter. Die Grafik zeigt die Resultate des Tests vom 7.05. bis 19.05.2025.

Fazit:

Für eine autark arbeitende Solarnode ist der Stromverbrauch der Node selbst von absoluter Bedeutung. Folgerichtig kam in der NFN-Node ein nRF52840 basierendes RAK4631-Modul von RAKwireless zum Einsatz.

Ein Li-Ion Akku mit einer Kapazität von 10’000 mAh deckt die Phasen ohne ausreichend Sonnenlicht ab, was hier aber nicht ausgereizt wurde.

Das Solarpanel war überraschend effektiv und selbst bei nicht so sonnigen Tagen wurde die Batterie nachgeladen.

Die Verwendung der hier beschriebene Solarnode vom Notfunk Netzwerk im autarken Einsatz kann ich nach den Tests hier nur empfehlen. Die Daten zum Nachbau sind freigegeben, sodass diesem nichts entgegensteht.

Ich danke dem NFN für die Bereitstellung der Node, wodurch dieser Test erst möglich wurde.


Lust auf mehr?
Wenn Du ein ähnliches Projekt starten möchtest oder Fragen zu Deinem Setup hast – ich unterstütze Dich gern als Consultant.
Jetzt unverbindlich Kontakt aufnehmen »


2025-05-23/CK

RAKwireless SensorHub in Betrieb seit 11/2023

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.

Meine solarbetriebene Wetterstation läuft nach einem Update seit November 2023.

Wenn Sie mit dem SensorHub eine autonom arbeitende IoT-Anwendung implementieren wollen, dann finden Sie in meinem eBook zum SensorHub weitere Anregungen.


2025-05-02/CK

Solar-betriebener Meshtastic-Knoten

Der im Blogpost Meshtastic – Erfassen, Versand und Visualisierung von Messwerten beschriebene Meshtastic-Knoten wird hier bezüglich der Stromaufnahme unter verschiedenen Umgebungsbedingungen untersucht.

Da das externe Sensormodul hinsichtlich der Stromaufnahme (noch) nicht optimiert ist, starte ich den Solartest ohne diesem Modul.

Eine Überschlagsrechnung zeigt, dass mit einem 5 V/3 W-Solarpanel und einem Li-Ion-Akku 18650 der Strombedarf gedeckt sein könnte. Die theoretische Laufzeit von ca. 3 Tagen ist für die Überbrückung einer Dunkelflaute allerdings knapp bemessen.

Weiterlesen

Meshtastic – Erfassen, Versand und Visualisierung von Messwerten

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.

Meshtastic-Netzwerk

Mein Netzwerk besteht aus verbreiteten Meshtastic-Devices. Eine kommentierte Übersicht finden Sie unter Meshtastic Erfahrungen: Boards und Module.

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.

Um den Meshtastic-Knoten autonom betreiben zu können, wird dieser über eine Solarzelle mit Batteriepufferung versorgt. Nachdem der ursprünglich vorgesehene Waveshare Solar Power Manager (B) nicht die erwarteten Ergebnisse gebracht hat, habe ich einen DFRobot Solar Power Manager 5 V eingesetzt (siehe Abbildung).

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:

Telemetry Message:

{
  "channel": 0,
  "from": 2692927950,
  "hop_start": 3,
  "hops_away": 0,
  "id": 587303572,
  "payload": {
    "barometric_pressure": 0,
    "current": -0.200000002980232,
    "gas_resistance": 0,
    "iaq": 0,
    "lux": 0,
    "radiation": 0,
    "relative_humidity": 29.2199993133545,
    "temperature": 24.4500007629395,
    "voltage": 4.19999980926514,
    "white_lux": 0,
    "wind_direction": 0,
    "wind_gust": 0,
    "wind_lull": 0,
    "wind_speed": 0
  },
  "rssi": -54,
  "sender": "!fa66367c",
  "snr": 6.75,
  "timestamp": 1740267577,
  "to": 4294967295,
  "type": "telemetry"
}

TextMessage:

{
  "channel": 0,
  "from": 2692927950,
  "hop_start": 3,
  "hops_away": 0,
  "id": 3687588499,
  "payload": {
    "text": "DS18B20 Temp =  24.8 °C\n"
  },
  "rssi": -54,
  "sender": "!fa66367c",
  "snr": 6.25,
  "timestamp": 1740267577,
  "to": 4294967295,
  "type": "text"
}

Position Message:

{
  "channel": 0,
  "from": 2692927950,
  "hop_start": 3,
  "hops_away": 0,
  "id": 1306258064,
  "payload": {
    "altitude": 423,
    "latitude_i": 471921490,
    "longitude_i": 88150580,
    "precision_bits": 32,
    "time": 1740266796
  },
  "rssi": -54,
  "sender": "!fa66367c",
  "snr": 5.75,
  "timestamp": 1740266796,
  "to": 4294967295,
  "type": "position"
}

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.

Dashboard für den Desktop
Dashboard für Smartphone-1
Dashboard für Smartphone-2

Die verwendete Software finden Sie unter https://github.com/ckuehnel/Meshtastic.

Über den öffentlichen Link können Sie
das Dashboard aufrufen.


Das Verhalten des Meshtastic-Knotens unter verschiedenen Umgebungsbedingungen beschreibe ich im Blogpost Solar-betriebener Meshtastic-Knoten.


2025-03-14/CK

Meshtastic – Erfassung und Versand von Messwerten

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.

Sensoren mit I2C-Interface

Von Meshtastic wird eine Reihe wichtiger Sensoren mit I2C-Interface direkt unterstützt. Unter der URL https://meshtastic.org/docs/configuration/module/telemetry/ sind die aktuell unterstützten Sensoren gelistet.

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
  • WisBlock Core Module RAK4631
  • WisBlock Sensor Adapter Module RAK1920
  • OLED Display RAK1921 (optional)
  • GNSS GPS Location Module u-blox ZOE-M8Q RAK12500 (optional)

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.

RAKwireless RAK4631 Meshtastic Knoten

Für experimentelle Arbeiten bietet sich ein RAKBox-B5 Transparent Acrylic Enclosure (https://store.rakwireless.com/products/rakbox-b5-transparent-acrylic-enclosure) von RAKwireless an, wie ich es beispielsweise bei Experimenten zu einem solargepufferten IoT-Knoten eingesetzt habe (https://ckarduino.blog/2023/12/21/solar-buffered-wisblock-node/).

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.

Waterproof DS18B20 Digital Temperature Sensor (IP68)

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.

Ultrasonic Ranging Sensor for Water Level Detection (25-800 cm, IP67)

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.


2025-03-17/CK

Meshtastic Kit: Experimenting with XIAO ESP32-S3 & Wio-SX1262

Im Blogbeitrag Meshtastic Kit for Experimentation hatte ich Ihnen das XIAO ESP32S3 & Wio-SX1262 Kit vorgestellt.

Rechtzeitig vor dem Chinesischen Neujahrsfest kam heute meine Bestellung von Seeedstudio an.

Komponenten des XIAO ESP32S3 & Wio-SX1262 Kits

Durch die Kontaktierung der beiden Boards über den B2B-Connector entsteht ein kompaktes Meshtastic-Modul.

XIAO ESP32-S3 & Wio-SX1262 Modul

Ein Meshtastic Experimentierumfeld zeichnet sich dadurch aus, dass es den eigentlichen Meshtastic Knoten um für die Anwendung wichtige externe Komponenten erweitert. Das XIAO Expansionsboard bietet neben Grove-Connectoren ein OLED-Display, wodurch die komplette Infrastruktur für Meshtastic Experimente verfügbar ist.

XIAO ESP32-S3 & Wio-SX1262 Modul im XIAO Expansionsboard

Die Einrichtung des Meshtastic-Knotens erfolgt wie gewohnt über den WebFlasher und anschliessende Konfiguration.

Ich habe den Meshtastic-Knoten über den I2C-Port mit einer M5Stack ENV II Unit erweitert. Durch die in dieser Unit verbauten Sensoren 8sh

SHT30 & BMP280) können Temperatur und relative Feuchte sowie barometrischer Druck gemessen werden. Auf dem OLED-Display werden die Daten der empfangenen Meshtastic-Knoten angezeigt.

In der verbundenen Android App stellen sich die übermittelten Telemetriedaten dann gemäss dem folgenden Screenshot dar.

Screenshot Android App

2025-01-09/CK

Solarbetriebener Meshtastic Client

Im Blockbeitrag Solarbetriebener LoRa-Knoten habe ich einen auf WisBlock-Komponenten (RAK4631) basierenden LoRaWAN-Knoten vorgestellt. Eine 5 W Solarzelle lädt bei genügend Sonnenlicht einen 18650-LiPo-Akku auf. Die Spannungsversorgung des LoRa-Knotens erfolgt durch die höhere der beiden Spannungen.

Der gleichen Hardware habe ich die Meshtastic Firmware aufgespielt und starte einen Versuch zum autonomen Betrieb dieser Konfiguration. Ein Meshtastic Client bietet insofern ungünstige Bedingungen, als er praktisch im Dauerbetrieb läuft und nicht einfach in einen Deep Sleep versetzt werden kann.

Der Test beginnt mit einem mittelmäßig aufgeladenen LiPo-Akku, dessen Entladung am ersten Tag durch reichlich zwei Stunden Sonnenschein wieder ausgeglichen wurde. Am zweiten Tag war die Sonnenscheindauer etwas länger, die Sonneneinstrahlung aber weniger intensiv, wodurch die Entladung nicht kompensiert wurde. Dieser Vorgang setzt sich bis zum Aussetzen der Kommunikation fort.

Die folgenden Screenshots des Ladezustands und die Tabelle zeigen die konkreten Werte.

Erste 48 h Testzyklus
Letzte 24 h Testzyklus
StatusDaumUhrzeitBatteriespannungLadezustand
Start Entladung15.12.202419:563.59 V36 %
Start Solarnachladung16.12.202411:163.40 V18 %
Ende Solarnachladung16.12.202413:563.63 V40 %
Start Solarnachladung17.12.202411:133.36 V14 %
Ende Solarnachladung 17.12.202415:203.54 V31 %
Start Solarnachladung18.12.202413:553.32 V11 %
Ende Solarnachladung18.12.202414:083.23 V6 %
Ende der Kommunikation18.12.202415:443.05 V0 %

Aus dem Verhalten der Batterienachladung an zwei eher sonnigen Tagen im Dezember 2024 und den darauf folgenden weniger sonnigen Tagen zeigt sich, dass ein zuverlässiger Dauerbetrieb bei normalen Bedingungen kaum möglich sein dürfte.

In meinem Meshtastic eBook befasst sich ein Abschnitt mit Batterietypen und ein anderer mit der Optimierung der Solar-Spannungsversorgung. Für einen autonom zu betreibenden Meshtastic-Knoten sind das durchaus komplexe Themen.

Ein MPPT-Laderegler sollte eine deutliche Verbesserung des Ladevorgangs bringen. Auch die eingesetzte Batterietechnologie spielt eine Rolle für das Gesamtverhalten.

Inwieweit ein MPPT-Laderegler mit dem gleichen Solarpanel und einem Li-Po Akku hier bessere Resultate zulässt, werde ich untersuchen. Eine Vergrößerung des Solarpanels bleibt dann immer noch als Option.

Einen Waveshare Solar Power Manager (B), der einen Li-Po-Akku mit 10’000 mAh und Solarpanels mit 6 V ~ 24 V unterstützt, habe ich bestellt.

Waveshare Solar Power Manager (B)

2024-12-19/CK

Meshtastic Kit for Experimentation

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.

SensorI2C AddressData PointsGrove
seeedstudio.com
M5Stack
m5stack.com
BMP0850x76, 0x77Temperature and barometric pressure  
BMP1800x76, 0x77Temperature and barometric pressureGrove – Barometer Sensor(BMP180) 
BMP2800x76, 0x77Temperature and barometric pressureGrove – Temperature and Barometer Sensor (BMP280)ENV II Unit with Temperature Humidity Environment Sensor (SHT30+BMP280) ENV IV Unit with Temperature Humidity Air Pressure Sensor (SHT40+BMP280)
BME2800x76, 0x77Temperature, barometric pressure and humidityGrove -Temp&Humi&Barometer Sensor (BME280) 
BME68x0x76, 0x77Temperature, barometric pressure, humidity and air resistanceGrove – 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 sensorENV Pro Unit with Temperature, Humidity, Pressure and Gas Sensor (BME688)
MCP98080x18TemperatureGrove – I2C High Accuracy Temperature Sensor – MCP9808 
INA2600x40, 0x41, 0x43Current and Voltage  
INA2190x40, 0x41, 0x43Current and Voltage  
INA32210x423-channel Current and Voltage  
LPS220x5D, 0x5CBarometric pressure  
SHTC30x70Temperature and humidity  
SHT310x44Temperature and humidityGrove – Temperature&Humidity Sensor (SHT31) 
PMSA003I0x12Concentration units by size and particle counts by size  
DFROBOT_LARK0x42Temperature, barometric pressure, humidity, wind direction, wind speed  
MAX301020x57Heart Rate, Oxygen Saturation, and body temperature Mini Heart Rate Unit (MAX30100) Pulse Oximeter
MLX906140x5ABody temperatureGrove – Thermal Imaging Camera – MLX90641NCIR 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.

Ich habe die beiden Boards für das Meshtastic Device bei Seeedstudio (https://www.seeedstudio.com/Wio-SX1262-with-XIAO-ESP32S3-p-5982.html) bestellt und werde nach dem Eintreffen der Hardware das Kit zusammenstellen und die Inbetriebnahme hier dokumentieren.

The board also has an OLED display and a battery connection. You can charge the battery via USB. A solar connection is not available.


I have ordered the two boards for the Meshtastic Device from Seeedstudio (https://www.seeedstudio.com/Wio-SX1262-with-XIAO-ESP32S3-p-5982.html) and will assemble the kit once the hardware arrives and document the commissioning here.


2024-12-14/CK

Meshtastic – Funknetze mit LoRa

Meshtastic ist eine Open-Source-Mesh-Netzwerk-Plattform, die in letzter Zeit an Popularität gewonnen hat. Ihre Beliebtheit basiert auf mehreren Schlüsselfaktoren:

  • Meshtastic ermöglicht die Kommunikation über lange Strecken, ohne auf eine bestehende Infrastruktur (Mobilfunk, WLAN oder Internet) angewiesen zu sein. Diese als Off-Grid-Kommunikation bezeichnete Technologie ist besonders attraktiv für Outdoor-Aktivitäten und Expeditionen, wo es oft keinen Mobilfunkempfang gibt, oder für Rettungsdienste, militärische Anwendungen, Vorbereitung auf Katastrophenfälle (Prepping) und in Regionen mit eingeschränkter Infrastruktur.
  • Meshtastic nutzt preisgünstige Hardware auf Basis von LoRa-Modulen, die wenig Energie verbrauchen, bei geeigneter Auslegung für den Batteriebetrieb geeignet sind und Entfernungen von oft mehreren Kilometern überbrücken können.
  • Meshtastic ist Open Source und bietet den Nutzern völlige Freiheit, das System an ihre spezifischen Bedürfnisse anzupassen. Entwickler können die Software modifizieren, eigene Anwendungen entwickeln oder neue Funktionen hinzufügen. Diese Offenheit fördert eine wachsende Community, die regelmäßig zu Updates und Verbesserungen beiträgt.
  • Meshtastic-Nutzer können Nachrichten ohne Überwachung durch Drittparteien senden. Der Datenschutz wird auf diese Weise gesichert, da es keine zentralen Server gibt, die den Datenverkehr kontrollieren oder aufzeichnen.
  • Meshtastic ist vergleichsweise einfach einzurichten und zu bedienen. Einfache Apps für Android, iOS und den Desktop ermöglichen die Konfiguration eines betreffenden Knotens, Nachrichten zu senden und die empfangenen Nachrichten zu visualisieren. Fortgeschrittene Nutzer können auch private Netze einrichten und Daten erfassen und austauschen.
  • Mesh-Netzwerke sind eine spannende Technologie, da sie Netzwerkknoten ermöglicht, miteinander zu kommunizieren, indem sie ihre Nachrichten über verschiedene Zwischenknoten weiterleiten. Das schafft ein robustes und selbstheilendes Kommunikationsnetzwerk, das gerade in schwierigen Umgebungen oder Notlagen einen erheblichen Vorteil bieten kann.

Ist Ihr Interesse geweckt?

Vom Rheinwerk-Verlag erscheint in Kürze das E-Book „Meshtastic – Funknetze mit LoRa“.

Mit diesem E-Book möchte ich Ihnen beim Aufbau und dem Betrieb eines Meshtastic-Netzwerks helfen und meine praktischen Erfahrungen einfließen lassen.

Informationen zum E-Book finden Sie auf der Website des Rheinwerk-Verlags unter der URL https://www.rheinwerk-verlag.de/meshtastic-funknetze-mit-lora/


2024-10-19/CK