Cómo programar un servidor web ESP32 usando el Arduino IDE
Interconectar con un microcontrolador a través de una red Wi-Fi para un servidor web de Arduino era antes una tarea bastante exótica. Hoy en día puedes configurar un servidor web local ESP32 en solo unos minutos usando una placa de desarrollo ESP32 y el Arduino IDE.
Para esta demostración, necesitarás un Adafruit ESP32 Feather, además de acceso a una red Wi-Fi que opere a 2.4 GHz. Programaremos el ESP32 usando un Arduino 2.0 IDE. Un imán, un LED, y un resistor también se emplean, pero son opcionales.
Preparación del software del servidor web ESP32
Comience la configuración del servidor web ESP32 instalando el IDE de Arduino 2.0. Para permitir que esto funcione con dispositivos ESP32, abra el cuadro de diálogo Arduino IDE > Preferencias y agregue esta línea al campo de URLs adicionales del gestor de placas:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Navegue a Herramientas > Placa > Gestor de placas, y busque “esp32”. Instale la definición de placa “esp32 by Espressif Systems” que aparece y podrá programar placas ESP32, además de acceder a una variedad de ejemplos.
Control de servidor LED
Conecta tu placa de desarrollo ESP32 Feather a tu computadora a través de USB y selecciona el puerto adecuado en el menú desplegable a la derecha del icono de depuración. Una vez seleccionado, se te presentará una lista de placas. En este caso, escribe Adafruit esp32 y selecciona la opción Adafruit ESP32 Feather que aparece.
Navega a Archivo > Ejemplos > WiFi y carga SimpleWiFiServer. Modifica las líneas de código 30 y 31 para incluir tu SSID y contraseña reales. Asegúrate de estar accediendo a una red de 2.4 GHz si existen múltiples opciones. Presiona el botón de carga, y se compilará y enviará el programa a tu placa.
Una vez programada, la ESP32 Feather intentará conectarse a tu red. Abre el monitor serial en el Arduino IDE (icono en la esquina superior derecha) y configúralo a 115200 baudios. Listará una dirección IP para acceso, aunque puede que necesites reiniciar y/o desplazarte hacia abajo para que se muestre. Navega a la dirección IP listada en tu navegador, y serás recibido con dos líneas de texto y enlaces que te invitan a encender o apagar el pin 5.
Puedes conectar un LED/resistor al pin 5 (como se muestra en la primera imagen) para permitir que el código funcione tal cual. Alternativamente, puedes configurarlo al LED integrado para evitar esta pequeña complicación de hardware. Para hacerlo, sustituye LED_BUILTIN por [pin] 5 en las líneas 38, 103 y 106, y se iluminará sin ningún hardware externo. Opcionalmente, también puedes cambiar “LED on pin 5” a “builtin LED” en las líneas 87 y 88 para que la interfaz de usuario sea precisa. Vuelve a cargar para permitir que los cambios surtan efecto.
Sensores de efecto Hall para su servidor web ESP32
El control remoto es genial, pero ¿qué quieres que detecte tu servidor web ESP32 en una ubicación remota? Aquí aprovecharemos el sensor de efecto Hall incorporado del módulo ESP32-WROOM-32E para mostrarnos los campos magnéticos cercanos.
Agrega las siguientes líneas de código directamente debajo de la función client.print en la línea 88:
int val = 0;
val = hallRead();
client.print("estado del imán ");
client.print(val);
Este código establece una variable “val” en la que se almacenan las lecturas del efecto Hall. Lee el sensor Hall integrado e imprime los resultados en el navegador web del cliente. Ten en cuenta que este es un valor analógico que depende de la dirección del campo.
Para probar, sube el código a tu ESP32 Feather y apunta tu navegador a la dirección IP correcta. Ahora notarás una tercera línea que muestra las lecturas del campo magnético.
Coloca un imán encima del módulo ESP32-WROOM-32E y luego actualiza tu navegador. Este valor se actualizará dependiendo del campo magnético presente. Aún puedes encender y apagar las luces siguiendo los enlaces de la página o simplemente navegando a las direcciones correspondientes, pero ahora esta acción también actualizará el valor del campo magnético.
Avanzando más con el ESP32
Este artículo describe cómo configurar un servidor web muy simple con Arduino usando una placa de desarrollo ESP32 y una red Wi-Fi. Las capacidades Wi-Fi del ESP32 permiten el acceso a la nube y a Internet en general con la configuración adecuada. Este módulo puede emplearse en una amplia gama de aplicaciones de consumo, DIY y prototipos.
Antes de crear tu servidor web ESP32 en Arduino IDE, echa un vistazo a la gran selección de productos de fabricantes líderes en la industria en Arrow.com, como los siguientes, para comenzar.
Etiquetas de artículo