McApp ist eine Webanwendung, die für die bequeme Arbeit mit dem MeshCom-Knoten entwickelt wurde. Sie läuft auf Raspberry Pi und bietet eine Schnittstelle, die von modernen Webbrowsern aus zugänglich ist. Raspberry Pi fungiert dabei als leichter Server und Vermittler der Kommunikation zwischen MeshCom-Gerät und Web-Client. McApp unterstützt die Verbindung des Knotens über Bluetooth Low Energy (BLE) sowie über UDP.
In diesem Artikel erfahren Sie
Was ist McApp und wozu dient es?
Zweck von McApp ist es nicht, MeshCom zu ersetzen, sondern eine praktische Benutzeroberfläche für seinen täglichen Betrieb zu schaffen. Im Browser sind Funktionen für Chat, Karte empfangener Positionsberichte, MHeard und Konfiguration verfügbar. Die Schnittstelle ist als responsive Webanwendung konzipiert, sodass sie auf einem Computer, Tablet oder Smartphone verwendet werden kann. Auch die Hinzufügung der Anwendung zum Startbildschirm als PWA wird unterstützt.
Warum Raspberry Pi?
Raspberry Pi Zero 2 W ist für diese Aufgabe besonders aufgrund seiner geringen Hardwareanforderungen geeignet. Das Projekt gibt Unterstützung für Raspberry Pi Zero 2 W und andere Geräte mit ARM Cortex-A53 an. Das erforderliche System ist Raspberry Pi OS Lite 64-Bit, basierend auf Debian Bookworm oder Trixie, wobei die Dokumentation 512 MB RAM und eine SD-Karte mit mindestens 8 GB angibt. Eine Desktop-Umgebung auf dem Pi Zero ist nicht erforderlich.
Der Pi kann direkt beim MeshCom-Knoten platziert werden. Der Benutzer greift dann über das Netzwerk von einem Computer oder mobilen Gerät auf McApp zu. Dadurch entsteht eine Trennung zwischen dem Funkteil und der Benutzeroberfläche, ohne dass ein Computer direkt an das MeshCom-Gerät angeschlossen werden muss.
Wie ist McApp technisch aufgebaut?
Das Frontend von McApp ist eine webbasierte Anwendung, die auf TypeScript und Vue.js basiert. Der Backend verwendet Python und FastAPI. Zur Kommunikation zwischen dem Browser und dem Backend werden REST-APIs und SSE (Server-Sent Events) verwendet. Vor dem Backend steht lighttpd, das eine Webschnittstelle bereitstellt und gleichzeitig Anfragen an FastAPI vermittelt. Die Anwendungseinstellungen werden in einer SQLite-Datenbank gespeichert.
Bei der BLE-Kommunikation wird ein separater BLE-Dienst verwendet, der über Bluetooth GATT mit dem MeshCom-Knoten kommuniziert. Bei der UDP-Kommunikation kann McApp über den UDP-Port 1799 mit dem MeshCom-Knoten arbeiten. Das Projekt bietet auch die Möglichkeit, mehrere Knoten über UDP zu verbinden.
Chat – Hauptfunktion von McApp
Die Chatoberfläche ist ähnlich wie moderne Kommunikationsanwendungen gestaltet. Sie unterstützt persönliche und Gruppen-Nachrichten, Filterung nach Rufzeichen oder Gruppe und Zustellbestätigung. Nachrichten werden zuerst in eine Warteschlange gestellt, um den MeshCom-Knoten nicht zu überlasten. Die derzeit eingestellte Verzögerung zwischen gesendeten Nachrichten beträgt 12 Sekunden, wobei die Dokumentation darauf hinweist, dass dieser Zeitraum nicht immer ausreicht für einen zuverlässigen RF-Betrieb.
Karte des MeshCom-Netzwerks
Die Karte zeigt die empfangenen POS-Berichte der MeshCom-Knoten. Einzelne Stationen können gesucht werden, und nach der Auswahl eines Knotens können weitere Informationen angezeigt werden. McApp unterstützt auch die Satellitenansicht und den Dunkelmodus. Bei Knoten mit Telemetrie können beispielsweise Temperatur, Feuchtigkeit und atmosphärischer Druck angezeigt werden.

