ESP8266 Controlador de riego (5 / 6 paso)

Paso 5: Programación del sistema

La página index.php en el servidor recoge información del usuario y lo envía a un formhandler (sendcmd.php). Este archivo formatos de los datos, crea una conexión con el ESP y envía que los comandos a la zona especialmente y duración son enviados.

Esta información es enviada a la ESP a través de GET. El ESP8266 analiza este encabezado para más detalles y los GPIOs on activa o desactiva en base a esta información.

Los comandos pueden enviarse a la ESP mediante, TCP, UDP o MQTT. Todos funcionan bien. Encontrar el servidor TCP muy fiable y preferible a los demás.

Un encabezado de ejemplo: 60 min cada zona:
Haz /? zone0 = 60 & zone1 = 60 & zone2 = HTTP/60 1.1

Envío Esto detiene todas las zonas:
Haz /? dejar de HTTP/1.1

Para este proyecto tengo cuatro archivos residentes en el ESP8266 para interactuar con el servidor y controlar los pines GPIO.

  • init.lua
  • control.lua
  • servernode.lua
  • STOP.lua

El archivo servernode.lua recogerá este encabezado y llamar al archivo control.lua si lo encuentra, zona y duración superiores a 0. Llame stop.lua si parada se encuentra u omitir el encabezado si no se encuentra la zona o parada.

El archivo control.lua analizará la cabecera y a su vez cada GPIO pin en el apagado en orden y por la duración especificada.

Archivos en el servidor son:

  • index.php
  • sendcmd.php
  • lastcmd.txt

El archivo lastcmd.txt contiene el tiempo total a la ESP. Esto se utiliza el temporizador de cuenta atrás en javascript en el index.php de la semilla. El temporizador en el ESP y el script cuenta regresiva no están sincronizados, sin embargo, dentro de un minuto o dos. Lo suficientemente exacta para esta aplicación.

Los archivos anteriores están aquí: github - breagan/ESP8266-WaterController

Es importante tener en cuenta si usted relés es normalmente abiertos (NO) o normalmente cerrado (NC). Algunos relés permiten elegir, algunas son activo bajo alto o activo, lo que ocurra, es importante que los relés están abiertos cuando botas de controlador y el controlador no funciona!

Por ejemplo, GPIO16 es tiró alto cuando el controlador arranca. Puedo configurarlo para bajo en la init.lua, sin embargo en un bucle de pánico, el tiempo entre la secuencia de arranque y ajuste a la baja en el init.lua y sobre otra vez enviará suficiente voltaje para activar el solenoide y activar la zona.

Quiero cerrar deliberadamente el circuito de 24 VCA para activar las válvulas. No quiero cualquier válvula activada si el controlador pierde su poder o entra en un lazo de muerte. El valor predeterminado en todas las configuraciones imaginables, excepto cuando se envía un comando no es poder de las válvulas.

Mi relés son normalmente abiertas y disparada (cerrado) cuando se aplica el voltaje de los GPIOs. Los GPIOs utilizados son todos tirados bajo cuando se aplica energía y durante el proceso de arranque. No es necesario establecerlos en baja en el archivo init.lua pero prefiero la redundancia.

Artículos Relacionados

Conectado controlador de riego accionado por Afero

Conectado controlador de riego accionado por Afero

Administrar su sistema de riego donde quiera que vayas!Hay un lugar en mi casa donde tengo miedo a la banda de rodadura. Está en la esquina delantera del garaje, debajo de dos sombrillas, un bastón de esquí, dos Bates de béisbol y un cortasetos. Esto
Un controlador de riego que puede ser Inicio en red

Un controlador de riego que puede ser Inicio en red

Un par de semanas atrás, publiqué un gran módulo de controlador pequeño que 6 relés capaces de controlar desde un ordenador a través de una red.  Después de lo publicaron, llegué a pensar que el mismo diseño básico, con un par de cambios podría ser p
Controlador de riego

Controlador de riego

si quieres un Arduino DIY basado en controlador de riego para su jardín, este proyecto Rainmaker le puede ayudar.El rainmake puede administrar hasta cinco zonas de riego. Puede ser programado para cada día de la semana.Rainmaker se basa en plataforma
Controlador de riego frambuesa Pi

