Schlagwort-Archive: Hardware

Smart Environmental Monitoring

Aufbau eines BLE-Netzwerks für diverse Umwelt-Sensoren

Ziel des Projekts ist der Aufbau eines skalierbaren, extrem stromsparenden Sensor-Netzwerks zur Überwachung von Umgebungsdaten. Der NanoBeacon IN100 SoC von InPlay Inc. kommt im SparkFun NanoBeacon Board – IN100 und im DFRobot Fermion BLE Sensor Beacon zum Einsatz.

Das SparkFun NanoBeacon Board – IN100 kann durch Sensoren mit einem QWIIC-Interface erweitert werden. Beim Einsatz der Fermion-Baureihe von DFRobot können verschiedene Sensoren (u.a. LM35, SHT40, SGP40) direkt mit dem Fermion BLE Sensor Beacon kontaktiert werden.

In beiden Fällen ist eine drahtlose Vernetzung der so gestalteten BLE-Sensoren möglich. Die übermittelten Daten können von einem zentralen ESP32-Gateway ausgewertet und zur Langzeitanalyse an eine IoT-Plattform übermittelt werden.

Ich verwende MicroPython für die Programmierung des ESP32-Gateways. Auf der Sensor-Seite kommt der Fermion BLE Sensor Beacon zum Einsatz. Datacake dient in bewährter Weise als IoT-Plattform.

Systemarchitektur & Datenfluss

Das System nutzt eine dreistufige Architektur, um maximale Effizienz und Reichweite zu erzielen:

  • Sensor-Knoten (Edge): Mehrere Fermion BLE-Module fungieren als eigenständige Sender (Beacons). Sie erfassen analoge Signale (z-B. LM35) sowie digitale I²C-Daten (z.B. SHT40 für Feuchte/Temp, SGP40 für Luftqualität). Die Daten werden ohne festes Pairing direkt in die BLE Manufacturer Data (Advertising-Pakete) eingebettet.
  • Zentral-Gateway (Processing): Ein ESP32 scannt unter MicroPython kontinuierlich das BLE-Spektrum. Er identifiziert die Fermion-Knoten anhand ihrer IDs, extrahiert die Rohdaten aus den Manufacturer-Bytes und berechnet die physikalischen Einheiten. Die aktuellen Messwerte werden unmittelbar auf einem OLED-Display (SSD1306) am ESP32 angezeigt.
  • Visualisierung der aufbereiteten Daten und via MQTT an das Datacake-Dashboard versendeten Daten, wo sie für Monitoring, Alarme und Historien-Analysen zur Verfügung stehen.

Besondere Merkmale

  • Ultra-Low Power: Durch den Verzicht auf eine dauerhafte BLE-Verbindung (Broadcasting) erreichen die Sensor-Knoten Batterielaufzeiten im Bereich von Monaten bis hin zu Jahren.
  • Skalierbarkeit: Das System kann problemlos um weitere Knoten ergänzt werden, da der ESP32 als passiver Empfänger eine Vielzahl von Sendern gleichzeitig verarbeiten kann.
  • Robustheit: Die Trennung von Erfassung (Fermion) und Verarbeitung (ESP32/Cloud) ermöglicht einen stabilen Betrieb auch in komplexen Umgebungen.

Aufbau eines Sensor-Knotens

Der Fermion BLE Sensor Beacon ist ein drahtloser Beacon, der Sensordaten über Bluetooth sendet. Ein integrierter 11-Bit-ADC kann zur Erfassung analoger Messwerte eingesetzt werden und über das I2C-Interface können Sensoren mit I²C-Interface ausgelesen werden. Auf die vom Beacon gesendeten Sensordaten kann innerhalb der Sendereichweite des Beacons mit Mobiltelefonen, Mikrocontrollern und anderen Geräten, die den BLE-Empfang unterstützen, zugegriffen werden.

Fermion BLE-Sensor-Beacons integrieren stromsparende Bluetooth 5.3-Technologie mit selbstkonfigurierbaren Datenformaten wie iBeacon, Eddystone, benutzerdefiniert und mehr.
Die BLE-Sensor-Beacons können mit einer CR2032-Knopfzellenbatterie betrieben werden. Es stehen bis zu sechs konfigurierbare GPIOs zur Verfügung, die alternativ auch zu zwei unabhängigen I²C-Schnittstellen konfiguriert werden können.

Fermion BLE-Sensor-Beacon

