irrigation_system/docs/planning.es.md

4.5 KiB

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

Plan del proyecto: Sistema de riego modular

Hecho Tarea Fecha Observaciones
Fase 0: Planificación y definición
Crear y finalizar el concepto 30.06.2025 La arquitectura, los componentes y la arquitectura básica están definidos.
Definir el mapa de registros MODBUS 30.06.2025 La "API" de los esclavos está definida y constituye la base para el desarrollo del software.
Fase 1: Prototipo de nodo esclavo (placa de evaluación STM32) Objetivo: Un único esclavo cobra vida en la placa de evaluación.
1.1 Configurar el entorno de desarrollo para STM32/Zephyr Instalar la cadena de herramientas, VS Code, el SDK de Zephyr, MCUBoot, etc. y hacer que funcione un "Hola Mundo".
1.2 Crear el firmware básico para el nodo esclavo Implementar la abstracción de hardware (GPIO, ADC, UART para RS485).
1.3 Implementar la pila MODBUS-RTU en el esclavo Basado en el mapa de registros definido. Inicialmente solo funciones de lectura (estado, versión).
1.4 Implementar la lógica central (p. ej., control de válvulas) Implementación de la lógica VALVE_STATE_MOVEMENT, medición de corriente para posiciones finales, etc.
Fase 2: Verificación del firmware del esclavo Objetivo: Demostrar que el esclavo se adhiere exactamente a la especificación MODBUS.
2.1 Probar el nodo esclavo con un PC a través de un adaptador USB-MODBUS Hito crítico. Leer y escribir los registros con herramientas como "QModMaster" o un script de Python. El firmware del esclavo se valida así independientemente de la puerta de enlace.
2.2 Probar el mecanismo de actualización de firmware Probar el proceso de actualización completo (fragmentación, comprobación de CRC) con un script desde el PC. El esclavo inicialmente solo escribe el firmware en un área de RAM no utilizada.
Fase 3: Diseño de hardware y construcción de prototipos Objetivo: Pasar del desarrollo en la placa de evaluación a un PCB a medida.
3.1 Diseñar el esquema y el diseño del PCB para el nodo esclavo Basado en la experiencia con la placa de evaluación.
3.2 Pedir y ensamblar placas prototipo Por ejemplo, en JLCPCB. Soldar los componentes THT (conectores, etc.) uno mismo.
3.3 Puesta en marcha del hardware del primer prototipo Comprobar voltajes, cargar el firmware y repetir las pruebas de la fase 2 para validar el hardware.
3.4 Implementar la rutina de escritura en flash para la actualización del firmware Aplicar el proceso validado en la RAM en el paso 2.2 a la memoria flash real.
Fase 4: Desarrollo de la puerta de enlace (placa de evaluación ESP32) Objetivo: Construir el puente desde el mundo RS485 a la red doméstica.
4.1 Crear el firmware de la puerta de enlace (ESPHome) Configurar una puerta de enlace simple de MODBUS TCP a RTU en la placa de evaluación ESP32C6.
4.2 Conectar y probar la puerta de enlace con el prototipo de nodo esclavo Probar la cadena: PC (como cliente MODBUS TCP) -> WLAN -> Puerta de enlace -> RS485 -> Esclavo.
Fase 5: Integración del sistema en Home Assistant Objetivo: Hacer que el sistema sea "inteligente".
5.1 Configurar la integración de MODBUS en Home Assistant Crear los sensores y las entidades para el nodo esclavo en configuration.yaml o a través de la interfaz de usuario.
5.2 Crear paneles y automatizaciones en HA Visualización de los estados (válvula, bomba, etc.) y creación de la lógica de riego real.
5.3 Desarrollar un script de Python para la actualización de firmware en HA Implementación de la carga basada en fragmentos como un script que se puede llamar desde HA.
Fase 6: Montaje y puesta en marcha Objetivo: Instalar el sistema terminado.
6.1 Construir y probar todos los nodos esclavos necesarios Probar cada esclavo individualmente con el PC a través de un adaptador USB y configurar la dirección MODBUS.
6.2 Instalación final y cableado del sistema Instalación de los componentes en el cobertizo, cableado del bus RS485.
6.3 Prueba y calibración general del sistema Calibrar el sensor de nivel, comprobar los tiempos de funcionamiento de las válvulas, probar el comportamiento a prueba de fallos.