Arduino Nano ESP32 - Controla un LED a través de la web
En este tutorial, vamos a aprender cómo controlar un LED a través de una interfaz web usando un navegador en una PC o un teléfono inteligente, utilizando el Arduino Nano ESP32. En detalle, el Arduino Nano ESP32 será programado para funcionar como un servidor web. Supongamos que la dirección IP del Arduino Nano ESP32 es 192.168.0.3. Aquí están los detalles de cómo funciona:
- Cuando ingresas 192.168.0.3 en el navegador web, el navegador envía una solicitud al ESP32, y el Arduino Nano ESP32 responde con una página web que contiene el botón de encendido/apagado para controlar el LED.
- De igual manera, al hacer clic en el botón "Encender" en la página web o escribir 192.168.0.3/led1/on en el navegador, el Arduino Nano ESP32 enciende el LED y responde con la página web de control.
- De igual manera, al hacer clic en el botón "Apagar" en la página web o escribir 192.168.0.3/led1/off en el navegador, el Arduino Nano ESP32 apaga el LED y responde con la página web de control.

Aprenderemos a través de dos códigos de ejemplo:
- El contenido HTML está incrustado en el código de Arduino Nano ESP32
- El contenido HTML se separa del código de Arduino Nano ESP32 y se coloca en un archivo .h
El tutorial ofrece los fundamentos que puedes personalizar de forma rápida e innovadora para lograr lo siguiente:
- Controlando varios LEDs a través de la web
- Rediseñando la interfaz de usuario web (UI)
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Buy Note: Use the LED Module for easier wiring. It includes an integrated resistor.
Acerca de LED y Arduino Nano ESP32
Si no conoces LED y Arduino Nano ESP32 (pinout, cómo funciona, cómo programar ...), aprende sobre ellos en los siguientes tutoriales:
Diagrama de Cableado

This image is created using Fritzing. Click to enlarge image
Código Arduino Nano ESP32 - El contenido HTML está incrustado en el código Arduino Nano ESP32
Pasos R\u00e1pidos
Para empezar con Arduino Nano ESP32, siga estos pasos:
- Si eres nuevo en Arduino Nano ESP32, consulta el tutorial sobre cómo configurar el entorno para Arduino Nano ESP32 en el IDE de Arduino.
- Conecte los componentes de acuerdo con el diagrama proporcionado.
- Conecte la placa Arduino Nano ESP32 a su computadora utilizando un cable USB.
- Inicie el IDE de Arduino en su computadora.
- Seleccione la placa Arduino Nano ESP32 y su puerto COM correspondiente.
- Abra el Gestor de bibliotecas haciendo clic en el icono en la barra de navegación izquierda del IDE de Arduino.
- Busque “DIYables ESP32 WebServer”, luego localice el DIYables ESP32 WebServer.
- Haga clic en el botón Instalar para instalar la biblioteca Web Server de DIYables.

- Copia el código anterior y ábrelo con Arduino IDE
- Cambia la información de WiFi (SSID y contraseña) en el código por la tuya
- Haz clic en el botón Subir en Arduino IDE para subir el código al Arduino Nano ESP32
- Abre el Monitor Serial
- Consulta el resultado en el Monitor Serial
- Verá una dirección IP, por ejemplo: 192.168.0.3. Esta es la dirección IP del servidor web Arduino Nano ESP32.
- Abra un navegador web e introduzca alguno de los tres formatos que se indican a continuación en la barra de direcciones:
- Tenga en cuenta que la dirección IP podría variar. Por favor verifique el valor actual en el Monitor Serial.
- También verá la salida que se muestra a continuación en el Monitor Serial.
- Comprobar el estado del LED
- Verás la página web de la placa Arduino Nano ESP32 en el navegador web, como se muestra a continuación

- Ahora puedes controlar el LED encendido y apagado a través de la interfaz web
Código de Arduino Nano ESP32 - El contenido HTML está separado del código de Arduino Nano ESP32
Dado que una página web gráfica contiene una gran cantidad de contenido HTML, incrustarla en el código del Arduino Nano ESP32 como antes resulta inconveniente. Para abordar esto, necesitamos separar el código del Arduino Nano ESP32 y el código HTML en archivos diferentes:
- El código de Arduino Nano ESP32 se colocará en un archivo .ino.
- El código HTML (incluyendo HTML, CSS y JavaScript) se colocará en un archivo .h.
Pasos R\u00e1pidos
- Abre el IDE de Arduino y crea un nuevo sketch. Dale un nombre, por ejemplo, newbiely.com.ino
- Copia el código de abajo y ábrelo con el IDE de Arduino
- Cambia la información de WiFi (SSID y contraseña) en el código por la tuya
- Crea el archivo index.h en Arduino IDE haciendo:
- Haz clic en el botón justo debajo del icono del monitor serie y elige Nueva pestaña, o usa las teclas Ctrl+Shift+N.
- Escriba el nombre del archivo index.h y haga clic en el botón Aceptar
- Copia el código de abajo y pégalo en index.h.
- Ahora tienes el código en dos archivos: newbiely.com.ino y index.h
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino Nano ESP32
- Accede a la página web de la placa Arduino Nano ESP32 mediante un navegador web en tu PC o teléfono inteligente, como antes. La verás similar al código anterior, como se muestra a continuación:
- Si modificas el contenido HTML en el index.h y no tocas nada en el archivo newbiely.com.ino, cuando compiles y cargues el código a ESP32, Arduino IDE no actualizará el contenido HTML.
- Para hacer que Arduino IDE actualice el contenido HTML en este caso, realiza un cambio en el archivo newbiely.com.ino (p. ej. agregar una línea en blanco, agregar un comentario...)
- Controlar múltiples LEDs a través de la web
- Rediseño de la interfaz de usuario web (UI)



※ Nota:
Puedes personalizar de forma fácil e innovadora el código anterior para lograr lo siguiente: