Hallo, Gast! Registrieren

Zusätzliche Datenerhebung am MQTT-freien Wochenende
#3
Für die automatisierte Teilnahme am Hessen-Mesh-Testwochenende habe ich ein kleines Python-Skript erstellt. Es übernimmt das zeitgesteuerte Senden der Testnachrichten und protokolliert gleichzeitig alle empfangenen Nachrichten des Kanals HessenMQlos
1. Python installieren
Python für Windows herunterladen:
https://www.python.org/downloads/
Bei der Installation unbedingt die Option Add Python to PATH aktivieren. Anschließend PowerShell öffnen und prüfen:

python --version
2. Meshtastic installieren
In PowerShell folgenden Befehl ausführen:

pip install meshtastic
Damit werden die Meshtastic-Bibliothek und die benötigten Abhängigkeiten installiert.

3. Skript einrichten

Die Datei  HessenMesh-Test.py
in einen eigenen Ordner kopieren, beispielsweise:

C:\HessenMesh
Das Skript mit einem Texteditor öffnen und folgende Einstellungen anpassen:

SHORT_NAME = "XXXX"  <-Kurzname des eigenen Nodes.
PORT ="COM8"                <- COM-Port des angeschlossenen Meshtastic-Gerätes.
CHANNEL_INDEX = 4       <-Index des Kanals HessenMQlos.
ZONE = 4                          <-Eigene Zone gemäß der Gebietseinteilung (1 bis 6).

1 = Kassel, Werra-Meißner, Schwalm-Eder, Hersfeld-Rotenburg
2 = Waldeck-Frankenberg, Marburg-Biedenkopf, Lahn-Dill, Gießen
3 = Vogelsberg, Fulda, Wetterau, Main-Kinzig
4 = Limburg-Weilburg, Hochtaunus, Rheingau-Taunus, Wiesbaden
5 = Main-Taunus, Frankfurt, Offenbach
6 = Groß-Gerau, Darmstadt, Bergstraße, Odenwald
Den COM-Port findet man im Windows-Geräte-Manager unter „Anschlüsse (COM & LPT)“.
Der Kanalindex muss mit der tatsächlichen Kanalnummer des Gerätes übereinstimmen. Die Zählung beginnt bei 0.

4. Skript starten
PowerShell öffnen und in das Programmverzeichnis wechseln:

Code:
cd C:\HessenMesh

Anschließend folgende Befehle ausführen:

Code:
chcp 65001
dann
Code:
$env:PYTHONUTF8 = "1"
dann das Script starten:
Code:
py .\HessenMesh-Test.py

Damit werden die Konsolenausgabe und die Python-Ausgabe auf UTF-8 eingestellt. Umlaute sollten dadurch korrekt dargestellt werden.

Die Einstellung von
Code:
$env:PYTHONUTF8
gilt für die aktuelle PowerShell-Sitzung.
Das Skript verbindet sich mit dem Meshtastic-Gerät und wartet automatisch auf die nächste passende Zeitscheibe. 
Innerhalb jeder Zeitscheibe werden zehn Nachrichten zu zufällig gewählten Zeitpunkten gesendet.
Das Programm muss während des gesamten Testzeitraums geöffnet bleiben.

Zum Beenden STRG + C drücken.
5. Protokolldateien

Im Programmverzeichnis werden automatisch zwei Dateien angelegt.

HessenMesh.log            <-Enthält alle gesendeten und empfangenen Nachrichten mit Zeitstempel und Absender.
nachrichtennummer.txt <-Speichert die zuletzt verwendete Nachrichtennummer.
Die Nachrichtennummer wird bei einem erneuten Programmstart automatisch fortgesetzt.

Was steht in der Logdatei?
Die Datei HessenMesh.log dokumentiert chronologisch alle Aktivitäten des Skripts. Jeder Eintrag enthält Datum und Uhrzeit.
Folgende Eintragstypen gibt es:
PROGRAMMSTART <- Das Skript wurde gestartet.
MESHTASTIC VERBUNDEN <- Verbindung zum Meshtastic-Gerät hergestellt.
EMPFANG AKTIV <- Der Nachrichtenempfang wurde aktiviert.
SEND <- Eine Testnachricht wurde zum Versand übergeben.
EMPFANG <- Eine Nachricht wurde auf dem ausgewählten Kanal empfangen. Angezeigt werden Absender und Nachrichteninhalt.
SENDEFEHLER <- Beim Senden ist ein Fehler aufgetreten.
EMPFANGSFEHLER <- Beim Verarbeiten einer Nachricht ist ein Fehler aufgetreten.
PROGRAMMENDE <- Das Skript wurde beendet.
Beispiel:

09.11.2026 21:30:52 | EMPFANG | FSFF | Hallo Hessen
09.11.2026 21:31:08 | SEND | XXXX, 0001, 09.11.2026 21:31
09.11.2026 21:31:17 | EMPFANG | Node-1234 | Testnachricht
Die Logdatei wird fortlaufend ergänzt und bei einem Neustart nicht überschrieben. Es entsteht somit eine zusammenhängende Aufzeichnung der gesendeten und empfangenen Nachrichten. Für die spätere Netzauswertung ist besonders interessant, welche Nachrichten von anderen Nodes empfangen wurden und zu welchen Zeitpunkten dies geschah. Auch eine Logdatei ohne empfangene Fremdnachrichten ist hilfreich.
Nach Abschluss des Testwochenendes bitte die Datei HessenMesh.log zur Auswertung weitergeben.
Hinweis: Während das Skript läuft, darf kein anderes Programm auf den verwendeten COM-Port zugreifen. Das Meshtastic-Gerät muss eingeschaltet und entsprechend für den Kanal HessenMQlos eingerichtet sein.
Viele Grüße Tobi


Angehängte Dateien
.zip   HessenMesh-Test.zip (Größe: 2,97 KB / Downloads: 3)
Meine Nodes:
GWWA: Heltec V3 mit WLAN als Station und MQTT Gateway (Registriert)
GEZ1: HELTXT (Heltec V3 in Gehäuse mit Tastatur und Akku)
GEZ2: TDeck 
GEZs: Solarnode mit Seeed Studio XIAO nRF52840 & Wio-SX1262
Zitieren


Nachrichten in diesem Thema
Automatischer Testsender via CLI - von Gezwitscher - Gestern, 00:18



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste