Quelloffenes Routing zwischen Funkgeräten, die einander nicht erreichen

Eine Nachricht.
Jeder Weg hinaus.

Ein Mesh hält ein Dorf im Gespräch mit sich selbst, hat aber keinen Weg aus dem Tal heraus. Ein Satellitenmodem erreicht die ganze Welt und kostet echtes Geld pro Nachricht. MeshSat ist die Schicht dazwischen: Es nimmt eine Nachricht aus dem Mesh und sendet sie über den Träger, der noch funktioniert, und gibt Satellitenbytes erst aus, wenn nichts Kostenloses mehr übrig ist.

Prototyp vor der Veröffentlichung. Nie bei echten Nutzern eingesetzt, nie in einem Notfall verwendet.

curl -fsSL https://get.meshsat.net | sudo bash

Acht Träger, neun verdrahtete Schnittstellen

Iridium läuft auf zwei Modems, dem 9603N für SBD und dem 9704 für IMT. Jeder Träger ist eine vollwertige Schnittstelle mit eigener MTU, eigenem Kostenmodell und eigener Transformationskette. TAK und Webhooks sind Integrationen, keine Träger. Der Status nennt, was wir tatsächlich betrieben haben, nicht was wir hoffen.

KategorieÜbertragungswegStatus
MeshMeshtastic LoRaIm Feld erprobt
SatellitIridium SBD 9603NIm Feld erprobt
Iridium IMT 9704Über Satellit bestätigt
MobilfunkSMS und Daten (A7670E)Im Feld erprobt
FunkZigBee 3.0 (CC2652P)Wenig Felderfahrung
IP / NetzwerkMQTTIm Feld erprobt
WebhooksIm Feld erprobt
APRS (mitgeliefertes Direwolf, KISS)Im Feld erprobt
TAK / Cursor-on-TargetIm Feld erprobt
RoutingReticulum TCP (HDLC-Rahmen)Arbeitet mit Python RNS zusammen

Die Bündelung mehrerer Träger über eine kostenpflichtige Satellitenstrecke ist noch nicht validiert, und die Störerkennung hat bisher nur Umgebungsrauschen gesehen. Das Repository führt die vollständige Liste dessen, was belegt ist und was nicht.

Satellitenbytes sind teuer. Das ist der ganze Entwurf.

Eine Iridium-Leitung kostet mehrere zehn Euro im Monat plus Guthaben je Nachricht, abgerechnet in Blöcken zu 340 Bytes. Gibt man jeder Person im Team eine, wächst die Rechnung mit der Teamgröße. Genau dieser Preis ist der Grund, warum es die Routing-Schicht überhaupt gibt.

Eine bezahlte Strecke, gemeinsam genutzt

Ein Team trägt günstige Mesh-Funkgeräte. Ein Gateway hält die teure Satellitenleitung. Alle erreichen die Außenwelt darüber, sodass die Kosten nicht mehr mit der Personenzahl wachsen.

Kostenlose Träger zuerst

Jede Schnittstelle gibt Kosten an. Der Router bevorzugt die kostenlosen, also Mesh, Packet Radio, Bluetooth und WLAN, und greift erst zu Satellit oder SMS, wenn nichts Kostenloses verfügbar ist.

Und dann möglichst wenige Bytes

Alles, was über einen kostenpflichtigen Träger geht, wird zuerst komprimiert. SMAZ2 braucht dafür bei kurzem Text unter einer Millisekunde, was zählt, wenn pro Block statt pro Byte abgerechnet wird.

Gesendet, wenn der Himmel stimmt

Überflugvorhersage aus SGP4-Bahndaten hält Verkehr bis zum Sichtbarkeitsfenster zurück, statt Akku für Versuche gegen einen Satelliten unter dem Horizont zu verbrauchen.

MeshSat ist freie Software unter der GPLv3. Die Entwicklung wird gefördert von SIDN fonds, und ein sechsmonatiges Feldprogramm beginnt im November 2026.

Worauf es läuft

Ein Raspberry Pi in einem wasserdichten Koffer, mit Funkgeräten an USB und GPIO. Geräte werden beim Start über USB-Kennung und Protokolltest erkannt, das Anstecken ist also die gesamte Konfiguration.