Das Datenformat der Beacon-Übertragung, der Inhalt der Übertragung, das Übertragungsintervall usw. können über die grafische Benutzeroberfläche NanoBeacon Config Tool konfiguriert werden, ohne dass für die Fertigstellung eines Bluetooth-Beacons die Programmierung von Code erforderlich ist.

NanoBeacon Config Tool

Für einen ersten Versuch wurde der Beacon so konfiguriert, dass die interne Temperatur (Chiptemperatur) mit zwei Byte in den Manufacturer-Daten verankert wurde. Im NanoBeacon Config Tool ist das mit den Bytes 13 und 14 zu sehen,

Für die Visualisierung der empfangenen Daten verwende ich das nRF-Tool. Im folgenden Screenshot sind die Manufacturer-Daten markiert. Nach dem Hersteller-Code 0x0505 stehen die Bytes 0x0A3F = 2623D = 26.23°C. Von einem BLE-Scanner bzw. BLE-Gateway sind die übermittelten Daten nur noch zu parsen und jegliches Geheimnis ist gelüftet.

Manufacturer Data

Zu Beginn habe ich der Einfachheit halber einen XIAO-ESP32-C3 auf einem XIAO-Erweiterungsboard als BLE-Scanner eingesetzt. Installiert ist die aktuelle MicroPython-Firmware v1.27.

Die MicroPython-Anwendung scannt die Umgebung nach Bluetooth-Signalen, die von Geräten wie Smartwatches, Fitness-Trackern, Sensoren oder Beacons ausgesendet werden, und identifiziert alle BLE-Geräte in Reichweite, die im Advertising-Modus Signale aussenden. Sie misst die Signalstärke (RSSI) und ruft Metadaten, darunter auch die Manufacturer-Daten, ab. In den Manufacturer-Daten ist hier der Temperaturmesswert verankert. Auf dem OLED-Display des XIAO-Erweiterungsboards werden diese Daten schließlich zur Anzeige gebracht.

BLE-Gateway mit ESP32-C3

Für den Einsatz in Innenräumen eignet sich das RAKBox-B3-Gehäuse, da es für die Sensorik gut belüftet ist und ausreichend Schutz der Komponenten sichert.

RAKBox-B3 Indoor Enclosure

In der nächsten Projektphase wird das System um Fermion-Sensoren sowie kommerzielle BLE-Geräte ergänzt. Dabei entwickeln wir den BLE-Scanner zu einem BLE-MQTT-Gateway weiter, um die erfassten Daten zur Visualisierung an die Datacake-Plattform zu übertragen.

Parallel dazu arbeite ich an einem Fachbuch über MicroPython im IoT-Umfeld. Darin finden Sie – neben einer fundierten Einführung in MicroPython für gängige Mikrocontroller – praxisnahe Anwendungen auf Basis von WiFi, Ethernet, ESP-Now und BLE.


2026-02-22/CK

Badger2350: Das stromsparende eInk-Badge für smarte IoT-Displays

Der Badger2350 von Pimoroni ist ein kompaktes, stromsparendes eInk-Badge-Board, das speziell für portable Anzeigen und langlebige IoT-Projekte entwickelt wurde. Statt auf hohe Rechenleistung oder Multimedia setzt die Hardware konsequent auf Effizienz, gute Lesbarkeit und extrem niedrigen Energieverbrauch – Eigenschaften, die in vielen Maker- und IoT-Szenarien entscheidend sind.

Durch das integrierte eInk-Display lassen sich Informationen dauerhaft anzeigen, ohne kontinuierlich Strom zu verbrauchen. In Kombination mit einfacher Programmierung in MicroPython, einer aktiven Entwickler-Community und zahlreichen Beispielprojekten eignet sich das Board sowohl für schnelle Prototypen als auch für produktive Anwendungen. Ob Statusanzeigen im Smart Home, digitale Labels oder batteriebetriebene Sensorstationen – der Badger2350 ist besonders dort interessant, wo Informationen sichtbar bleiben sollen, ohne dass ständig Energie fließt.

Pimoroni Badger2350

Badger2350 baut auf der folgenden Hardware auf:

  • 2.7″ eInk-Display mit 264 x 176 Pixeln und vier Graustufen
  • Raspberry Pi RP2350A (Dual Arm Cortex M33 @ 250 MHz mit 520 KB 0SRAM)
  • 16 MB Flash, 8 MB PSRAM
  • Raspberry Pi RM2 module (CYW43439) für IEEE 802.11 b/g/n WLAN & BT
  • 1000mAh LiPo battery:
  • PCF85063A RTC für WakeUp von Sleep
  • Polycarbonate case
  • 4-zone mono LED case lighting
  • Buttons: 5 User, Reset & Home
  • Connectors: USB-C zur Spannungsversorgung und Programm-Upload, I2C-Connector (Qwiic/STEMMA QT)

