Cómo conectar el módulo ESP8266 a WiFi

Hemos visto en proyectos anteriores una introducción al módulo WiFi ESP8266, cómo comenzar a trabajar con ESP8266 y Arduino, cómo es la configuración de los pines del ESP8266 ESP-01 y cómo programar el módulo ESP8266 usando Arduino como interfaz USB.

También vimos cómo instalar el firmware (Firmware de comandos AT) en la ROM del Módulo WiFi ESP8266.

Lo que no hemos visto hasta ahora (y no es menos importante) es cómo conectar el ESP8266 a una red WiFi, y es lo que haremos en este proyecto, para poder usar usarlo en nuestros proyectos IoT y en otros proyectos basados en Wi-Fi.

Introducción

El módulo WiFi ESP8266 (ESP-01) tiene mucha aceptación en la comunidad maker ya que permite a dispositivos como Arduino conectárse a Internet, tiene un tamaño diminuto, es muy fácil de usar y además es muy barato.

El Módulo WiFi ESP8266 puede conectarse a cualquier microcontrolador (como Arduino o 8051) a través de UART y con la ayuda de los comandos AT, el microcontrolador puede controlar el ESP8266 (conectarse a WiFi, actualizar el firmware, etc.).

Por lo tanto, para usar el Módulo WiFi del ESP8266 en nuestros proyectos relacionados con Internet, necesitamos primero conectar el ESP8266 a WiFi, para luego acceder a él desde Internet.

Antes de entrar en los detalles de cómo conectar ESP8266 a WiFi, es necesario conocer y comprender los diferentes modos de operación WiFi del Módulo ESP8266.

Modos de operación WiFi del ESP8266

Hay tres modos de operación WiFi en el módulo WiFi ESP8266:

  • Station Mode (STA)
  • Access Point (AP)
  • AP + Station

Station Mode (STA)

En el modo de Station (STA), el módulo WiFi ESP8266 se conectará a una red WiFi que ya está configurada por un punto de acceso, como un router WiFi.

Access Point (AP)

El segundo modo de funcionamiento es el modo de punto de acceso (AP). En este modo, el módulo ESP8266 actúa como punto de acceso y proporciona una red WiFi a otras estaciones (como móviles o portátiles).

Por lo general, un punto de acceso puede proporcionar Internet a sus estaciones a través de una red alámbrica, pero como no hay una interfaz alámbrica, este modo de punto de acceso se denomina Soft Access Point.

El módulo ESP se configura primero como modo Soft AP antes de configurarlo en el modo Estación. Esto es útil cuando se desconoce el nombre de usuario (SSID) y la contraseña de la red WiFi.

Soft AP + Station

En el tercer modo, el módulo WiFi ESP8266 está configurado para actuar tanto en el modo Station como en el modo Access Point.

Todos estos modos de operación se configuran usando comandos AT. En este tutorial, hablaremos sobre los comandos AT que se requieren para conectar el ESP8266 a la red WiFi. En un tutorial separado, veremos algunos de los Comandos AT del ESP8266 más importantes y útiles.

Esquema de conexión del ESP8266 al Arduino Uno

Conexión ESP8266-01 a Arduino Uno

Componentes requeridos

¿Cómo conectar el ESP8266 a la red WiFi usando los comandos AT?

Antes de ver cómo conectar el ESP8266 a la red WiFi, debemos recordar que el módulo ESP8266 está cargado con el Firmware de comandos AT.

Así que, después de conectar el ESP8266 en Modo de Programación y asegurarse de que tenemos cargado el AT Commands Firmware, conectamos el Arduino al ordenador y abrimos el Monitor Serie.

Para este ejemplo se configuró la tasa de baudios a 115,200 y se seleccionó la opción «Both NL & CR» en el Serial Monitor de Arduino. Cambia estos ajustes según tus necesidades.

Configuración del ESP8266 con comandos AT

Primero, escribe el siguiente comando para probar si la comunicación es exitosa o no.

[su_note]AT[/su_note]

Entonces, podrás reiniciar el módulo ESP8266 usando el siguiente comando.

[su_note]AT+RST[/su_note]

Comando AT Restart - Módulo WiFi ESP8266

Paso siguiente es necesario establecer el modo de operación como Station Mode. Para ello, usa el siguiente comando.

[su_note]AT+CWMODE=1[/su_note]

El modo de operación se ha establecido como Station Mode (STA). Ahora, para ver la lista de todas las redes WiFi cercanas, usa el comando que se muestra a continuación.

[su_note]AT+CWLAP[/su_note]

ESP8266 comando AT listar redes

Para unirte a una red, usa el siguiente comando.

[su_note]AT+CWJAP=»SSID», «PASSWORD»[/su_note]

En lugar de SSID, escribe el nombre de tu red WiFi y en lugar de CONTRASEÑA escribe la contraseña de acceso a la red.

ESP8266 comando AT login

En pocos segundos, obtendrás una respuesta de confirmación como WIFI Conectado. Para comprobar la dirección IP del módulo WiFi ESP8266, escribe el comando.

[su_note]AT+CIFSR[/su_note]

Método alternativo para conectar un módulo ESP8266 a una red WiFi

Si estás cansado de teclear todos estos comandos AT para conectar el módulo WiFi ESP8266 a una red WIFi, entonces hay una forma alternativa. En este método, programaremos el Módulo WiFi ESP8266 (lo que significa que el Firmware del Comandos AT será borrado). El código para esto se muestra a continuación.

#include "ESP8266WiFi.h"

const char* ssid = "ssid"; //Ingresar SSID
const char* password = "password"; //Ingresar Password

void setup(void)
{ 
  Serial.begin(115200);
  // Coneccción a WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) 
  {
     delay(500);
     Serial.print("*");
  }
  
  Serial.println("");
  Serial.println("Conectado a WiFi");
  Serial.print("La dirección IP del Módulo ESP8266 es: ");
  Serial.print(WiFi.localIP());// Imprime la dirección IP
}

void loop() 
{
  // VACIO
}

 

NOTA: En el código, introduce los detalles de tu Red WiFi en lugar de «ssid» y «password».

Antes de programar, selecciona el «Módulo genérico ESP8266» de las placas y también selecciona el puerto COM correcto.

Ahora, conecta el GPIO0 a GND y reinicia el ESP y pulsa el botón de subir. El Módulo WiFi ESP8266 se conectará automáticamente a la red WiFi especificada y también responderá con la dirección IP.

Conclusión

En este tutorial pudimos ver cómo conectar un módulo WiFi ESP8266 a una red WiFi usando tanto comandos AT como programación. En un próximo tutorial veremos un repaso de los comandos más importantes AT del módulo ESP8266.