Introducción y características
El programador de riego está desarrollado con Arduino para el microcontrolador ESP32. La placa escogida es una ESP32-C3-Supermini y es posible probar el funcionamiento del programador únicamente disponiendo de dicha placa.
Para su despliegue completo se ha diseñado una placa PCB que permite conectar y accionar 4 electroválvulas. Este primer diseño, requiere una placa adicional con 4 relés mecánicos para conmutar las electroválvulas. Además, estos relés actúan como elemento de seguridad para el auto-cierre de las electroválvulas en caso de fallo eléctrico, puesto que el sistema está pensado para funcionar con batería.
El programador se controla y se programa desde HomeAssistant usando la integración MQTT-Discovery. Esta integración hace que el dispositivo y los controles se añadan automáticamente a HomeAssistant una vez conectado el programador a la red Wifi y al broker MQTT.
Para poder probar el programador se necesitan sólo tres componentes: una placa ESP32-C3-Supermini, una instalación de HomeAssistant en su red Wifi y un broker MQTT.
Nota
En una próxima versión de la placa PCB se pretende incluir los relés para evitar el cableado necesario en la versión actual.
Características principales
Algunas de las características del programador son opcionales así, no es necesario conectar todos los componentes hardware. A continuación se detallan las características de la versión actual indicando las opcionales:
Configuración automática en HomeAssistant mediante MQTT-Discovery
Interruptores de apertura y cierre desde HomeAssistant de las electroválvulas.
10 programas de riego configurables mediante: hora/minutos de inicio, duración y ciclo (en días).
Zona horaria configurable.
Medidor de voltaje de la batería. (Opcional)
Calibración del sensor de voltaje de la batería de 12V. (Opcional)
La pantalla OLED SSD1306 de 0.96 pulgadas para mostrar información del estado del programador. (Opcional)
Dos pulsadores para control manual del sistema. (Opcionales)
Led indicador de operación, activo cuando alguna electróvalvula está abierta. (Opcional)
Actualizaciones de firmware OTA.
El código fuente está disponible para compilarlo, pero se requieren versiones específicas de algunas librerías y de ESP32 Arduino Core que complican la compilación. Para facilitar una primera la evaluación y puesta en funcionamiento, se ha generado una imagen de firmware precompilada. Una vez cargada esta imagen se puede configurar el programador mediante la consola serie de forma sencilla y establecer lo siguiente:
Configurar de la red para múltiples Wifi.
Configurar la conexión con el broker MQTT.
Advertencia
La implementación de las actualizaciones de firmware OTA están operativas pero no terminadas en la versión actual.
HomeAssistant
Tras configurar correctamente el programador y conectarlo a la red, aparecerá en el administrador de Dispositivos y Servicios de HomeAssistant un nuevo dispositivo con todos los controles.
En el proyecto se incluye una posible organización de los controles en un panel de control de HomeAssistant tal y como se muestra en las siguientes capturas. Este ejemplo está disponible como configuración en formato YAML y es fácil de añadir.
Muestra de montaje y uso
El programador se ha probado durante más de un año con el montaje se que presenta a continuación, en un vídeo y diversas fotografías. En el vídeo se muestra el programador funcionando en modo manual.
Ejemplo de uso manual