pyMC: Python-Implementierung für Linux-basierte MeshCore-Infrastruktur
MeshCore Blog von rightup

pyMC: Python-Implementierung für Linux-basierte MeshCore-Infrastruktur

Was ist pyMC?

Im Kern ist pyMC eine Python-Implementierung eines MeshCore-kompatiblen Stacks. Es ist darauf ausgelegt, auf Linux-basierten Systemen zu laufen und eingebettete LoRa-Radios mit übergeordneten Softwarediensten zu verbinden. Begonnen hat es als Versuch, das MeshCore-Protokoll besser zu verstehen. Ziemlich schnell wurde daraus jedoch etwas deutlich Nützlicheres: eine wiederverwendbare Kernbibliothek für den Aufbau flexibler, Linux-betriebener Mesh-Infrastruktur. Der pyMC-Kern übernimmt die protokollseitige Arbeit:

  • Parsen und Erzeugen von MeshCore-Paketen
  • Verwaltung von Identitäten und Adressierung
  • Sicherstellung der Kompatibilität bei Protokollweiterentwicklungen
  • Handling von Radio-Interfaces (SPI, KISS, USB-CH341)
Mit über 15 aktuell unterstützten Boards und vielen weiteren in Entwicklung hat sich das System von einem einfachen Experiment zu einem praxistauglichen Toolkit für den Aufbau und Betrieb verteilter Mesh-Infrastruktur entwickelt.

Auf dem pyMC-Kern setzt der pymc repeater auf, der die betriebliche Seite übernimmt:

  • Verarbeitung von Paketen
  • Anwendung von Routing- und Filterlogik
  • Weiterleitung von Datenverkehr
  • Unterstützung von Diensten wie Roomservern, Companions und Observer-Datenausgabe
Eingebettete Firmware ist effizient und für dedizierte Geräte gut geeignet, arbeitet aber unter engen Ressourcenbeschränkungen. Der Betrieb von pyMC auf Linux erweitert den Gestaltungsraum erheblich: mehr Rechenleistung, bessere Werkzeuge, einfacheres Debugging und tiefere Echtzeiteinsicht in das Verhalten des Meshs.

Eine zentrale Designentscheidung betrifft den Umgang mit Identitäten. Anstatt davon auszugehen, dass ein physischer Knoten genau einer logischen Präsenz entspricht, erlaubt pyMC mehreren Identitäten, auf demselben Radio zu existieren.

In der Praxis kann ein einzelnes Gerät mehrere Rollen übernehmen. Es kann als Repeater agieren, verschiedene logische Endpunkte repräsentieren oder zusätzliche Dienste hosten – jeder mit seinem eigenen Kontext.

Diese Flexibilität ermöglicht es einem pymc repeater, sich zu einer Multi-Companion-Basisstation weiterzuentwickeln. An diesem Punkt verhält er sich weniger wie ein einfacher Paket-Repeater und eher wie ein leichtgewichtiger Message-Hub für das Mesh.

Anders ausgedrückt: pyMC gibt MeshCore eine Linux-native Oberfläche. Es kann Repeater betreiben, Dienste hosten, Analysen antreiben oder völlig neue Mesh-Anwendungen unterstützen – ohne die Kompatibilität mit der darunterliegenden Funkschicht zu verlieren.

pymc map
pymc stats
pymc system stats

Wo pymc_console seinen Platz hat

Ein Beispiel für diesen erweiterten Gestaltungsraum ist pymc_console: ein browserbasiiertes Dashboard, das auf dem pyMC-Repeater aufbaut.

Während pyMC die Protokoll- und Repeater-Schicht übernimmt, macht pymc_console diese Aktivität zu etwas, das man tatsächlich sehen und nachvollziehen kann. Paketfluss, Radiostatus, verbundene Identitäten, Observer-Ausgabe, Airtime-Auslastung und Netzwerkverhalten lassen sich in einer zugänglichen Oberfläche darstellen.

Das ist wichtig, weil ein Mesh-Netzwerk schwer zu verbessern ist, solange es unsichtbar bleibt. Sobald Pakete, Routen, Signalqualität und Auslastungsmuster beobachtbar werden, ist der Repeater mehr als nur ein Weiterleitungsknoten. Er wird zu einem lokalen Fenster in den Zustand und das Verhalten des Meshs.

In diesem Sinne ist pymc_console weniger eine eigenständige Idee als eine natürliche Erweiterung der pyMC-Architektur. Dasselbe Linux-native Fundament, das pyMC die Kommunikation mit Radios ermöglicht, macht es auch möglich, Analysen, Dashboards, Companion-Erlebnisse und neue Werkzeuge rund um das Mesh zu bauen.

console
console map
console compan

Das Interessante ist nicht nur, was pyMC heute leistet, sondern was es in der Praxis ermöglicht.

Wer es erkunden, selbst betreiben oder seine Weiterentwicklung verfolgen möchte, findet alles Nötige zum Einstieg bereit.

Wo man anfängt

Quellcode und Setup-Anleitungen gibt es auf https://github.com/pyMC-dev

Oder tritt dem pyMC Discord bei: https://discord.gg/hRjW9ha6m

Empfohlene Hardware

Für ein unkompliziertes pyMC-Setup empfehle ich folgende getestete und kompatible Hardware-Plattformen. MeshToad und MeshTadpole eignen sich ideal für leichtgewichtige Installationen, Heimlabore und Desktop-Einsatz, während PiMesh eine hervorragende Raspberry-Pi-basierte Lösung für Infrastruktur- und Gateway-Deployments bietet. Für repeater-fokussierte Installationen bietet der UltraPeater Luckfox Pico Ultra HAT eine kompakte und effiziente dedizierte Repeater-Plattform.

  • MeshToad V3 — https://muzi.works/products/nullhop-meshtoad-v3
  • MeshTadpole SX1262 USB Stick — https://www.elecrow.com/meshtadpole-sx1262-usb-stick.html
  • PiMesh — https://meshsmith.net/
  • UltraPeater — https://zindello.com.au/ultrapeater/
pymc gear
Original auf blog.meshcore.io →