Módulo 5

Wi-Fi: Modo estación y punto de acceso

Conectividad Inalámbrica

ESP32 Mecatrónica IoT UNAM

Introducción Teórica

Wi-Fi es una tecnología de conectividad inalámbrica que permite que dispositivos electrónicos se conecten a una red local de área inalámbrica (WLAN) y accedan a internet. El ESP32, por su parte, es un microcontrolador de bajo costo con capacidades Wi-Fi y Bluetooth integradas, lo que lo hace ideal para proyectos de mecatrónica e IoT (Internet de las Cosas).

El ESP32 puede operar en dos modos de Wi-Fi: Modo Estación (STA) y Modo Punto de Acceso (AP). En el modo STA, el ESP32 se conecta a un router Wi-Fi existente, mientras que en el modo AP, el ESP32 actúa como un router Wi-Fi en sí mismo, permitiendo que otros dispositivos se conecten a él.

En el campo de la mecatrónica e IoT, el modo STA es útil para conectar dispositivos ESP32 a internet, permitiendo la recopilación y análisis de datos remotos. El modo AP, por otro lado, es útil para crear redes locales de dispositivos ESP32, permitiendo la comunicación directa entre ellos sin la necesidad de un router externo.

En la industria, el ESP32 se utiliza para una variedad de aplicaciones, desde el control de maquinaria industrial hasta la monitorización del medio ambiente. Por ejemplo, puede emplearse para recoger datos de sensores de temperatura en una planta de fabricación y transmitirlos a una estación de control remota a través de Wi-Fi.

Explicación Técnica Detallada

El ESP32 es un microcontrolador de 32 bits producido por Espressif Systems. Está equipado con Wi-Fi integrado (802.11 b/g/n), Bluetooth y una variedad de periféricos de E/S. Para programar el ESP32, podemos usar el entorno de desarrollo Arduino IDE.

Para configurar el ESP32 en modo STA o AP, debemos utilizar la biblioteca WiFi del Arduino IDE. Esta biblioteca proporciona funciones para conectarse a una red Wi-Fi existente (para el modo STA) o para crear una nueva red Wi-Fi (para el modo AP).

Aquí está un ejemplo básico de cómo configurar el ESP32 en modo STA:

C++ - Modo Estación
#include <WiFi.h>

const char* ssid = "nombre_de_tu_red";
const char* password = "contraseña_de_tu_red";

void setup() {
  Serial.begin(115200);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Conectando a WiFi...");
  }

  Serial.println("Conectado a WiFi");
}

void loop() {
  // tu código aquí
}

En este código, la función WiFi.begin() intenta conectar el ESP32 a la red Wi-Fi especificada. La función WiFi.status() se utiliza para comprobar si la conexión ha sido exitosa.

Para configurar el ESP32 en modo AP, podemos utilizar un código similar, pero en lugar de WiFi.begin(), debemos usar WiFi.softAP() para crear una nueva red Wi-Fi.

Ejercicios Prácticos Visuales

1

Crear un Servidor Web en ESP32 en Modo AP

Intermedio 30-45 min Wi-Fi AP

Objetivo: Crear un servidor web simple que se ejecuta en el ESP32 en modo AP.

Materiales
  • ESP32
  • Cables de puente
  • PC con Arduino IDE instalado
C++ - Servidor Web AP
#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "ESP32_AP";
const char* password = "12345678";

WebServer server(80);

void setup() {
  Serial.begin(115200);

  WiFi.softAP(ssid, password);

  server.on("/", []() {
    server.send(200, "text/html", "¡Hola, mundo!");
  });

  server.begin();
}

void loop() {
  server.handleClient();
}

Esquema de Conexiones: Solo se necesita el ESP32 conectado al PC mediante un cable USB.

Resultados Esperados: Al conectarte a la red Wi-Fi creada por el ESP32 desde cualquier navegador web y acceder a la dirección IP del ESP32 (que puedes obtener usando la función WiFi.softAPIP() en Arduino IDE), deberías ver un mensaje que dice "¡Hola, mundo!".

Proyecto Aplicado

Sistema de Monitorización de Temperatura y Humedad en ESP32

Objetivo: Crear un sistema de monitorización de temperatura y humedad que utilice un sensor DHT11 y un ESP32 en modo STA para enviar los datos a un servidor web.

Materiales Necesarios
  • ESP32
  • Sensor DHT11
  • Resistencia de 10KΩ
  • Cables de puente
  • Protoboard
  • PC con Arduino IDE
Procedimiento
Paso 1

Conectar el sensor DHT11 al ESP32

Paso 2

Programar el ESP32 para leer y enviar datos

Paso 3

Crear servidor web para mostrar datos

Nota: El código completo del proyecto está disponible en los recursos adicionales del curso. Este proyecto integra conceptos de conectividad Wi-Fi, lectura de sensores y creación de servicios web.

Evaluación y Troubleshooting

Problemas Comunes
  • Conexión Wi-Fi fallida:
    El ESP32 no puede conectarse a la red
  • Servidor web inaccesible:
    No se pueden visualizar los datos
  • Datos inconsistentes:
    Lecturas erróneas del sensor
Soluciones
  • Verificar que el SSID y contraseña sean correctos
  • Confirmar la dirección IP y puerto del ESP32
  • Revisar conexiones del sensor y alimentación

Criterios de Evaluación

¿El ESP32 puede conectarse a la red Wi-Fi?
¿El servidor web puede recibir y mostrar los datos?