KomponenteFunktion
Raspberry Pi 5 (8 GB)Host. ARM64 oder jedes x86_64-Linux mit Docker und USB-Seriell.
Heltec LoRa V4 or XIAO ESP32-S3Meshtastic-Mesh-Funk auf 868 oder 915 MHz.
RockBLOCK 9603 or 9704Iridium-Satellit. SBD mit 340 Bytes oder IMT mit 100 KB.
LILYGO T-Call A7670E4G und 2G Mobilfunk, für SMS und Daten.
CC2652P dongleZigBee-Koordinator.
USV und AkkuWeil die interessanten Fälle genau die sind, in denen auch der Netzstrom weg ist.
MeshSat dashboard showing Iridium signal, MQTT traffic and cellular status

Signal, Verkehr und Kanalzustand, vom Gerät selbst ausgeliefert

Satellite pass predictor showing a visibility timeline

Überflugvorhersage, damit die Warteschlange auf einen wirklich sichtbaren Satelliten wartet

Live mesh network topology graph

Mesh-Topologie in Echtzeit

Forwarding rules and gateway connection status

Weiterleitungsregeln und Status je Gateway

Das Dashboard steckt in der Binärdatei und wird vom Gerät ausgeliefert. Keine Cloud, kein Konto.

Was es nicht ist

Am schnellsten verliert man einen Nachmittag, wenn man das Falsche davon erwartet.

Kein Ersatz für Starlink

MeshSat bewegt Text, Positionen und Telemetrie. Wer Videoanrufe oder das Web braucht, nimmt Starlink. Dies ist für die Fälle, die eine Schüssel nicht abdeckt: akkubetrieben, hosentaschengroß, ohne Netzstrom.

Keine Sprache, kein Video

Satelliten- und Mesh-Strecken haben hohe Latenz und geringen Durchsatz. Dies ist Store-and-Forward-Nachrichtenverkehr. Eher SMS als Telefonat.

Kein LoRaWAN-Netzwerkserver

Die Mesh-Seite spricht Meshtastic, ein eigenes Protokoll über LoRa. Für LoRaWAN ChirpStack betreiben und per MQTT anbinden.

Kein Notrufdienst

Ein Forschungsprototyp, kein Ersatz für 112 oder eine andere nationale Notrufnummer. Nichts davon ist zertifiziert und nichts davon wurde in einem echten Notfall eingesetzt.

Der Rest des Systems

Die Bridge ist ein einzelnes Gerät und arbeitet vollständig eigenständig. Zwei weitere Teile gibt es für den Fall, dass ein Gerät nicht das ganze Bild ist.

MeshSat Hub

Geschlossene Beta MeshSat Hub ist noch nicht gestartet. Er läuft als geschlossene Beta auf unserer eigenen Infrastruktur. Zugang für Demos und Beta-Tests wird auf Anfrage eingerichtet.

Flottenverwaltung über viele Bridges: OAuth2- und OIDC-Konten, API-Schlüssel mit Rollen, Mandantentrennung, SOS-Eskalationsketten, Ratenbegrenzung je Gerät und ein Ed25519-Hash-Chain-Auditlog. Betreibbar einzeln, im Cluster oder auf Kubernetes.

Beta-Zugang anfragen

MeshSat Android

Ein Telefon als eigenständiges Gateway, ohne Pi und ohne Kabel. Es spricht mit einem Meshtastic-Funkgerät über Bluetooth LE, mit einem Iridium-Modem über Bluetooth SPP und nutzt die eigene SMS des Telefons, alles gleichzeitig. Gleiche Verschlüsselung und gleiche Nachrichtenformate wie die Bridge.

Android-Quellcode

Ausprobieren

Ein Befehl auf einem Linux-Rechner mit angeschlossenem Funkgerät. Ein einzelnes Gerät genügt zum Start, und was fehlt, wird als Warnung protokolliert, nicht als Fehler.

curl -fsSL https://get.meshsat.net | sudo bash

Fehlerberichte von Leuten mit Hardware, die wir nicht ausprobiert haben, sind das Nützlichste, was Sie schicken können. Die Liste unterstützter Geräte ist kurz, weil dort nur steht, was wir physisch betrieben haben.