El ESP32 como servidor web
Una de las capacidades más impresionantes del ESP32 es poder actuar como servidor web HTTP, sirviendo páginas HTML, JavaScript y CSS directamente desde su memoria flash. Cualquier dispositivo conectado a la misma red WiFi puede acceder a la interfaz web del ESP32 ingresando su dirección IP en el navegador.
Consigue tu ESP32 en Especificar.cl y tendrás un servidor web en minutos.
Librería AsyncWebServer
- Instala ESPAsyncWebServer y AsyncTCP desde el Gestor de Librerías
- AsyncWebServer server(80) crea el servidor en el puerto 80
- server.on("/", HTTP_GET, handler) define rutas y sus manejadores
- La ventaja de Async: atiende múltiples clientes simultáneamente sin bloquear
- Sirve archivos HTML desde SPIFFS (el sistema de archivos de la flash del ESP32)
Página HTML con botón para LED
El ESP32 sirve una página con dos botones: "Encender LED" y "Apagar LED". Al hacer clic, el navegador envía una petición GET a /led/on o /led/off. El handler del ESP32 activa o desactiva el GPIO 2 (LED integrado) y responde con el estado actual. La página se actualiza automáticamente usando JavaScript fetch() sin recargar la página completa (AJAX).
Mostrar datos de sensores en tiempo real
Con Server-Sent Events (SSE) el ESP32 puede enviar actualizaciones de temperatura al navegador cada segundo sin que el cliente haga peticiones. La página muestra los datos actualizándose en tiempo real, como un dashboard profesional. El ESP32 lee el DHT22 y envía los datos por SSE a todos los navegadores conectados simultáneamente.