MHeard – nützliches Werkzeug für den Funkamateur
Für technisch orientierte Funkamateure ist die Funktion MHeard interessant. McApp zeigt die empfangenen Stationen zusammen mit den RSSI- und SNR-Daten an und kann auch den Relay-Pfad anzeigen, also den Weg, den die Station zum überwachten Knoten genommen hat. Nach der Auswahl einer Station kann ihr Pfad auf der Karte hervorgehoben werden. Dies ermöglicht es, nicht nur die Aktivität des Netzwerks, sondern auch die Qualität der einzelnen Funkverbindungen und die verwendeten Relais zu überwachen.

BLE versus UDP
BLE ist besonders interessant bei der lokalen Verbindung von Raspberry Pi mit dem MeshCom-Knoten. Die Dokumentation bevorzugt es auch, da es ermöglicht, mehr Informationen einschließlich RSSI und SNR zu erhalten. McApp verwendet bei BLE einen Keep-Alive und versucht, die Kommunikation automatisch wiederherzustellen, wenn die Verbindung verloren geht. UDP ist geeignet, wenn der MeshCom-Knoten über ein IP-Netzwerk verfügbar ist.
Updates und Fernzugriff
Die Installation, Aktualisierung und Reparatur von McApp erfolgt über ein Bootstrap-Skript. Das Projekt unterstützt auch die Aktualisierung direkt über die Weboberfläche. Der OTA-Mechanismus verwendet drei Bereitstellungs-Slots, überprüft die Funktionalität der neuen Version und führt bei einem Fehler automatisch eine Rückkehr zur vorherigen Version durch.
Für den Fernzugriff kann optional HTTPS mit Caddy und Let's Encrypt-Zertifikaten eingerichtet werden. Die Dokumentation erwähnt die Unterstützung von DuckDNS, Cloudflare, deSEC.io und Cloudflare Tunnel. Der Fernzugriff ist daher kein notwendiger Bestandteil der lokalen Installation, sondern eine verfügbare optionale Funktion.
Sicherheit und Nachrichtenvalidierung
McApp überprüft die empfangenen Daten auf UTF-8- und APRS-Kompatibilität. Zeichen, die sicher entfernt werden können, werden gefiltert. Nachrichten mit problematischen Binärdaten werden abgelehnt. Dieser Mechanismus soll verhindern, dass beschädigte Daten von einem MeshCom-Knoten Probleme in der Benutzeroberfläche oder bei der weiteren Verarbeitung verursachen.
Für wen ist McApp sinnvoll?

McApp macht am meisten Sinn für den Funkamateur, der bereits MeshCom verwendet und eine bequeme Weboberfläche haben möchte, die von mehreren Geräten aus zugänglich ist. Besonders interessant ist es für den Betrieb mit Raspberry Pi, die Netzwerküberwachung mit MHeard und Karten, die Auswertung von RSSI und SNR oder das Experimentieren mit mehreren MeshCom-Knoten über UDP. Das Projekt bleibt dabei eine Erweiterung über das bestehende MeshCom-System, nicht dessen Ersatz.

Vilo, vielleicht sollten wir zuerst Artikel über Meshcom schreiben, dann über McApp. Laut der Meshcom-Karte https://mcmap.oevsv.at/ máme v čase keď to píšem v OM 0,00 Meshcom uzlov, teda rovnako ako v HA. Sieť je rozšírená hlavne v OE, DL, I v pásme 433MHz ako HAM sieť.
Bei uns läuft ein Netzwerk mit einem ähnlichen Namen, aber mit völlig anderen Parametern Meshcore, im „freien“ Band 868MHz mit einer Verbindung fast ganz Sloweniens. https://mesh.om3kff.sk/
Amateure haben bei uns Geräte für Meshcom, hauptsächlich wie Lora APRS oder aus Versuchen mit dem Meshtastic-Netzwerk in 433M, also besteht die Chance, dass einige Geräte „auf Meshcom umgeschaltet“ werden, wenn es Aufklärung gibt 😉