irrigation_system/docs/planning.de.md

4.5 KiB

Logo

🇩🇪 Deutsch | 🇬🇧 English | 🇫🇷 Français | 🇪🇸 Español

Projektplan: Modulares Bewässerungssystem

Abgehakt Aufgabe Datum Bemerkungen
Phase 0: Planung & Definition
Konzept erstellen und finalisieren 30.06.2025 Architektur, Komponenten und grundlegende Architektur sind festgelegt.
MODBUS Register Map definieren 30.06.2025 Die "API" der Slaves ist definiert und bildet die Grundlage für die Software-Entwicklung.
Header- und deutsche Dokumentation aktualisiert 10.07.2025 Doxygen-Kommentare in Headern und deutsche .md-Dateien auf den neuesten Stand gebracht und übersetzt.
Phase 1: Slave-Node Prototyp (STM32 Eval-Board) Ziel: Ein einzelner Slave wird auf dem Eval-Board zum Leben erweckt.
1.1 Entwicklungsumgebung für STM32/Zephyr einrichten 30.06.2025 Toolchain, VS Code, Zephyr-SDK, MCUBoot etc. installieren und ein "Hello World" zum Laufen bringen.
1.2 Hardware-Abstraktion (VND7050AJ, RS485) 10.07.2025 Implementierung der Treiber für den VND7050AJ und die RS485-Kommunikation.
1.3 Basis-Firmware für Slave-Node erstellen 10.07.2025 Hardware-Abstraktion (GPIOs) implementiert.
1.3 MODBUS-RTU Stack auf dem Slave implementieren 10.07.2025 Basierend auf der definierten Register-Map. Zuerst nur lesende Funktionen (Status, Version).
1.4 Kernlogik implementieren (z.B. Ventilsteuerung) 10.07.2025 Umsetzung der VALVE_STATE_MOVEMENT Logik, Strommessung für Endlagen etc.
Phase 2: Verifikation der Slave-Firmware Ziel: Nachweisen, dass der Slave sich exakt an die MODBUS-Spezifikation hält.
2.1 Slave-Node mit PC via USB-MODBUS-Adapter testen Kritischer Meilenstein. Mit Tools wie "QModMaster" oder einem Python-Skript die Register lesen & schreiben. Die Slave-Firmware wird so unabhängig vom Gateway validiert.
2.2 Firmware-Update Mechanismus testen Den kompletten Update-Prozess (Chunking, CRC-Check) mit einem Skript vom PC aus testen. Der Slave schreibt die Firmware dabei vorerst nur in einen ungenutzten RAM-Bereich.
Phase 3: Hardware-Design und Prototypenbau Ziel: Von der Entwicklung auf dem Eval-Board zum massgeschneiderten PCB.
3.1 Schaltplan und PCB-Layout für Slave-Node entwerfen Basierend auf den Erfahrungen mit dem Eval-Board.
3.2 Prototypen-Platinen bestellen und bestücken Z.B. bei JLCPCB. THT-Komponenten (Stecker etc.) selbst löten.
3.3 Hardware-Inbetriebnahme des ersten Prototyps Spannungen prüfen, Firmware aufspielen und die Tests aus Phase 2 wiederholen, um die Hardware zu validieren.
3.4 Flash-Schreibroutine für Firmware-Update implementieren Den in Schritt 2.2 im RAM validierten Prozess nun auf den echten Flash-Speicher anwenden.
Phase 4: Gateway Entwicklung (ESP32 Eval-Board) Ziel: Die Brücke von der RS485-Welt ins Heimnetzwerk bauen.
4.1 Gateway-Firmware (ESPHome) erstellen Einfaches MODBUS TCP zu RTU Gateway auf dem ESP32C6 Eval-Board aufsetzen.
4.2 Gateway mit Slave-Node Prototyp verbinden und testen Test der Kette: PC (als MODBUS TCP Client) -> WLAN -> Gateway -> RS485 -> Slave.
Phase 5: System-Integration in Home Assistant Ziel: Das System "smart" machen.
5.1 MODBUS-Integration in Home Assistant konfigurieren Anlegen der Sensoren und Entitäten für den Slave-Node in der configuration.yaml oder über die UI.
5.2 Dashboards und Automationen in HA erstellen Visualisierung der Zustände (Ventil, Pumpe etc.) und Erstellen der eigentlichen Bewässerungs-Logik.
5.3 Python-Skript für Firmware-Update in HA entwickeln Implementierung des Chunk-basierten Uploads als Skript, das aus HA heraus aufgerufen werden kann.
Phase 6: Aufbau und Inbetriebnahme Ziel: Das fertige System installieren.
6.1 Alle benötigten Slave-Nodes aufbauen und testen Jeden Slave einzeln mit dem PC via USB-Adapter testen und die MODBUS-Adresse konfigurieren.
6.2 System final installieren und verkabeln Einbau der Komponenten in den Schuppen, Verkabelung des RS485-Busses.
6.3 Gesamtsystemtest und Kalibrierung Füllstandsensor kalibrieren, Laufzeiten der Ventile prüfen, Fail-Safe-Verhalten testen.