3.9 KiB
3.9 KiB
🇩🇪 Deutsch | 🇬🇧 English | 🇫🇷 Français | 🇪🇸 Español
Project Plan: Modular Irrigation System
| Done | Task | Date | Remarks |
|---|---|---|---|
| ✅ | Phase 0: Planning & Definition | ||
| ✅ | Create and finalize concept | 2025-06-30 | Architecture, components and basic architecture are defined. |
| ✅ | Define MODBUS Register Map | 2025-06-30 | The "API" of the slaves is defined and forms the basis for software development. |
| ☐ | Phase 1: Slave Node Prototype (STM32 Eval-Board) | Goal: A single slave is brought to life on the eval board. | |
| ✅ | 1.1 Set up development environment for STM32/Zephyr | 2025-06-30 | Install toolchain, VS Code, Zephyr-SDK, MCUBoot etc. and get a "Hello World" running. |
| ☐ | 1.2 Create basic firmware for slave node | Implement hardware abstraction (GPIOs, ADC, UART for RS485). | |
| ☐ | 1.3 Implement MODBUS-RTU stack on the slave | Based on the defined register map. Initially only read functions (status, version). | |
| ☐ | 1.4 Implement core logic (e.g. valve control) | Implementation of the VALVE_STATE_MOVEMENT logic, current measurement for end positions etc. |
|
| ☐ | Phase 2: Verification of the Slave Firmware | Goal: Prove that the slave adheres exactly to the MODBUS specification. | |
| ☐ | 2.1 Test slave node with PC via USB-MODBUS adapter | Critical milestone. Read & write the registers with tools like "QModMaster" or a Python script. The slave firmware is thus validated independently of the gateway. | |
| ☐ | 2.2 Test firmware update mechanism | Test the complete update process (chunking, CRC check) with a script from the PC. The slave initially only writes the firmware to an unused RAM area. | |
| ☐ | Phase 3: Hardware Design and Prototype Construction | Goal: From development on the eval board to a customized PCB. | |
| ☐ | 3.1 Design schematic and PCB layout for slave node | Based on the experience with the eval board. | |
| ☐ | 3.2 Order and assemble prototype boards | E.g. at JLCPCB. Solder THT components (connectors etc.) yourself. | |
| ☐ | 3.3 Hardware commissioning of the first prototype | Check voltages, upload firmware and repeat the tests from phase 2 to validate the hardware. | |
| ☐ | 3.4 Implement flash write routine for firmware update | Apply the process validated in RAM in step 2.2 to the real flash memory. | |
| ☐ | Phase 4: Gateway Development (ESP32 Eval-Board) | Goal: Build the bridge from the RS485 world to the home network. | |
| ☐ | 4.1 Create gateway firmware (ESPHome) | Set up a simple MODBUS TCP to RTU gateway on the ESP32C6 eval board. | |
| ☐ | 4.2 Connect and test gateway with slave node prototype | Test the chain: PC (as MODBUS TCP client) -> WLAN -> Gateway -> RS485 -> Slave. | |
| ☐ | Phase 5: System Integration in Home Assistant | Goal: Make the system "smart". | |
| ☐ | 5.1 Configure MODBUS integration in Home Assistant | Create the sensors and entities for the slave node in configuration.yaml or via the UI. |
|
| ☐ | 5.2 Create dashboards and automations in HA | Visualization of the states (valve, pump etc.) and creation of the actual irrigation logic. | |
| ☐ | 5.3 Develop Python script for firmware update in HA | Implementation of the chunk-based upload as a script that can be called from HA. | |
| ☐ | Phase 6: Setup and Commissioning | Goal: Install the finished system. | |
| ☐ | 6.1 Build and test all required slave nodes | Test each slave individually with the PC via USB adapter and configure the MODBUS address. | |
| ☐ | 6.2 Final installation and cabling of the system | Installation of the components in the shed, cabling of the RS485 bus. | |
| ☐ | 6.3 Overall system test and calibration | Calibrate level sensor, check valve running times, test fail-safe behavior. |