Controlador de riego frambuesa Pi

Jardinería mejora la salud y calidad de vida, nos conecta a nuestro entorno local. Además, se pueden comer frutas y verduras con muy poco costo. Pero para todos estos beneficios fantásticos, recordando al agua todavía puede tomar un asiento trasero p
ESP8266 Widget del tiempo

ESP8266 Widget del tiempo

Bienvenidos a mi nuevo proyecto de Widget del tiempo.Un widget del tiempo es una aplicación que puede descargarse en su PC, ordenador portátil o un dispositivo móvil y realiza el trabajo de proporcionar fácil acceso a la información meteorológica. Pe
Generador de gobernador

Generador de gobernador

Este es un resumen de mi proyecto de Arduino para reemplazar al gobernador defectuoso, mecánico en un generador de hogar con una versión electrónica. Esto puede no ser el clásico "cómo" del artículo, pero debe tener buena información sobre el pa
Válvula de manguera remota controlada

Válvula de manguera remota controlada

no estoy seguro de cómo muchas aplicaciones prácticas se pueden encontrar para este dispositivo, pero la idea es sonida y era una construcción rápida y fácil así que pensé compartiría con otros.Tenemos un gato al aire libre, y hace poco me di cuenta
OpenSprinkler

OpenSprinkler

OpenSprinkler Pi (OSPi) es un aspersor de código abierto / tablero de extensión de riego para el Raspberry Pi. Es una solución fácil y de bajo costo para transformar un Raspberry Pi en un controlador de riego capaz con 8 zonas de césped y jardín de r
Sistema de riego de la planta de WiFi ESP8266

Sistema de riego de la planta de WiFi ESP8266

En este tutorial mostramos cómo construir planta sistema de riego con ESP8266 Arduino y EasyIoT servidor (Windows o frambuesa). Con interfaz web que podemos controlar remotamente el agua bomba y suelo de la humedad. Ahora puedes ir de vacaciones y re
Controlador de LED RGB de servidor Websocket + ESP8266

Controlador de LED RGB de servidor Websocket + ESP8266

¡Hola mundo!En este instructable voy a ilustrar el uso de tomas de la web con el microcontrolador ESP8266. Con este proyecto puede utilizar un explorador web para ejecutar un cliente web toma control que RGB LED conectado a la salida de los pernos en
MAX7219 - controlador del módulo de exhibición de LED de 8 dígitos para ESP8266

MAX7219 - controlador del módulo de exhibición de LED de 8 dígitos para ESP8266

MAX7219 8 dígitos LED exhibición módulo es uno de lo módulo de pantalla más populares y ampliamente disponibles, utilizado ya en muchos proyectos de MCU de 16/08/32 bits, ahora es momento de ver su funcionamiento también en el ecosistema ESP8266 CBDB
DIY Apple Watch VLC controlador ESP8266, Arduino

DIY Apple Watch VLC controlador ESP8266, Arduino

Su un proyecto casero para hacer mi propia aplicación de controlador de los medios de comunicación.Mi portátil conectado a la tv y soy demasiado perezoso, tan hecha una aplicación de control VLC.Sí sé im, hay un oficial de la aplicación VLC en tienda
ESP8266 - registrador de datos EEPROM I2C externa - AT24C32/64 controlador

ESP8266 - registrador de datos EEPROM I2C externa - AT24C32/64 controlador

Como es posible que visto ya en nuestro anterior artículo sobre el DS3231 RTC módulo, hemos identificado a bordo un chip EEPROM, 32 k AT24C32 uno. Es independiente del circuito RTC y conectados en el bus I2C, un compañero perfecto para un sistema de
ESP8266 Gestión de archivo remoto WiFi OTA

ESP8266 Gestión de archivo remoto WiFi OTA

He estado trabajando con reguladores micro ESP8266 lo suficiente ahora para tener un número de ellos en mi entorno. Tengo un par setup prueba mi broker(s) MQTT. Tengo un par envío de temperatura, humedad y presión barométrica a la nube. Tengo algunos