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:
#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
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
#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
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