Archiv der Kategorie: Allgemein

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

Gemini arbeitet, Du chillst

KI ist in unseren Alltag eingedrungen und hilft an der einen und anderen Stelle. Um KI zu nutzen ist es aber nicht erforderlich, vor dem PC zu sitzen und Kontakt mit einer KI-Plattform, wie ChatGPT, Gemini o.a. aufzunehmen, sondern kann bestimmt Aufgaben bereits mit Mikrocontrollern automatisieren.

So können Sie beispielsweise einen Prompt erstellen, der Ihnen beim Zubettgehen die zu erwartenden Strassenverhältnisse am kommenden Morgen abfragt o.ä.

Alles, was dazu erforderlich ist, zeigt die folgende Abbildung. Natürlich können Sie den ESP32-S2 noch mit einem Display ausstatten, damit die Antwort adäquat präsentiert wird.

Ich habe einen mit MicroPython ausgestatteten ESP32-S2 mit Gemini verbunden und kann eine Anfrage senden, die von Gemini beantwortet wird.

Für das bevorstehende Handballspiel D gegen DK habe ich die (nicht ganz ernstgemeinte) Frage nach dem Sieger gestellt. Die Antwort sehen Sie in der Ausgabe über die Console.

Ich werde mir das Spiel heute Abend anschauen.


Das Resultat war aus deutscher Sicht ernüchternd – Gratulation an Dänemark zu einer starken Leistung. #Handball #EM2026

Auch Gemini hat eine Meinung dazu, die sich bei mehrfachen Anfragen aber durchaus unterscheidet:


2026-01-27/CK

Meshtastic mit Cardputer ADV

Cardputer ADV ist ein Controller im Kreditkartenformat, ausgestattet mit einem M5Stack Stamp-S3A-Coremodul (ESP32-S3FN8). Er verfügt über ein 1,14-Zoll-LCD und eine einfache Tastatur mit 56 Tasten.
Der interne 1750-mAh-Lithium-Akku gewährleistet eine gute Akkulaufzeit. Ein 6-Achsen-Bewegungssensor BMI270, ein Infrarot-Sender, ein microSD-Slot sowie ein Grove-Anschluss bilden die Peripherie und ein EXT 2.54-14P-Erweiterungsbus ist zum Anschluss von Sensoren und anderen Peripheriegeräten vorgesehen.

Cardputer ADV

Beim Einsatz als Meshtastic-Knoten wird über diesen Erweiterungsbus ein Cap LoRa868 angeschlossen.

Cap LoRa868

Cap LoRa868 ist ein Erweiterungsmodul für LoRa- und GNSS-Kommunikation. Das LoRa-Modul basiert auf einem SX1262, ist mit einer externen SMA-Antenne ausgestattet und unterstützt das Frequenzband 868 MHz bis 923 MHz.
Das GPS-Modul basiert auf einer AT6668-Lösung und verfügt über eine integrierte Keramikantenne. Es bietet Multisatellitenunterstützung – kompatibel mit GPS, BDS, GALILEO, GLONASS, QZSS und SBAS – für maximale Flexibilität.

Zur Installation der Meshtastic-Firmware ist es am einfachsten, den M5Burner von M5Stack zu verwenden. M5Burner ermöglicht Benutzern das einfache Flashen verschiedener Firmware-Versionen auf unterschiedliche Geräte. Cap LoRa868 sollte noch nicht installiert sein. Der M5Burner kann von der Website https://docs.m5stack.com/en/guide/lora/meshtastic/cardputer_adv heruntergeladen werden.

Nach der Installation des M5Burners kann die Meshtastic Firmware für den Cardputer ADV heruntergeladen und auf das Target übertragen werden. Die Details sind auf der o.a. Website beschrieben.


Ist die Meshtastic-Firmware installiert, meldet sich der neue Knoten, wie in der ersten Abbildung gezeigt, und kann in der üblichen Weise konfiguriert werden.


2025-11-07/CK

