Conectar el ESP32 a una red Wi-Fi
Tu primer proyecto IoT: obtén la IP de tu placa paso a paso
Introducción
Ahora que sabemos por qué el ESP32 es el rey del IoT, vamos a encender su mayor superpotencia: la conectividad Wi-Fi. Conectar un microcontrolador a tu red doméstica es el primer paso para cualquier proyecto Smart Home, datalogger en la nube o control remoto por móvil.
En este tutorial te enseñaremos cómo escribir el código básico para que tu ESP32 se conecte al Wi-Fi de tu casa y te muestre su dirección IP por pantalla. Este ejercicio es el "Hola Mundo" del Internet de las Cosas.
💡 Prerrequisito: Configurar Arduino IDE para ESP32
Antes de poder subir código a tu ESP32, tu Arduino IDE necesita saber cómo compilarlo. Por defecto, el IDE solo conoce placas Arduino.
- Abre Arduino IDE. Ve a Archivo > Preferencias (File > Preferences).
- En el campo "URLs adicionales del Gestor de Tarjetas", añade esta URL:
https://dl.espressif.com/dl/package_esp32_index.json(Si ya tenías la del ESP8266, separa ambas con una coma). - Haz clic en OK. Luego ve a Herramientas > Placa > Gestor de Tarjetas.
- Busca "esp32", selecciona la de Espressif Systems y haz clic en Instalar.
- Una vez instalado, ve a Herramientas > Placa y selecciona "ESP32 Dev Module" (o el modelo exacto que tengas).
Si no haces esto, el código de este tutorial te dará errores de compilación porque la librería WiFi.h no existe para las placas AVR de Arduino.
Código de Arduino: Conexión Wi-Fi Básica
Ahora vamos a escribir el script más simple posible. Este código intentará conectarse a tu red, mostrará puntos en el Monitor Serie mientras conecta, y cuando lo haga, imprimirá la dirección IP que le ha dado tu router.
Fíjate que el loop() está vacío. Esto es correcto: una vez conectado, el ESP32 mantiene la conexión internamente de forma automática.
Explicación del Código paso a paso
Este código introduce tres conceptos fundamentales de la programación IoT:
- Librería WiFi.h: Esta librería viene preinstalada cuando configuras la placa ESP32 en el IDE. No necesitas descargarla de internet. Contiene todas las funciones para controlar el módulo radio del chip.
- Variables ssid y password: Son cadenas de texto (char*). Aquí debes poner exactamente el nombre de tu red y la contraseña. Si la contraseña tiene caracteres especiales, ponla tal cual.
- El bucle while (WiFi.status() != WL_CONNECTED): Esta es la parte crítica. La función
WiFi.status()devuelve un número. Si devuelveWL_CONNECTED, significa que el router le ha dado una IP. Si devuelve otro número, está intentando conectar. El bucle imprime puntos ("...") en el Monitor Serie para que sepas que no se ha quedado colgado. Cuando conecta, sale del bucle y ejecuta las líneas delSerial.println. - WiFi.localIP(): Esta función pregunta al ESP32: "¿Qué dirección IP me ha dado mi router?". Imprimir esta IP es vital. Sin ella, no podremos acceder a él desde nuestro navegador web en los siguientes proyectos.
⚠️ Errores Comunes y Troubleshooting
Si tu ESP32 no conecta o se queda imprimiendo puntos infinitos, revisa estas causas:
- SSID o Contraseña incorrectos: Asegúrate de que las mayúsculas/minúsculas del nombre del Wi-Fi son exactas.
- Red de 5GHz: El ESP32 original NO SOPORTA redes Wi-Fi de 5GHz. Solo conecta en la banda de 2.4GHz. Si tu router es "Dual Band" y tiene el mismo nombre para 2.4 y 5G, el ESP32 debería auto-conectar al 2.4, pero si solo emites 5G, nunca conectará.
- Monitor Serie a velocidad incorrecta: En la ventana del Monitor Serie (la lupa), asegúrate que la velocidad de baudios abajo a la derecha está en 115200 (no en 9600 como usábamos en Arduino UNO).
- Placa seleccionada mal en IDE: Verifica en Herramientas > Placa que tienes seleccionada "ESP32 Dev Module", no "Arduino Uno".
🛒 Materiales para este proyecto
| COMPONENTE | DESCRIPCIÓN | ENLACE |
|---|---|---|
| ESP32 DevKit V1 | Placa con Wi-Fi y Bluetooth integrados, la que usamos en este tutorial. | VER EN AMAZON |
| Cable USB (Micro-USB o USB-C) | Para programar y alimentar el ESP32 desde el ordenador. | VER EN AMAZON |
🎥 Vídeo relacionado
❓ Preguntas frecuentes
Conclusión
Conectar un ESP32 a Wi-Fi requiere apenas 10 líneas de código, pero abre un universo de posibilidades. Saber la IP que te devuelve WiFi.localIP() es la llave maestra: con ella, podremos crear un Servidor Web dentro del propio ESP32 para controlar cosas desde tu móvil.
Si quieres saber qué placa es la mejor para empezar este tipo de proyectos, no olvides leer nuestra comparativa Arduino vs ESP32: ¿Qué placa debes elegir? (⚠️ URL estimada — confírmame la real).
Comentarios
Publicar un comentario