Encender y apagar un LED en el ESP8266 con un formulario Web


Continuamos con las entradas del ESP8266 viendo cómo encender un LED a través de un formulario Web en una página Web servida desde el ESP8266.

En la entrada anterior ya vimos cómo recibir información con el ESP8266 actuando como servidor a través de un formulario Web. Ya adelantamos que existen diversas formas de comunicar una web con el ESP8266 actuando como el servidor. Los formularios Web son una de las más sencillas pero (ni mucho menos) la mejor.

Sin embargo, estos ejemplos sencillos nos preparan para los tutoriales más avanzados que veremos más adelante, y nos permiten introducir conceptos poco a poco. Entre ellos, un ejemplo sencillo y muy típico es encender un LED a través de una sencilla página web.

El código para el programa principal queda igual que en el ejemplo anterior, solo que hemos definido el pin asociado al led integrado en la placa como salida.

Anuncio:

Por su parte, el fichero 'server.hpp' queda de la siguiente forma.

Donde vemos que hemos definido un Endpoint para '/LED' bajo el método post, que llama a la función 'handleFormLed(...)'.

En esta función obtenemos el parámetro 'status', y encendemos o apagamos el LED integrado en la placa en función del valor recibido.

Finalmente, el contenido de 'index.html' que tenemos en la carpeta 'data' y subiremos al SPIFFS es el siguiente

Donde únicamente hemos añadido dos radio button asociados al valor 'ON' y 'OFF'

Si cargamos esto en el ESP8266 veremos nuestra (aún feísima) página web, con los dos radio button y el botón de 'Send' que envía el formulario.

Si cambiamos la selección y pulsamos el botón de envío, comprobamos que recibimos los datos correctamente por el puerto serie y que, efectivamente, se enciende y se apaga el LED integrado en la placa.

¡Así de fácil! Un sencillo ejemplo que muestra cómo procesar la información recibida por el ESP8266 para ejecutar acciones en el backend.

Por supuesto, podríamos hacer cualquier otra acción, cambiar una salida, tomar una medición, actuar en un motor, o cualquier otra función. ¡Lo que necesitéis!

En la siguiente entrada veremos otro ejemplo típico, encender un LED PWM, para lo cuál añadiremos un poquito de JavaScript en la página Web servida. ¡Hasta pronto!

Descarga el código

Todo el código de esta entrada está disponible para su descarga en GitHub.

Si te ha gustado esta entrada y quieres leer más sobre ESP8266 puedes consultar la sección
tutoriales de ESP8266

Anuncio:

Previous Cómo recibir datos de un formulario web con ESP8266
Next Encender un LED con PWM por formulario Web en ESP8266
1000