M5Stack UNIT-C6L als Meshtastic Node

Die M5Stack UNIT-C6L ist ein LoRa-Kommunikationsgerät, bestehend aus dem Stamp C6LoRa-Modul mit dem RISC-V-Controller ESP32-C6. Integriert sind der LoRa-Transceiver SX1262 und RF-Schalter. Das Modul unterstützt den Frequenzbereich von 868 bis 923 MHz für eine robuste drahtlose Kommunikation.

Das User-Interface besteht aus einem 0,66″-OLED-Monochrom-Display mit einer Auflösung von 64 x 48 Pixeln, einer programmierbaren RGB-LED, einem Buzzer einem Benutzertaster.

Zwei SMA-Antennenanschlüsse für 2,4-GHz-WiFi 6 und LoRa ermöglichen eine hohe Leistung.

Mit der von M5Stack bekannten HY2.0-4P-Erweiterungsschnittstelle (Grove) und den LEGO-kompatiblen Befestigungslöchern können Sensoren oder Module einfach hinzugefügt werden.

M5Stack UNIT-C6L

Die Inbetriebnahme der UNIT-C6L erfolgt in der bei anderen Meshtastic-Modulen üblichen Weise. Eine schrittweise Anleitung ist hier zu finden.

Innerhalb weniger Minuten ist diese Meshtastic Node in Betrieb genommen. Die Firmware war mit v2.7.10 recht aktuell, dennoch habe ich v2.7.11 geflasht.

Die folgenden Abbildungen zeigen das doch recht kleine OLED-Display, was sicher noch einer weiteren Anpassung bedarf. In der ersten Abbildung ist zu sehen, dass für den hier geplanten stationären Einsatz mit festen Ortskoordinaten gearbeitet wird.

In der zweiten Abbildung sind Speicherauslastung und Firmware-Version zu sehen.

Die dritte Abbildung zeigt Messwerte eines am Grove-Anschluss angeschlossenen M5Stack ENV.II Sensors. Der alte Inhalt wird nicht sauber gelöscht.

Die vierte Abbildung zeigt die WiFi-Verbindung. Dass sie in meinem Fall 192.168.1.208 lautete, muss man allerdings auf anderem Weg ermitteln.

Mitteilungen werden erwartungsgemäss empfangen, jedoch kaum oder gar nicht sichtbar ausgegeben, wie die fünfte Abbildung verdeutlicht.

Die sechste Abbildung soll die aktuelle Zeit anzeigen. Hier war es 16:43 😉

Zumindest für die Anzeige der Uhrzeit habe ich eine mögliche Alternative gefunden.

Über die Fronttaste kann man die digitale Anzeige der Uhr durch eine analoge ersetzen. Wie die nebenstehende Abbildung zeigt, ist die Uhr auf diese Weise zumindest les- und damit nutzbar.

Bei zahlreichen Meshtastic Nodes mit OLED-Display wird ein  0,96″-Display mit einer Auflösung von 128 x 64 Pixeln verwendet. Die Firmware scheint auf diese Auflösung zugeschnitten zu sein, wie die folgenden Abbildung eines Heltec V3 zeigen.

Die M5Stack UNIT-C6L erfüllt, mit Ausnahme der Displayanzeigen, alle Erwartungen. Der Grove-Anschluss ist mit der seriellen Schnittstelle für den Anschluss einer GPS-Unit belegt. Sollen I2C-Sensoren da angeschlossen werden, muss die Firmware entsprechend angepasst werden.

Die Anpassung der Anzeigeninhalte an die geringere Auflösung des 0.66″-OLED-Displays war bereits eine Herausforderung und wird wahrscheinlich als Kompromiss so bestehen bleiben. Danke, Thomas Göttgens, für den hilfreichen Gedankenaustausch.

Ich möchte diese Meshtastic Node in einem geschützten Außenbereich zur Erfassung von Umweltdaten einsetzen. Das fehlerfreie Ablesen des Displays ist für diese Anwendung zweitrangig, zur Signalisation des Betriebszustands aber ganz brauchbar.


2025-10-28/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 Firmware V2.6.x

Der Frühling beginnt und damit steigt unser Wohlbefinden. Das Frühlingslicht steigert die Produktion von Glückshormonen wie Serotonin und Dopamin.

Pünktlich zu genau dieser Zeit bekommt der Meshtastic-Enthusiast mit der Firmware V2.6 die Meshtastic UI oder kurz MUI, die erste Version der brandneuen Benutzeroberfläche für Standalone-Geräte. Außerdem beinhaltet diese Firmware Version einen völlig neuen Routing-Algorithmus für Direktnachrichten.

Dieser als Next-Hop Routing for Direct Messages bezeichnete Routing-Algorithmus wird hier beschrieben. Da der Ansatz rückwärts-kompatibel ist, kann die Firmware der Knoten des Netzwerks sukzessive aktualisiert werden. Je mehr Knoten im Netzwerk aktualisiert sind, desto mehr werden Sie vom besseren Routing profitieren.

Von der Meshtastic UI können Sie sofort profitieren, weshalb ich diese hier auch vorstellen möchte.

Das MUI ist mit den folgenden Meshtastic-Geräten kompatibel:

  • Standalone LoRa Devices mit ESP32-S3 und a TFT Display: LilyGo T-Deck, Seeed SenseCAP Indicator, unPhone, PICOmputer, Elecrow 5″/7″ (experimental)
  • Kundenspezifische Geräte mit ESP32-S3, mit serieller Verbindung zu einem LoRa Transmitter: T-HMI, Mesh-Tab, „Replicator“ (ESP-4848S040), Makerfabs 4″
  • Embedded Linux Devices mit SPI/I2C and GPIOs: Raspberry Pi, Milk-V oder LuckFox mit TFT SPI und LoRa Hat
  • Linux Native Setups: PC mit Meshstick oder SIMRadio Simulation und X11 MUI

Ich konzentriere mich hier auf das LilyGo T-Deck PLus, dessen Erweiterung für mich sehr überzeugend ist.

Der Webflasher präsentiert sich nach Selektion der aktuellen Alpha-Version V2.6.4 in leicht abgeänderter Form. Die Auswahl des MUI ist nun möglich.

Auswahl des Meshtastic UI im WebFlasher

Nach dem Flashen der Firmware V2.6.4 kann das T-Deck Plus normal gestartet werden. Der Bootvorgang dauert etwas länger und nach dem Startscreen meldet sich das MUI mit dem Homescreen:

Homescreen oberer Teil
Homescreen unterer Teil

Im Homescreen sind bereits wesentliche Statusinformationen zu sehen:

  • Anzahl neuer Nachrichten
  • Zahl der Nodes online
  • Datum und Uhrzeit
  • LoRa Kanal
  • Güte des Kommunikationskanals (SNR und RSSI)
  • Akustisches Signal beim Eintreffen einer neuen Nachricht
  • GPS-Daten
  • Status der SD-Card (wird für das Kartenmaterial benötigt)

Die Liste der Nodes zeigt der folgende Menupunkt. Hier sind gleichzeitig Informationen zum jeweiligen Node zu sehen.

Liste der Nodes

Im nächsten Menupunkt sind die Channels gelistet. Ich arbeite hier nur mit dem Primary Channel. Wählt man diesen aus, dann werden die dort erhaltenen Nachrichten sichtbar.

Liste der Kanäle
Nachrichtem im betreffenden Kanal

Der folgende Menupunkt zeigt eine Location Map, das ist die Anordnung der empfangenen Nodes in einer Kartendarstellung.

Das hier verwendete Map Tile Starter Kit enthält eine Grundausstattung an Karten in verschiedenen Stilen für Meshtastic UI-fähige Geräte mit SD-Kartenunterstützung. Jede Zip-Datei enthält die Zoomstufen 1 – 6 der Erdoberfläche, sodass Sie herauszoomen und sehen können, in welches Land Sie gebeamt wurden. Wählen Sie eine Zoomstufe größer 6, dann ist keine Kartendarstellung mehr vorhanden.

