Archiv der Kategorie: Allgemein

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

SensorHub Weather Data on Weathercloud

My SensorHub Weather Station has been running for a few months now and provides the recorded data on a Datacake Dashboard.

SensorHub applications are described in the eBook SensorHub IoT Applications.

The data collected by the SensorHub weather station is sent to the TTN LNS and forwarded to Datacake via a WebHook.

The data stored in the TTN is also available to other applications, and I use it to upload to the Weathercloud platform. Weathercloud is a global weather network with over 120,000 devices currently connected.

The density of weather stations in my area is already quite high, but I was able to fill a gap with my station (green point).

Seit einigen Monaten läuft meine SensorHub Wetterstation und stellt die erfassten Daten auf einem Datacake Dashboard zur Verfügung.

SensorHub Anwendungen sind im eBook SensorHub IoT Applications beschrieben.

Die von der SensorHub Wetterstation ermittelten Daten werden an den TTN LNS gesendet und über einen WebHook an Datacake weitergeleitet.

Die im TTN gespeicherten Daten stehen aber auch anderen Anwendungen zur Verfügung und ich verwende sie für ein Upload auf die Wettercloud Plattform. Weathercloud ist ein globales Wetternetzwerk, an das derzeit mehr als 120.000 Geräte angeschlossen sind.

Die Dichte an Wetterstationen in meinem Gebiet ist bereits recht hoch, dennoch konnte ich mit meiner Station eine Lücke schließen (grüner Punkt).

TTN provides an MQTT server to handle streaming events. An MQTT client can subscribe to the LoRaWAN uplinks. Afterwards, the desired data can be extracted.

No extensive hardware is required for this data conversion. I use an ESP32-based Oxocard Connect here. Internet access is via WiFi, the TTN LNS is queried via MQTT, and the data is forwarded to the weather cloud via HTTP GET.

TTN stellt einen MQTT-Server für die Arbeit mit Streaming-Ereignissen zur Verfügung. Ein MQTT-Client kann die LoRaWAN-Uplinks abonnieren und die gewünschten Daten lassen sich anschliessend extrahieren.

Für diese Daten-Konversion bedarf es keiner umfangreichen Hardware. Ich benutze hier einen ESP32-basierenden Oxocard Connect. Der Internetzugriff erfolgt über WiFi, die Abfrage des TTN LNS über MQTT und die Weiterleitung der Daten an die Wettercloud über HTTP GET.

Oxocard Connect

The uploaded data is then presented in the Weathercloud according to the following images.

The data can be accessed via the link https://app.weathercloud.net/d3000677249#current.

Die hochgeladenen Daten präsentieren sich dann in der Wettercloud gemäss den folgenden Bildern.

Der Aufruf der Daten erfolgt gemäss https://app.weathercloud.net/d3000677249#current.

Weathercloud Dashboard

2024-02-06/CK

IoT Projects for Makers – 2nd Edition

The advantage of an eBook edition is that the author can make additions and updates available to the reader at short notice.
This edition presents NB-IoT as an alternative communication option in the LPWAN. Furthermore, battery-powered IoT nodes do not have to do without a display. ePaper displays with very low power requirements are very well suited for this. Lastly, although prototyping boards rarely offer favorable conditions for low-power applications, I will discuss these aspects together with using ePaper displays.

Available for download at https://www.amazon.com/dp/B0C8VCF4DF