README.md erstellt
This commit is contained in:
parent
c0b5c804e8
commit
155fd275cd
81
README.md
81
README.md
|
|
@ -1,2 +1,83 @@
|
||||||
# MeshDD-Bot
|
# MeshDD-Bot
|
||||||
|
## Ein Meshtastic Bot für das Dresdner Mesh-Netzwerk
|
||||||
|
|
||||||
|
Mit dem **MeshDD-Bot** haben wir einen eigenentwickelten Bot für unser
|
||||||
|
Meshtastic Mesh-Netzwerk in Dresden in Betrieb genommen. Der Bot
|
||||||
|
verbindet sich per TCP mit einem Meshtastic-Knoten, empfängt und
|
||||||
|
verarbeitet Nachrichten aus dem Mesh und stellt ein Web-Dashboard mit
|
||||||
|
Live-Karte bereit.
|
||||||
|
|
||||||
|
### Was kann der Bot?
|
||||||
|
|
||||||
|
Der MeshDD-Bot reagiert auf Befehle, die direkt im Mesh-Chat gesendet
|
||||||
|
werden. Aktuell stehen folgende Kommandos zur Verfügung:
|
||||||
|
|
||||||
|
- **/ping** - Prüft, ob der Bot erreichbar ist
|
||||||
|
- **/nodes** - Zeigt die Anzahl der bekannten Nodes im Netzwerk
|
||||||
|
- **/mesh** - Liefert eine detaillierte Übersicht des Mesh-Netzwerks:
|
||||||
|
Online-Nodes, aktive Nodes der letzten 24 Stunden, Hop-Verteilung
|
||||||
|
und die am häufigsten verwendeten Hardware-Modelle
|
||||||
|
- **/weather** - Zeigt das aktuelle Wetter an der Position des
|
||||||
|
anfragenden Nodes (Fallback: Dresden Zentrum)
|
||||||
|
- **/stats** - Statistiken zu Nodes und beantworteten Anfragen
|
||||||
|
- **/info** - Bot-Name, Version und Laufzeit
|
||||||
|
- **/uptime** - Wie lange der Bot bereits läuft
|
||||||
|
- **/help** - Liste aller verfügbaren Kommandos
|
||||||
|
|
||||||
|
Längere Antworten werden automatisch auf mehrere Nachrichten aufgeteilt
|
||||||
|
und mit einer Nummerierung wie `[1/3]` versehen, damit im Mesh nichts
|
||||||
|
verloren geht.
|
||||||
|
|
||||||
|
### Web-Dashboard mit Live-Updates
|
||||||
|
|
||||||
|
Unter `http://<server>:8080` steht ein Web-Dashboard zur Verfügung, das
|
||||||
|
in Echtzeit via WebSocket aktualisiert wird. Es zeigt:
|
||||||
|
|
||||||
|
- **Status-Karten** mit der Gesamtzahl der Nodes, aktiven Nodes (24h)
|
||||||
|
und beantworteten Anfragen inkl. Aufschlüsselung nach Kommando
|
||||||
|
- **Nodes-Tabelle** mit Name, Hardware-Modell, SNR, Batteriestatus
|
||||||
|
(farbcodiert), Hop-Anzahl und letzter Aktivität
|
||||||
|
- **Nachrichten-Feed** mit Absender, Kanalname und Zeitstempel
|
||||||
|
- **Hell/Dunkel-Modus** per Knopfdruck umschaltbar
|
||||||
|
|
||||||
|
### Live-Karte
|
||||||
|
|
||||||
|
Über den Karten-Link im Dashboard öffnet sich eine Leaflet-Karte mit
|
||||||
|
OpenStreetMap, auf der alle Nodes mit bekannter Position dargestellt
|
||||||
|
werden. Die Marker sind farblich nach Hop-Anzahl kodiert:
|
||||||
|
|
||||||
|
- [**Blau**]{style="color:#2196F3;"} - Direkt erreichbar (0 Hops)
|
||||||
|
- [**Grün**]{style="color:#4CAF50;"} - 1 Hop
|
||||||
|
- [**Orange**]{style="color:#FF9800;"} - 2 Hops
|
||||||
|
- [**Rot**]{style="color:#F44336;"} - 3 Hops
|
||||||
|
- [**Lila**]{style="color:#9C27B0;"} - 4 Hops
|
||||||
|
- [**Braun**]{style="color:#795548;"} - 5+ Hops
|
||||||
|
|
||||||
|
Beim Überfahren eines Markers mit der Maus erscheint ein Tooltip mit
|
||||||
|
detaillierten Node-Informationen: Name, Hardware, Hops, SNR,
|
||||||
|
Batteriestatus, Höhe und letzte Aktivität.
|
||||||
|
|
||||||
|
### Technik im Hintergrund
|
||||||
|
|
||||||
|
Der Bot ist in Python geschrieben und nutzt folgende Technologien:
|
||||||
|
|
||||||
|
- **meshtastic** - Python-Bibliothek für die TCP-Verbindung zum
|
||||||
|
Meshtastic-Gerät
|
||||||
|
- **aiohttp** - Asynchroner Webserver mit WebSocket-Unterstützung
|
||||||
|
- **SQLite** - Lokale Datenbank für Nodes, Nachrichten und
|
||||||
|
Kommando-Statistiken
|
||||||
|
- **Leaflet.js** - Interaktive Karte mit OpenStreetMap-Tiles
|
||||||
|
- **Bootstrap 5.3** - Responsive Dashboard mit Dark/Light Theme
|
||||||
|
|
||||||
|
Die gesamte Konfiguration erfolgt über eine zentrale `config.yaml`, die
|
||||||
|
zur Laufzeit überwacht wird - Änderungen werden automatisch ohne
|
||||||
|
Neustart übernommen.
|
||||||
|
|
||||||
|
### Ausblick
|
||||||
|
|
||||||
|
Der MeshDD-Bot wird kontinuierlich weiterentwickelt. Geplant sind unter
|
||||||
|
anderem weitere Befehle, erweiterte Statistiken und zusätzliche
|
||||||
|
Visualisierungen auf der Karte. Der Quellcode ist auf unserem
|
||||||
|
Forgejo-Server verfügbar.
|
||||||
|
|
||||||
|
*Aktueller Stand: Version 0.2.5*
|
||||||
|
|
|
||||||
BIN
meshdd.db-shm
Normal file
BIN
meshdd.db-shm
Normal file
Binary file not shown.
BIN
meshdd.db-wal
Normal file
BIN
meshdd.db-wal
Normal file
Binary file not shown.
Loading…
Reference in a new issue