feat(modbus_tool): Add interactive TUI and documentation
- Replace the basic command-line prompt with a full-screen, interactive TUI using the library. - The new UI provides a real-time, tabular status display and intuitive, button-style menu navigation. - Implement a consistent blue background theme for better aesthetics. - Add a detailed with installation and usage instructions. - Fix several bugs in the Modbus communication logic.
This commit is contained in:
95
software/tools/modbus_tool/README.de.md
Normal file
95
software/tools/modbus_tool/README.de.md
Normal file
@@ -0,0 +1,95 @@
|
||||
# Modbus Tool für Bewässerungssystem-Knoten
|
||||
|
||||
Dieses Python-Skript bietet eine interaktive Kommandozeilen-Benutzeroberfläche (TUI) zur Steuerung und Überwachung eines Ventil-Knotens des Bewässerungssystems über Modbus RTU.
|
||||
|
||||
## Features
|
||||
|
||||
- **Interaktive Benutzeroberfläche:** Eine benutzerfreundliche, auf `curses` basierende Oberfläche, die eine einfache Bedienung ermöglicht.
|
||||
- **Live-Statusanzeige:** Zeigt tabellarisch und in Echtzeit den Zustand des Ventils, die Bewegung, den Motorstrom, die konfigurierten Öffnungs-/Schließzeiten sowie Firmware-Version und Uptime des Geräts an.
|
||||
- **Volle Kontrolle:** Ermöglicht das Senden von Befehlen zum Öffnen, Schließen und Stoppen des Ventils.
|
||||
- **Konfiguration zur Laufzeit:** Die maximalen Öffnungs- und Schließzeiten können direkt in der Oberfläche geändert werden.
|
||||
- **Anpassbares Design:** Die Benutzeroberfläche ist für eine klare Lesbarkeit mit einem durchgehenden blauen Hintergrund und abgesetzten Schaltflächen gestaltet.
|
||||
|
||||
## Installation
|
||||
|
||||
### Voraussetzungen
|
||||
|
||||
- Python 3.x
|
||||
- `pip` (Python Paket-Installer)
|
||||
|
||||
### Installation der Abhängigkeiten
|
||||
|
||||
Die benötigten Python-Pakete sind in der Datei `requirements.txt` aufgeführt. Sie können auf zwei Arten installiert werden: global oder in einer virtuellen Umgebung (empfohlen).
|
||||
|
||||
#### Option 1: Installation mit virtueller Umgebung (empfohlen)
|
||||
|
||||
Eine virtuelle Umgebung isoliert die Projekt-Abhängigkeiten von Ihrem globalen Python-System, was Konflikte vermeidet.
|
||||
|
||||
1. **Virtuelle Umgebung erstellen:**
|
||||
Führen Sie im Verzeichnis `software/tools/modbus_tool` den folgenden Befehl aus, um eine Umgebung im Ordner `.venv` zu erstellen:
|
||||
```bash
|
||||
python3 -m venv .venv
|
||||
```
|
||||
|
||||
2. **Umgebung aktivieren:**
|
||||
- **Linux / macOS:**
|
||||
```bash
|
||||
source .venv/bin/activate
|
||||
```
|
||||
Ihre Shell-Anzeige sollte sich ändern und `(.venv)` am Anfang zeigen.
|
||||
- **Windows (cmd.exe):**
|
||||
```bash
|
||||
.venv\Scripts\activate.bat
|
||||
```
|
||||
- **Windows (PowerShell):**
|
||||
```powershell
|
||||
.venv\Scripts\Activate.ps1
|
||||
```
|
||||
|
||||
3. **Abhängigkeiten installieren:**
|
||||
Wenn die Umgebung aktiv ist, installieren Sie die Pakete:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
4. **Umgebung deaktivieren:**
|
||||
Wenn Sie fertig sind, können Sie die Umgebung mit folgendem Befehl wieder verlassen:
|
||||
```bash
|
||||
deactivate
|
||||
```
|
||||
|
||||
#### Option 2: Globale Installation (nicht empfohlen)
|
||||
|
||||
Wenn Sie keine virtuelle Umgebung verwenden möchten, können Sie die Pakete direkt in Ihrem globalen Python-System installieren.
|
||||
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## Verwendung
|
||||
|
||||
Stellen Sie sicher, dass das Skript ausführbar ist:
|
||||
```bash
|
||||
chmod +x modbus_tool.py
|
||||
```
|
||||
|
||||
Starten Sie das Tool, indem Sie den seriellen Port als Argument übergeben:
|
||||
|
||||
```bash
|
||||
./modbus_tool.py /dev/ttyACM0
|
||||
```
|
||||
Ersetzen Sie `/dev/ttyACM0` durch den korrekten Port Ihres Geräts.
|
||||
|
||||
### Kommandozeilen-Argumente
|
||||
|
||||
- `port`: (Erforderlich) Der serielle Port (z.B. `/dev/ttyACM0` oder `COM3`).
|
||||
- `--baud`: Die Baudrate (Standard: `19200`).
|
||||
- `--slave-id`: Die Modbus Slave ID des Geräts (Standard: `1`).
|
||||
- `--interval`: Das Abfrageintervall für den Status in Sekunden (Standard: `1.0`).
|
||||
|
||||
### Bedienung der Oberfläche
|
||||
|
||||
- **Navigation:** Verwenden Sie die **Pfeiltasten (↑/↓)**, um zwischen den Menüpunkten zu navigieren.
|
||||
- **Auswählen:** Drücken Sie **Enter**, um den ausgewählten Befehl auszuführen.
|
||||
- **Werte eingeben:** Bei Aktionen wie "Set Max Opening Time" werden Sie zur Eingabe eines Wertes aufgefordert. Geben Sie den Wert ein und bestätigen Sie mit **Enter**.
|
||||
- **Beenden:** Wählen Sie den Menüpunkt **"Exit"** und drücken Sie **Enter**.
|
||||
Reference in New Issue
Block a user