Ich habe diesen Text zum Einstieg in Meshcore verfasst. Ich möchte, dass mehr Menschen Meshcore entdecken. Der Umgang mit Meshcore ist bislang ein Thema für Nerds, aber nur weil es eine neue Technik ist, die es zu entdecken gilt, nicht weil der Umgang kompliziert ist. Wie der Nachrichtentausch mit Meshcore funktioniert, ist nach kurzer Einweisung leicht zu durchschauen. Versprochen.
Trotz der Nebengeräusche können mit Meshcore kurze Textnachrichten über viele Kilometer versendet werden. Das reicht für den Nachrichtentausch in einem Stadteil oder einem Dorf. Meshcore braucht nur geringe Mengen an Strom, was einen langen Betrieb auch mit kleinen Akkus ermöglicht, die Geräte werden typischerweise mit kleinen 5-Volt-USB-Netzteilen betrieben. Meshcore funktioniert, wenn sogenannte Repeater zur Verfügung stehen, sogar darüberhinaus im regionalen Umfeld, und zwar genau dann, wenn es wirklich mal drauf ankommt, dass man sich kurz miteinander besprechen muss. Also bspw. im Katastrophenfall eines Blackout, unabhängig von öffentlicher Stromversorgung, dem Handynetz und Internet. Obendrein sind Meshcore-Nachrichten auch noch verschlüsselt, so dass nur Anfang und Ende, also Sender und Empfänger diese lesen können.
Die Geräte selber speichern empfangene Nachrichten. Wegen des geringen Stromverbrauchs lassen sie sich gut irgendwo ins Haus oder die Wohnung im Dauerbetrieb hinstellen. Die Betriebskosten liegen, auch mit viel Senden, bei maximal 5 Euro im Jahr. Gerät aufbauen, im Dauerbetrieb anlassen, testen, ordentlich hinstellen und vergessen, man ist anschließend wie mit jedem anderen Messenger jederzeit erreichbar. Bei meinen Familienangehörigen in der Stadt steht das Teil in einem kleinen Vorratsraum, auf einem Bord über der Waschmaschine, mit getestet ausreichendem Kontakt zum nächsten Repeater, der auf einem Hochhausdach in ca. 1,5 km Entfernung lauert. Im Krisenfalle würde das Funkgerät ins Fenster gestellt werden, besser ausgerichtet zum Repeater. Denn im Krisenfalle ist damit zu rechnen, dass nicht nur das Handynetz zusammenbricht, auch das Meshcore-Netz könnte stark beansprucht werden, das eigene Signal sollte deshalb möglichst stark sein. In solchen Situationen ist es ein Gebot des Anstands, Netzinfrastrukturen effizient und nicht fürs Plaudern zu nutzen oder permanent zu testen, ob man sich noch erreichen kann. Wenn man als einer der wenigen Menschen Meshcore installiert hat und es funktioniert, sollte man es im Krisenfall auch benutzen.
Lora-Funkgerät und PC mit einem USB-C-Kabel verbinden und das Funkgerät in den DFU-Modus versetzen. Dieser DFU-Modus ist bei jedem Lora-Funkgerät anders einzustellen, das muss man der Dokumentation zu seinem Gerät entnehmen. Oder man fragt eine KI. Das Versetzen in den DFU-Modus am Beispiel des heltec-V3 und des Wio L1 erläutert:
heltec und PC verbinden, dann beim heltec "P" gedrückt halten, "C" kurz drücken, "P"-Drücken beenden.
Wio L1 und PC verbinden, dann zweimal schnell den Reset-Knopf drücken (seitlich, oben), die gelbe LED, die eben noch blinkte, leuchtet nun durchgehend.
Nun muss man in der Auflistung des Meshcore-WebFlashers zu derjenigen Zeile vorscrollen, in der das Funkgerät gelistet ist (siehe Abb. 14).
Nach Anklicken des zu installierenden Funkgeräts wird man gefragt, welchen Typ von Firmware bzw. welche Funktion man installieren möchte: "Companion", "Repeater" oder "Room Server" (siehe Abb. 15). Typischerweise möchte man das Funkgerät über die Handy-App, gekoppelt per Bluetooth nutzen, weshalb man dann "Companion Bluetooth" anklickt.
Nach Anklicken der Funktion erscheint das Fenster, mit dem das Flashen durchgeführt wird (siehe Abb. 16). Bevor man auf den Button "Flash!" klickt, drückt man "<> Enter DFU mode", darüber bekommt man eine Auswahl der seriellen Schnittstellen angezeigt, an denen das Funkgerät angeschlossen sein könnte. Hier muss man richtige Zeile auswählen, diese Zeile wird typischerweise entweder als erste oder als letzte Zeile in der Liste angezeigt und sticht allein aufgrund ihrer besonderen Länge ins Auge. Wenn der Button vorher ausgegraut war, ist der Button bei korrekter Verbindung nun weiss. Das Flashen kann losgehen.
Abb. 16: WebFlasher, "<> Enter DFU mode"
Nun kann man "Flash!" anklicken und damit das Betanken der Hardware starten (siehe Abb. 16). Es gibt außerdem die Option "Erase Flash". Die sollte man dann vor dem Flashen anklicken, wenn vorher eine ganzlich andere Firmware wie bspw. meshtastic auf dem Gerät installiert ist. Wenn man ein Update einer bereits zuvor installierten meshcore-Firmware anklickt, bleibt die Konfiguration der vorigen Version erhalten. Nach Abschluss des Kopiervorgangs der Software noch einen Moment warten, bis das Gerät aus dem Bootvorgang aufgewacht ist. Dann kann man seinen Connect-Versuch über die App starten und das Gerät konfigurieren. (Bei den Funkgeräten von Seeed wie dem Wio L1 pro gibt es eine Variante des Flashens, die noch bequemer ist: Sobald das Funkgerät in den DFU-Modus versetzt wurde, geht ein Fenster des Dateimanagers auf und man sieht die Programme, die auf dem Gerät gespeichert sind. Wenn man die neue Firmware vorher downloadet hatte (siehe Abb. 17 rechts unten) könnte man nun die neue Version mit dem Dateinamen-Ende ".uf2" einfach rüberkopieren! Nach Ende des Kopiervorgangs bootet das Gerät automatisch. Einfacher geht ein Update nicht.)
Auf der Karte den gewünschten Repeater in der Nähe antippen und anschließend die ersten beiden Zeichen des "Public Key" merken. Diese beiden Zeichen dienen als Namen der Repeater, sie lassen sich für die Pfadliste von trace nutzen. Jeden Abend mache ich einmal kurz den Test, ob "meine" Repeater in den drei Nachbarstädten erreichbar sind. Ich gebe dafür die ersten beiden Zeichen des "Public Keys" eines Repeaters für den Hin- und den Rückweg ein. Konkret: Von meinem Hausrepeater "9b" ausgehend gebe ich den für mich wichtigsten Repeater in Kiel an ("18"), die Kette lautet insgesamt "9b,18,9b". Oder wenn ich einen Nutzer, vergraben zwischen den Häuserwänden in der Gartenstraße in Kiel, dessen Repeater dort ein "b9" hat, erreichen möchte, teste ich den Pfad bis zur Gartenstraße mit "9b,18,56,b9,56,18,9b". Man muss damit rechnen, dass ein solch langer Trace über hin und zurück 7 hops nicht heil durchkommt, mehrere trace-Versuche können nötig sein. Damit solch ein Versuch gelingt, muss jeder der beteiligten Repeater darauf warten, einzig und allein meinen Trace bedienen zu dürfen. Bei den wichtigen Repeaters einer Stadt ist das unwahrscheinlich, dass sie unterbeschäftigt sind. Wenn man weiss, wie gering die Sendeleistung ist, dass die Sendezeiten in diesem Funkstandard zeitlich beschränkt sind, dass ingesamt eine Luftlinie-Entfernung von 22km besteht und der Empfang zwischen Häuserschluchten funktechnisch sowieso immer ein Problem darstellt, und dass die Zahl an Meshcore-Nutzer*innen, die die wenigen lauten Repeater einer Stadt nutzen, zunimmt, dann ist diese leicht erratische Antwortverhalten zu verschmerzen. Es gilt aber auch: Eine Nachricht nur einmal zu einem Empfänger in die Gartenstraße hin zu transportieren bedeutet, dass nur die Hälfte der Kette für den Moment des Hintransports halten muss, was die Wahrscheinlichkeit der Ankunft einer Nachricht schon mal verbessert. Und zugleich lernt man bei ernsthafter Anwendung, dass eine gelingende Kommunkation, vom Sender initiiert, drauf angewiesen ist, dass ein Text wie "ok empfangen" vom Empfänger zurückgeschickt wird.
Abb. 19: Konfiguration von 4 Geräten Weihnachtsgeschenke für Freunde
Wenn man mit der Zeit die funktionierenden Standard-Pfade zu seinen Kommunikationspartnern kennt, dann sollte man sie in diesen 2-Buchstaben-Notationssequenzen in den Nutzer-Einträgen unter Contacts so auch eintragen. Man muss aber aufpassen: Wenn man an "Settings" unter "Messing Settings" die Option "Auto Reset Path" ein Häkchen setzt, dann werden die von Hand gesetzten Pfadangaben in den Fällen überschrieben, in denen die Zustellung einer Nachricht 5 Mal fehlschlug und durch Flooding ersetzt. Flooding ist flexibel, aber es werden dann nur 3 Versuche der Zustellung einer Nachricht gemacht. Ich habe das Häkchen hier nicht gesetzt, denn bei "heiklen Langstrecken" habe ich beobachtet, dass von Hand gesetzte Pfade und 5 Versuche zu besseren Erfolgen bei der Zustellung führen als Flooding. In einer unbekannten Umgebung ist flooding zu nutzen sinnvoller.
Unter "Settings/Notification Settings" kann man einstellen, ob man vom Handy im Falle neuer Meshcore-Nachrichten benachrichtigt werden möchte. Klar, beim Eintreffen von Nachrichten an mich will ich das, so wie bei anderen Messengern auf meinem Handy auch. Allerdings sollte man überlegen, ob man auch bei jeder Channel-Nachricht benachrichtigt werden möchte, was bei "Public"-Nachrichten im städtischen Umfeld meist nur am Beginn der Beschäftigung mit Meshcore interessant ist. Bei ernsthafter Nutzung von Meshcore tatsächlich anhaltend interessant können Nachrichten sein, die in "rooms" (Mailboxen) hinterlegt werden, in denen man selbst eine Nachricht hinterlegt hat.
Ich gucke auch gern mal in die Logdaten, in denen mitgeschrieben wird, was in meinem Funkgerät alles passiert, was einem aber nicht angezeigt wird. Mit dem Verlassen der App werden diese Logdaten gelöscht. Man kann in diesen Logdaten bspw. erkennen, über welche Repeater Nachrichten weitergeleitet wurden (Logdaten: Drei Punkte rechts oben antippen, dann "Tools", dann "Rx Log"). Meshcore-Nachrichten verlieren mit jedem Weiterreichen an Qualität, die wesentliche Qualität eines Funksignals ist der Signal-Rauschabstand, SNR, wobei ein SNR von 0 bedeutet, dass das Signal und das Rauschen etwa gleich deutlich sind. Signale dürfen so zwischen -13dB und +13dB liegen, bei den traces werden diese Messwerte ausgegeben. Die maximale Hop-Zahl ist auf 64 limitiert. Selbst wenn jede einzelne Hop-Verbindung sehr gut ist (z.B. 10 dB oder besser), steigen mit jedem Hop Verzögerung und Kollisionswahrscheinlichkeit im Funkkanal. Dazu kommen typischerweise Beschränkungen, die die Sendezeit der Repeater begrenzen und lange Ketten unattraktiv machen. Ziel ist es, den Frequenzkanal für alle Nutzer freizuhalten und Kollisionen zu vermeiden. Wenn man dieses Hintergrundwissen hat, versteht man, dass man sich in den Chats möglichst kurz fassen sollte.
Wie schon gesagt, es darf sich jede/r berufen fühlen, einen Repeater zu betreiben.
Es gäbe noch einiges mehr zu Meshcore anzusprechen. Stattdessen noch ein knappes Wort zu dem "Konkurrenzprojekt" Meshtastic: Ich war mit Meshtastic, nach einem Artikel in der Septemberausgabe der CT 2025, in dieses Thema gestartet. Die Anfänge von Meshtastic waren vielversprechend, Nutzergeräte die zugleich Repeater sind fand ich außerdem konzeptionell pfiffig. Allerdings war es bei Meshtastic über einige Wochen nicht möglich, einen mir wichtigen Nachrichtentransport über 25km umzusetzen, was nach dem Umstieg auf Meshcore fast auf Anhieb gelang. Ich bin von Meshcore überzeugt, denn inzwischen denke ich, dass im Zweifel Ruhe (= nur begrenzte Zahl von Repeaters wie bei Meshcore) mehr Resilienz verspricht als Lautstärke (möglichst viele Repeater wie bei Meshtastic). Das ist letztlich keine Glaubenssache, sondern lässt sich beforschen, nur habe ich dazu noch keine Studie gefunden. Vielleicht irre ich mich auch und Meshtastic ist leistungsfähiger und resilienter. Im Moment sieht es so aus: Es können beide Netze gut nebeneinander bestehen, was wiederum die Resilienz der von Bürger*innen selbst organisierten Netzinfrastrukturen insgesamt steigert: Funktioniert ein Netz nicht, gibt es das andere.
Zuletzt noch zur Strahlenbelastung ein Wort, weil man manchmal skeptische Menschen, die bspw. einen Zugang zu interessanten Repeater-Standorten wie einem hohen Kirchturm haben, von der Ungefährlichkeit dieser Geräte überzeugen muss. Meshcore-Funkgeräte erzeugen keine nennenswerte Strahlenbelastung. Die Strahlungsenergie beim Senden von 100 mWatt für nur wenige Sekunden pro Minute Sendebetrieb ist ein Bruchteil bspw. der Strahlenbelastung, die von einem Handy oder WLAN-Router mit bis zu 3000mW ausgeht. Eine funzelige Beleuchtung eines Fahrrads braucht bspw. 2000 mWatt.
Fazit: Es handelt sich bei Meshcore, den Funkgeräten und der App, nicht um ein Consumer-Produkt; man muss sich damit, wenn es verlässlich funktionieren soll, schon ein wenig beschäftigen. Erfahrungsgemäß haben Viele keine Lust dazu; der Überhang an Funkamateuren in der noch immer anhaltenden Pionierphase ist auffällig. Aber ein (Lora-)Nerd muss man dafür nicht mehr sein.