Python-basierter TUI-Client zum Austausch von Nachrichten und Konfigurieren von Meshtastic-Nodes.
Neulich haben wir euch bereits die Software Connect von Benjamin K1PDX vorgestellt. Auf seiner GitHub-Seite pdxlocations finden sich weitere praktische Tools rund um Meshtastic – alle in Python geschrieben und definitiv einen Blick wert.
Für die Konfiguration eines Meshtastic-Nodes an einem entfernten Standort, der per serieller Verbindung an einen Raspberry Pi angeschlossen ist, habe ich bisher die Meshtastic-CLI verwendet. Diese erfordert jedoch die Eingabe teils sehr langer Befehle über die Kommandozeile – das ist nicht nur zeitaufwändig, sondern auch anfällig für Tippfehler. Die integrierte UI der Meshtastic-CLI konnte ich nicht nutzen, da der Raspberry Pi keine grafische Oberfläche installiert hat.
Mit Contact steht eine Software zur Verfügung, die eine textbasierte Benutzeroberfläche direkt im Terminal bietet. Die Konfiguration einer verbundenen Meshtastic-Node erfolgt bequem über Menüs – ähnlich wie in den Meshtastic-Apps für Smartphones.
Doch Contact kann mehr: Neben der Geräteeinrichtung lassen sich auch Nachrichten anzeigen und versenden – sowohl an Kanäle als auch als Direktnachrichten an einzelne Nodes im Mesh.
Installation
Contact steht bereits als Paket über pip zur Verfügung, was die Installation besonders einfach macht. Wenn Python 3 und pip bereits auf eurem System vorhanden sind, könnt ihr Meshtastic und Contact mit folgendem Befehl installieren:
pip install meshtastic contact
Bei Betriebssystemen, auf denen Python auch für systemkritische Aufgaben verwendet wird (z. B. bei vielen Linux-Distributionen), ist es empfehlenswert – teils sogar notwendig – Meshtastic und Contact in einer virtuellen Umgebung zu installieren. Führt dazu zunächst die folgenden Befehle aus, bevor ihr pip install verwendet:
python3 -m venv venv
source venv/bin/activate
Aufruf und Nachrichtenversand
Contact kann sich mit eurer Meshtastic-Node entweder über eine serielle Verbindung, per Bluetooth oder via IP-Netzwerk verbinden. Die gewünschte Option gebt ihr einfach beim Starten des Programms mit an – zum Beispiel:
contact --port /dev/ttyUSB0
contact --host 192.168.1.123
contact --ble BlAddressOfDevice
Im Hauptfenster von Contact werden die konfigurierten Kanäle, das Nachrichtenempfangsfenster sowie die verbundenen Nodes übersichtlich dargestellt. Bei Bedarf kann zusätzlich das Paket-Log eingeblendet werden.
Die Navigation innerhalb der Terminal-Oberfläche erfolgt über die Pfeiltasten eurer Tastatur.
Um eine Nachricht in einem bestimmten Kanal zu senden, markiert zunächst im linken Bereich den gewünschten Kanal. Anschließend gebt ihr eure Nachricht im oberen Bereich unter Input ein und bestätigt sie mit der Enter-Taste.
Um eine Direktnachricht an eine andere Node zu versenden, navigiert mit den Pfeiltasten zunächst in den rechten Bildschirmbereich und wählt dort die gewünschte Node aus. Mit Enter markiert ihr sie – sie erscheint daraufhin auch im linken Bereich der Kanalübersicht und ist dort automatisch aktiviert. Gebt nun wie gewohnt eure Nachricht im Input-Feld ein und sendet sie mit der Enter-Taste.

Konfiguration
Um eure Node zu konfigurieren, öffnet ihr das Konfigurationsmenü mit der Backtick-Taste auf eurer Tastatur. Wenn ihr eure Node bereits mit der Android- oder iOS-App konfiguriert habt, werdet ihr euch in der Menüstruktur von Contact schnell zurechtfinden.

Zu fast jedem Konfigurationsparameter zeigt Contact im unteren Bereich des Bildschirms eine kurze Erklärung sowie den Standardwert an.

Fazit
Für meinen Einsatzzweck – die Fernkonfiguration eines Nodes über einen headless Raspberry Pi – ist Contact genau das, was ich gebraucht habe. Endlich keine langen Kommandozeilen-Befehle mehr, sondern eine übersichtliche Menüoberfläche direkt im Terminal. Eine klare Empfehlung! 😊
Kennt ihr weitere Meshtastic-Software, die nicht unerwähnt bleiben sollte? Dann schreibt sie uns gerne in die Kommentare unter diesem Beitrag oder diskutiert sie mit uns in unserer Telegram- oder WhatsApp-Gruppe.
Hier findet ihr weitere Beiträge zu Meshtastic:
Möchtest du das DL-Nordwest Projekt unterstützen? Dann freuen wir uns über deinen Gastbeitrag, das Teilen unserer Inhalte oder eine (kleine) Spende 🤑 Vielen Dank für deine Unterstützung! 😘