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 elementos de seguridad para el autocierre de las electroválvulas en caso de fallo eléctrico, ya que el sistema está diseñado 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 probar el programador, solo se necesitan tres componentes: una placa ESP32-C3-Supermini, una instalación de HomeAssistant en la red WiFi y un broker MQTT.
Nota
En una próxima versión de la placa PCB, se pretende integrar 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, por lo que 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 electroválvula 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 específicas y del ESP32 Arduino Core, lo que puede complicar el proceso. Para facilitar una primera evaluación y puesta en funcionamiento, se ha generado una imagen de firmware precompilada. Una vez cargada esta imagen, se puede configurar el programador de forma sencilla mediante la consola serie, concretamente es posible:
Configurar 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 propuesta de organización de los controles en un panel de control de HomeAssistant tal y como se muestra en las siguientes capturas.
Panel de control del programador en HomeAssistant
Panel de configuración del programador en HomeAssistant
Muestra de montaje y uso
El programador se ha probado durante más de un año con el montaje que se 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
Montaje completo
Caja estanca con el programador
Interior de la caja estanca
Reverso de la tapa de la caja
Caja estanca con el regulador solar y la batería