Servidor Web Arduino usando ESP8266

Servidor web Arduino usando ESP8266

Este tutorial demuestra cómo crear un servidor web usando Arduino y ESP8266 que se actualiza con AT Firmware. Los módulos WiFi ESP8266 vienen con firmware de comando AT preinstalado. Antes de continuar con este tutorial, puedes aprender los conceptos básicos de ESP8266 y los comandos AT para configurarlo como servidor web en los siguientes artículos.

Introducción a ESP8266 y servidor web usando ESP8266.

Aquí conectaremos Arduino UNO a ESP8266 usando comunicación serial y programación Arduino para manejar comandos AT.

El código maneja la inicialización del ESP8266 en la función de configuración, como

  • Reinicie el módulo.

  • Configúrelo como punto de acceso.

  • Imprime la dirección IP del módulo.

  • Configúrelo como servidor en el puerto 80 y para múltiples conexiones.

Parpadeando nuevamente con el firmware AT:

Puede omitir este paso si es nuevo en ESP8266 y ha comprado el módulo recientemente, ya que los módulos ESP8266 vienen con firmware de comando AT precargado. Si ha utilizado anteriormente el ESP8266 con firmware NodeMCU y script LUA, debe actualizar con el firmware del comando AT más reciente antes de continuar con el tutorial.

Esta parte de este tutorial le dará una idea sobre cómo actualizar el nuevo firmware AT para el módulo ESP. Puede descargar el firmware AT aquí.

Puede utilizar el convertidor USB-TTL para actualizar ESP8266 con este firmware.

Para obtener instrucciones detalladas sobre cómo actualizar el ESP8266, consulte este artículo. En este artículo encontrará detalles sobre cómo actualizar el ESP8266 con NodeMCU. Usaremos el mismo software para actualizar el firmware AT.

Conexiones para modo Flash:

Los detalles de conexión normales son los siguientes:

módulo wifi

USB-TTL

vcc

3,3 V

tierra

tierra

Texas

RX

RX

Texas

CH_PD

Conectado a 3,3 V para permitir la inicialización del firmware del chip

No olvide tirar CH_PD HIGH, no recibirá respuesta del módulo si no lo hace.

Además de las conexiones anteriores. Para ingresar al modo flash del firmware, necesitamos realizar una conexión adicional, la forma más sencilla es utilizar una placa de pruebas para ello.

ESP-01 GPIO0 – Conexión desplegable a GND

Puede seguir todos los pasos de este tutorial para actualizar el ESP8266, excepto que debe elegir la pestaña Configuración y hacer clic en el pequeño símbolo de engranaje en el primero y navegar hasta el firmware AT que descargó.

Figura 1: Captura de pantalla del firmware AT

Y haga clic en el botón Flash para flashear. Puede comprobar el funcionamiento enviando comandos AT.

Arduino a ESP8266 mediante comunicación serie:

Vea cómo configurar Arduino para comunicarse con el ESP8266.

El cableado es muy similar al FTDI.

Arduino 3.3V a ESP8266 VCC
Pin 3 de Arduino para ESP8266 RX
Pin 2 de Arduino para ESP8266 TX
Arduino GND a ESP8266 GND

Puede utilizar un boceto simple de entrada y salida en serie. Para comprobar el funcionamiento.

#incluir

SoftwareSerial ESPserial(2, 3); //RX Texas

configuración nula

{

Serie.begin(9600); //comunicación con la computadora host

//mientras (!Serial) { ; }

// Inicia el software serial para la comunicación con el ESP8266

ESPserial.begin(9600);

Serie.println(“”);

Serial.println(“Establezca NL y CR en el monitor serie.”);

Serial.println(“Listo”);

Serie.println(“”);

}

bucle vacío

{

// escucha la comunicación ESP8266 y luego la graba en el monitor serie

if (ESSerial.disponible) {Serial.write(ESSerial.read); }

// escucha la entrada del usuario y la envía a ESP8266

if (Serial.disponible) { ESPserial.write(Serial.read); }

}

Una vez que todo esté configurado, abra el monitor serie y establezca la velocidad en baudios en 9600, debería recibir el mensaje de bienvenida.

Figura 2: Captura de pantalla del terminal serie Arduino

Servidor web Arduino:

El servidor web se puede crear configurando el ESP8266 como punto de acceso y se pueden conectar otros dispositivos. Vea el artículo detallado sobre el servidor web aquí.

Nuestro objetivo es enviar todos los comandos Arduino AT en el orden correcto para convertir el ESP8266 en un AP y permitir que otros dispositivos accedan a él y lo controlen.

Aquí estamos creando una función en el código Arduino para enviar los comandos AT y recibir las respuestas de los comandos.

String sendData (comando de cadena, tiempo de espera constante int, depuración booleana)

Comando de cadena: cargará el comando que se enviará.

Timeout: tiempo máximo de espera para una respuesta.

Depurar: para conocer el estado del ESP8266.

Cuando hay una solicitud de datos, si en los datos seriales está la cadena +IPD, entonces las Respuestas HTTP que son Códigos HTML se envían en tiempo real para crear una página con el texto “HelloWorld” y un Botón “LED1” que se programa para alternar el LED incorporado del Arduino. Después de cargar el código, abra el monitor serie Arduino IDE. Puede ver las respuestas del módulo ESP8266.

Conéctese al punto de acceso ESP8266.

Fig. 3: Captura de pantalla de puntos de acceso Wi-Fi

Es posible que vea una página como esta cuando navegue hasta la dirección IP impresa en el puerto serie.

Fig. 4: Captura de pantalla de la página web alojada en Arduino Web Server

Haga clic en el botón "LED1" para alternar el LED incorporado en Arduino UNO.

También puedes agregar botones y controlar cualquier número de pines replicando el código.

Mira este vídeo

Volver al blog

Deja un comentario

Los comentarios deben ser aprobados antes de su publicación.