Kartendarstellung Zoom Level 6
„Kartendarstellung“ Zoom Level 7

Die Kartenkacheln liegen im .png-Format mit einer Größe von 256×256 Pixel und den Zoomstufen 1 – 20 vor, wobei 1 die gesamte Erde und 20 ein mittelgroßes Gebäude darstellt.

Wie Sie das hier verwendete Kartenmaterial um weitere Zoomstufen erweitern können, ist unter https://github.com/meshtastic/device-ui/tree/master/maps#downloading-tiles beschrieben.

Der letzte Menupunkt betrifft die Settings und Tools. Über die Settings kann das Meshtastic Device komplett konfiguriert werden. Bei den Tools stehen Mesh Detector, Signal Scanner, Trace Route, Statistics und Packet Log zur Verfügung.

Settings
Tools

Die folgenden Screenshots zeigen Mesh Detector, Signal Scanner und Trace Route. Mit dem Mesh Detector können Nodes in der Umgebung gesucht werden. Der Signal Scanner zeigt SNR und RSSI für die gewählte Verbindung an und Trace Route listet den Verbindungsweg von der Quelle zum Ziel.

Mesh Detector
Signal Scanner
Trace Route

Mit dem MUI wird aus dem LilyGo T-Deck Plus ein wirklich autonom arbeitender Meshtastic Knoten, der keine Verbindung zu einem Mobilphone mehr benötigt.


In der Zwischenzeit habe ich die V2.6.4 auch auf einem SenseCAP Indicator installiert. Das Gerät verfügt über keine Tastatur, doch mit dem Soft-Keyboard können die Eingaben recht ordentlich vorgenommen werden.


2025-04-03/CK

Post im (Meshtastic-) Postfach?

Ein mit einem Display ausgestatteter Meshtastic-Knoten zeigt eingegangene Messages auf diesem an. Wählt man sich mit einem Meshtastic-Client (bspw. einem Smartphone) ein, dann kann man eine eingegangene Message incl. des Empfangszeitpunktes lesen. Wird eine Message zu spät gelesen, dann kann sie bereits obsolet sein. Das Ereignis ist einfach vorbei.

Mit dem Modul External Notification erhält man die Möglichkeit, beim Eintreffen einer Textnachricht eine externe Benachrichtigung abzusetzen. Die Benachrichtigung kann durch eine LED, einen Buzzer oder einen Vibrationsmotor erfolgen.

Mit dem Meshtastic Kit von SeeedStudio ist sehr schnell ein geeignetes Experimentierumfeld geschaffen. Zur Komplettierung habe ich noch eine M5Stack ENV Unit über I2C angeschlossen.

Bei der Konfiguration des Moduls External Notification sind den eingesetzten Benachrichtigungselementen (LED, Buzzer, Vibrationsmotor) IO-Pins zuzuweisen.

Hier ist es wichtig, die ESP-Notation zu verwenden. Bspw. muss einer an D0 angeschlossenen LED Pin (GPIO)1 zugewiesen werden. Mich hat das anfangs etwas verwirrt und entsprechend Zeit gekostet.

XIAO ESP32-Se Pinout

Die folgenden Abbildungen zeigten das Display des Meshtastic-Knotens in verschiedenen Situationen.

Wie am folgenden Pinout des XIAO-Expansionsboards zu sehen ist, steht nur Pin D0 zur freien Verfügung. Der interne Buzzer ist mit D3 verbunden und wenn auf die SD Card verzichtet wird, dann können auch D2 und D8-D10 noch eingesetzt werden.

XIAO Expansionsboard Pinout