Für die Programmierung in MicroPython bietet Pimoroni eine spezielle Firmware an, die unter https://badgewa.re/docs beschrieben ist.

Die Firmware ist neu (https://github.com/pimoroni/badger2350) und die Dokumentation noch in Arbeit. Das gilt es zu berücksichtigen.

Ich habe einen ersten Test unternommen, um mit uname() dem System Informationen zu entlocken und das Programm in den bestehenden Launcher einzubinden.

Menu mit zusätzlicher App
App uname

Wie Sie aus den beiden Abbildungen sehen, hat das der Dokumentation folgend auch alles funktioniert. Eine App kann in den Launcher eingebunden werden und dann von da aufgerufen werden, oder aber als main.py als eigenständige App arbeiten. Ich habe hier den ersten Weg gewählt.

Mir den Möglichkeiten, die der Badger2350 bietet, sind Anwendungen aus den folgenden Bereichen denkbar:

  • Monitoring von Umweltdaten mit lokalem Statusdisplay
  • Solarbetriebene Sensorstationen
  • Energieverbrauch (z. B. PV-Ertrag oder Stromzählerdaten)
  • MQTT-Dashboard für wichtige Zustände
  • Inventar-Tracking mit QR-Code auf eInk
  • Statusanzeigen für Funk-Gateways
  • u.a.m.

Der Badger2350 überzeugt vor allem durch seine klare Ausrichtung auf stromsparende Anzeige- und IoT-Anwendungen. Seine Stärken spielt das Board überall dort aus, wo Daten selten aktualisiert werden, aber dauerhaft sichtbar sein sollen: Statusanzeigen, Sensordashboards, digitale Labels oder portable Informationssysteme sind typische Einsatzfelder. Weniger geeignet ist es dagegen für grafikintensive Anwendungen oder Projekte mit schnellen Display-Updates.


2026-02-14/CK

LilyGO T-Deck Pro Meshtastic

Zur Komplettierung meiner Sammlung von Meshtastic Nodes habe ich bei LilyGO die LilyGO T-Desk Pro Meshtastic Node bestellt.

Die Lieferung liess nicht lange auf sich warten und ich packte erwartungsfroh die Sendung aus. Was ich fand war eine 915 MHz Version, die meine Stimmung erstmal trübte.

Ob ich den Fehler bei der Bestellung gemacht habe oder der Lieferant bei der Bearbeitung, kann ich nicht sagen. Eine Meldung bei LilyGO blieb unbeantwortet. Was nun?

Eine Anfrage in verschiedenen Foren brachte mir Antworten von einfach Firmware auf EU_868 konfigurieren bis hin zu geht überhaupt nicht, weil Frequenzen nicht passen.

Ein Blick in das Schaltbild des LilyGO T-Deck Pro zeigt, dass die Optionen des Antenna Match Networks kaum genutzt sind und möglicherweise mit der nicht optimalen Anpassung gelebt werden kann.
Die Aussagen in der TI Design Note DN038 lassen das ebenfalls vermuten.

Also habe ich es auf dem brutalen Weg versucht und ohne Hardwareanpassungen nur die Firmware auf EU_868 eingestellt.

In den Screenshots zeigt sich, dass hier 97 Nodes online sind und offenbar die Anpassung der Firmware bereits zum Ziel geführt hat. Ob ein solches Vorgehen im Allgemeinen funktioniert, wage ich damit nicht zu sagen. Hier hat es funktioniert.


2025-10-02/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

Meshtastic Solar Motherboard

Auf Basis des RAKwireless Coremoduls RAK4631 und der Baseboards RAK19007 bzw. RAK19003 kann sehr einfach ein solar-betriebener IoT-Knoten aufgebaut werden. Ich hatte im Beitrag Solar-betriebener LoRa-Knoten einen solchen Knoten für das LoRaWAN vorgestellt.

Die einzusetzenden Baseboards unterstützen zwar eine einfache Stromversorgung über ein Solarpanel, doch sollte wegen der höheren Stromaufnahme eines Meshtastic-Knotens die vom Solarpanel bereitgestellte Energie mit einem Solar-MPPT-Batteryloader optimal genutzt werden.

MPPT steht für „Maximum Power Point Tracking“ und bezeichnet die Nachführung des Punktes maximaler Leistung einer Solarzelle.

Vlastimil Slintak hat diesen Ansatz verfolgt und einen Solar-MPPT-Batteryloader für Li-Ion-, LiFePo4- oder LTO-Batterien mit einem RAK4630-Modul zu einem Meshtastic Solar Motherboard kombiniert (https://uart.cz/en/2534/solar-mppt-charger-for-meshtastic/). Das Board mit den Maßen 70 × 43 mm ermöglicht die Verwendung eines jeden Solarpanels mit einer Spannung von 7 bis 30 V und jeder Batterie mit einer Nennspannung von weniger als 5,6 V.

Unterstützt werden:

  • 1S Li-Ion und Li-Po-Batterie (Standard- und allgemein erhältliche Akkus, wahrscheinlich die am häufigsten verwendeten unter Meshtastic-Enthusiasten),
  • 1S LiFePo4 (gängige Batterien in Solaranlagen mit langer Lebensdauer und einer Kapazität von mehr als 100 Ah) oder
  • 1S und 2S Lithiumtitanatoxid, auch LTO genannt (Batterien, die auch im Winter bei Temperaturen unter -10 °C entladen und geladen werden können).

Das Board verfügt über Qwiic-Anschlüsse (SparkFun Qwiic bzw. Adafruit STEMMA) für I2C-Sensoren (z. B. Temperatur-, Feuchtigkeits- und Druckmessungen oder alle anderen von der Meshtastic-Firmware unterstützten Sensoren), einen USB-C-Anschluss (dieser wird nur für die Kommunikation verwendet, er ist nicht für die Stromversorgung der Platine vorgesehen) und eine RESET-Taste für einfache FW-Updates, zwei Signal-LEDs, einfachen Zugriff auf UART RX- und TX-Signale und eine SWD- Schnittstelle (Serial Wire Debug) für die FW-Entwicklung/das Debuggen und schließlich drei Befestigungslöcher für M3-Schrauben zur bequemen Montage der Leiterplatte in einer Box.

Hier ist das umfangreiche Datenblatt für das Meshtastic Solar Motherboard (https://pcb.uart.cz/datasheets/solar-node-revD-datasheet.pdf).

Sie finden das Meshtastic Solar Motherboard von Vlastimil im Lectronz-Onlineshop (https://lectronz.com/stores/uartcz).


2025-04-25/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 – 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

Meshtastic Knoten im Test: Solarzelle und IP67 Gehäuse

In meinem Beitrag Meshtastic Knoten auf Reise hatte ich unter anderen ein WisBlock Meshtastic Starter Kit in einem Gehäuse mit Solarzelle (Unify Enclosure IP67 150x100x45mm with pre-mounted M8 5 Pin and RP-SMA antenna IP Rated connectors) für den autonomen Einsatz getestet.

Wieder zu Hause angekommen folgte später eine Periode mit häufigem Regen und das im Freien platzierte Gehäuse wurde geflutet, worauf der Meshtastic Client ausfiel. Die IP67 Spezifikation wurde nicht eingehalten und RAKwireless versprach an diesem Problem zu arbeiten. Ich war nicht der einzige, dem das passiert war.

Nach dem Aufschrauben des Gehäuses konnte ich erstmal das Wasser entfernen und es zeigten sich versengte Kabel vom 18650-Batteriehalter zum Stecker auf dem Baseboard.

Nach einer längeren Trocknungszeit habe ich den Batteriehalter ersetzt und nach dem Bestücken der 18650-Batterie meldete sich der Client sofort wieder. Alle anderen Komponenten haben also den Crash überstanden!

Es ist nun also eine gute Zeit, die Nachladung durch die Solarzelle zu testen. Im Sommer hat die Nachladung erwartungsgemäß funktioniert. Wie sich das jetzt unter weniger optimalen Bedingungen gestaltet, werden die nächsten Wochen zeigen.

Die folgenden Grafiken zeigen den Verlauf der Batteriespannung. Der Test wurde am 7.03.2025 mit einer Batterie mittleren Ladezustands begonnen.

Nachladung im März

Im Mai habe ich den Test wiederholt. Bei durchaus gemischtem Wetter wurden kurzfristige Ausfälle beim Sonnenschein (2 bis 3 Tage) gut kompensiert. Für richtige Dunkelflauten dürfte es kaum reichen.

Nachladung im Mai

2025-05-11/CK