Ir al contenido principal

Conectar el ESP32 a una red Wi-Fi paso a paso (Primer proyecto IoT)

Conectar el ESP32 a una red Wi-Fi

Tu primer proyecto IoT: obtén la IP de tu placa paso a paso

🏷️ ESP32-IOT
Conectar el ESP32 a una red Wi-Fi 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.

  1. Abre Arduino IDE. Ve a Archivo > Preferencias (File > Preferences).
  2. 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).
  3. Haz clic en OK. Luego ve a Herramientas > Placa > Gestor de Tarjetas.
  4. Busca "esp32", selecciona la de Espressif Systems y haz clic en Instalar.
  5. 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.

wifi_conexion.ino
// Incluimos la librería nativa del ESP32 para Wi-Fi
#include <WiFi.h>

// ¡CAMBIA ESTOS DATOS POR LOS DE TU CASA!
const char* ssid = "NOMBRE_DE_TU_WIFI";
const char* password = "TU_CONTRASEÑA_WIFI";

void setup() {
  // Iniciamos comunicación serial a 115200 baudios (El ESP32 es más rápido que Arduino)
  Serial.begin(115200);
  
  // Iniciamos la conexión Wi-Fi
  WiFi.begin(ssid, password);
  
  Serial.println("Conectando al Wi-Fi...");
  
  // Este bucle espera hasta que el ESP32 se conecte realmente
  // WiFi.status() devuelve WL_CONNECTED cuando tiene IP
  while (WiFi.status() != WL_CONNECTED) {
    delay(500); // Esperamos 500ms
    Serial.print("."); // Imprimimos un punto por cada intento
  }
  
  // Si sale del bucle, significa que ¡ESTÁ CONECTADO!
  Serial.println("");
  Serial.println("¡Wi-Fi conectado exitosamente!");
  Serial.print("Dirección IP asignada: ");
  Serial.println(WiFi.localIP()); // MUY IMPORTANTE: Guarda esta IP, la usaremos en el siguiente tutorial
}

void loop() {
  // Aquí no ponemos nada. 
  // El ESP32 mantiene la conexión Wi-Fi en el fondo automáticamente.
  // Si pierde la conexión, tendrías que añadir aquí código para reconectar,
  // pero para este ejemplo básico, lo dejamos vacío.
}

Explicación del Código paso a paso

Este código introduce tres conceptos fundamentales de la programación IoT:

  1. 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.
  2. 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.
  3. El bucle while (WiFi.status() != WL_CONNECTED): Esta es la parte crítica. La función WiFi.status() devuelve un número. Si devuelve WL_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 del Serial.println.
  4. 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

Por defecto sí puede cambiar, porque la asigna tu router de forma dinámica (DHCP). Si vas a montar un proyecto permanente, lo más cómodo es configurar una IP reservada para el ESP32 desde el panel de administración de tu router, para que siempre sea la misma.

Solo la primera vez, para averiguar qué IP te ha asignado el router. Una vez la conozcas (y sobre todo si la reservas en el router), puedes acceder directamente a esa dirección desde el navegador sin volver a mirar el Monitor Serie.

Sí, el código de conexión Wi-Fi es idéntico en todas las variantes del ESP32, ya que la librería WiFi.h es común a todas. Solo tendrás que seleccionar el modelo exacto de tu placa en el menú Herramientas > Placa del IDE.

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

Entradas populares de este blog

Cómo evitar que Windows apague la pantalla o el disco duro (con gpedit)

Introducción Uno de los problemas más frecuentes en Windows es la suspensión automática del sistema, el apagado de la pantalla o la desactivación del disco duro tras unos minutos de inactividad. Aunque esto busca ahorrar energía, puede resultar frustrante si utilizas tu PC como servidor doméstico, servidor Plex, máquina de descargas o para tareas de larga duración . Si bien es posible cambiar estos ajustes desde la configuración tradicional de energía, muchas veces Windows ignora nuestras preferencias debido a directivas internas. La solución definitiva para evitar que tu ordenador se apague o suspenda es utilizar el Editor de Directivas de Grupo Local (gpedit.msc) . ⚠️ Advertencia sobre la versión de Windows El comando gpedit.msc solo está disponible de forma nativa en las ediciones Windows Pro, Enterprise y Education . Si utilizas Windows Home , esta herramienta no estará presente por defecto y deberás recurrir a la configuración convencional del Panel de Control. Paso 1...

Alarma con Arduino y Sensor Ultrasónico HC-SR04 (Tutorial paso a paso)

Introducción Crear un sistema de seguridad o detección de movimiento no tiene que ser complicado ni caro. En este tutorial vamos a construir una alarma con Arduino y un sensor de ultrasonidos (el famoso HC-SR04). Este proyecto es ideal para principiantes porque aprendes a leer sensores externos y a generar una respuesta física (encender un LED y hacer sonar un buzzer) cuando alguien se acerca demasiado. A continuación, te explico cómo funciona el sensor, qué materiales necesitas, cómo montar el circuito y te desgloso el código línea por línea para que realmente entiendas lo que estás programando. ¿Cómo funciona el Sensor Ultrasónico HC-SR04? Este sensor funciona igual que un sonar o los delfines: emite un sonido imperceptible para el humano (ultrasonido) y espera a que ese sonido choque contra un objeto y regrese (eco). Pin Trig (Trigger - Disparo): Le dice al sensor que debe "gritar" y emitir el pulso de ultrasonido. Pin Echo (Eco - Recepción): Se queda escuchando...

Instalar el driver USB a TTL PL2303HX en Windows 10 (Solución al Error Code 10)

Introducción: ¿Para qué sirve el convertidor USB a TTL? Los adaptadores USB a TTL (equipados con chips como el PL2303HX , FTDI o CP2102) son herramientas indispensables en el taller de cualquier maker, técnico o entusiasta de la electrónica. Nos permiten establecer comunicación serie UART entre un ordenador y dispositivos como Arduino, ESP32-CAM, routers, receptores de satélite o tablets . Sin embargo, conectar este tipo de cables en Windows 10 o Windows 11 suele transformarse en un dolor de cabeza. Al conectar el dispositivo, el sistema instala automáticamente el controlador más reciente y muestra un aviso de fallo con el icono amarillo de advertencia: "Este dispositivo no puede iniciar (Código 10)" . A continuación te explicamos por qué sucede y cómo solucionarlo en pocos minutos. ⚠️ Causa del fallo: Bloqueo de chips no oficiales por Prolific La inmensa mayoría de los módulos USB-TTL económicos integran una revisión o clon del chip Pr...