Ich möchte zur Signalisierung eine LED mit Vorwiderstand, einen Piezo-Buzzer oder einen Vibrationsmotor einsetzen. Dem auf dem XIAO-Expansionsboard befindlichen Buzzer konnte ich keinen Ton entlocken und habe deshalb einen externen Piezo-Buzzer eingesetzt. Alle drei Elemente reagieren auf einen Hi-Pegel am betreffenden digitalen Ausgang.

Die beiden folgenden Screenshots zeigen die Konfiguration des Moduls External Notification für den Piezo-Buzzer. Der Piezo-Buzzer ist an D3 und GND angeschlossen. Bei der Konfiguration ist GPIO4 (des ESP32-S3) zu aktivieren. Die Dauer eines Beeps ist 150 ms und die der Ausgabe 1 s. Es werden als mehrere kurze Beeps bein Eintreffen einer Textnachricht ausgegeben.

Für die anderen Signalisierungselemente kann vergleichbar vorgegangen werden.


2025-03-28/CK

Audio-Zusammenfassungen mit Google NotebookLM

Heute habe ich Google’s NotebookLM ausprobiert. NotebookLM ist ein KI‑basierter Assistent für vielfältige Aufgaben, wie dem Lesen von Quellen, dem Erstellen von Notizen und gemeinsam mit NotebookLM dem Verfeinern und Organisieren Ihrer Ideen. Mit der Audio-Zusammenfassung können die Quellen mit nur einem Klick in aufschluss- und detailreiche Diskussionen (z.Z. nur in Englisch) verwandelt werden.

Hier ist als Beispiel eine Zusammenfassung meiner Meshtastic-Beiträge unter https://ckblog2016.net/:

Laden Sie einfach die Audio-Zusammenfassung unter https://bit.ly/4iDgt8Z.


2025-03-09/CK

Visualization of Meshtastic Data with Datacake

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.

{
  "channel": 0,
  "from": 2692927950,
  "id": 647220954,
  "payload": {
    "air_util_tx": 0.0718611106276512,
    "battery_level": 59,			
    "channel_utilization": 11.1266660690308,
    "voltage": 3.8199999332428			
  },
  "rssi": -123,
  "sender": "!fa66367c",
  "snr": -10,
  "timestamp": 1707662825,
  "to": 4294967295,
  "type": "telemetry"
}
{
  "channel": 0,
  "from": 2692927950,
  "id": 198387353,
  "payload": {
    "barometric_pressure": 0,
    "current": 0,
    "gas_resistance": 0,
    "relative_humidity": 77.9700012207031,
    "temperature": 6.55000019073486,
    "voltage": 0
  },
  "rssi": -108,
  "sender": "!fa66367c",
  "snr": 4,
  "timestamp": 1707671407,
  "to": 4294967295,
  "type": "telemetry"
}

{
  "channel": 0,
  "from": 2692927950,
  "id": 1607030652,
  "payload": {
    "PDOP": 769,
    "ground_speed": 24,
    "ground_track": 20434000,
    "latitude_i": 471919845,
    "longitude_i": 88149573,
    "sats_in_view": 3,
    "time": 1707662920,
    "timestamp": 1707662805
  },
  "rssi": -123,
  "sender": "!fa66367c",
  "snr": -10,
  "timestamp": 1707662922,
  "to": 2692927950,
  "type": "position"
}

After Datacake is connected to the MQTT broker, the received payload can be decoded using JavaScript.

The Datacake dashboard can then be set up for the desktop according to the following image.

Nach Verbindung von Datacake mit dem MQTT Broker kann die Decodierung der empfangenen Payload mit Hilfe von JavaScript vorgenommen werden.

Das Datacake Dashboard kann dann gemäss folgendem Bild für den Desktop eingerichtet werden.

Datacake Dashboard

But Datacake also allows you to create dashboards for mobile devices, as the following image shows

Datacake ermöglicht aber auch das Erstellen von Dashboards für Mobilgeräte, wie das folgende Bild zeigt.

Datacake Mobil Dashboard

2024-03-21/CK