Módulo 1

Historia y evolución de los microcontroladores ESP8266 → ESP32

Introducción al ESP32 y su Ecosistema

ESP32 Mecatrónica IoT UNAM

Introducción a los Microcontroladores ESP

Los microcontroladores ESP8266 y ESP32, desarrollados por Espressif Systems, han revolucionado el mundo de la electrónica embebida y la mecatrónica. Estos chips de bajo costo con capacidades WiFi completas han democratizado el acceso al Internet de las Cosas (IoT) y han abierto nuevas posibilidades en sistemas de automatización y robótica.

ESP8266 (2014)
  • WiFi integrado
  • Bajo costo
  • 32-bit RISC
  • 80/160 MHz
ESP32 (2016)
  • WiFi + Bluetooth
  • Doble núcleo
  • Más periféricos
  • 240 MHz

Especificaciones Técnicas del ESP32

El ESP32 es un microcontrolador de 32 bits con arquitectura de doble núcleo Xtensa LX6, diseñado para aplicaciones de bajo consumo energético y alta performance. Sus características lo convierten en la elección ideal para proyectos de mecatrónica e IoT.

Características Principales

  • Procesador Dual-core 32-bit
  • Frecuencia 240 MHz
  • RAM 520 KB
  • Flash 4-16 MB
  • WiFi 802.11 b/g/n
  • Bluetooth 4.2 BR/EDR/BLE
  • GPIO 34 pines
  • ADC 18 canales

Primer Programa: Conexión WiFi

El ESP32 se puede programar fácilmente utilizando el Arduino IDE. A continuación, te mostramos un ejemplo básico para conectar tu ESP32 a una red WiFi:

C++ - Arduino
#include 

// Credenciales de red WiFi
const char* ssid = "TU_SSID";
const char* password = "TU_PASSWORD";

void setup() {
  // Inicializar comunicación serie
  Serial.begin(115200);
  delay(1000);
  
  // Mostrar información del chip
  Serial.println("\n=== ESP32 WiFi Connection ===");
  Serial.printf("Chip Model: %s\n", ESP.getChipModel());
  Serial.printf("Chip Revision: %d\n", ESP.getChipRevision());
  Serial.printf("CPU Frequency: %d MHz\n", ESP.getCpuFreqMHz());
  
  // Iniciar conexión WiFi
  WiFi.begin(ssid, password);
  Serial.print("Conectando a WiFi");
  
  // Esperar conexión
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  // Mostrar información de conexión
  Serial.println("\n¡Conectado a WiFi!");
  Serial.printf("SSID: %s\n", WiFi.SSID().c_str());
  Serial.printf("IP: %s\n", WiFi.localIP().toString().c_str());
  Serial.printf("MAC: %s\n", WiFi.macAddress().c_str());
  Serial.printf("RSSI: %d dBm\n", WiFi.RSSI());
}

void loop() {
  // Verificar conexión cada 30 segundos
  if (WiFi.status() == WL_CONNECTED) {
    Serial.printf("Conexión activa - RSSI: %d dBm\n", WiFi.RSSI());
  } else {
    Serial.println("Conexión perdida, reintentando...");
    WiFi.reconnect();
  }
  
  delay(30000);
}

Ejercicios Prácticos

1

Conexión WiFi Básica

Principiante 10 min

Objetivo: Conectar el ESP32 a tu red WiFi doméstica y mostrar información de conexión.

Materiales:

  • ESP32 DevKit
  • Cable USB
  • PC con Arduino IDE
  • Red WiFi disponible
2

Scanner de Redes WiFi

Intermedio 15 min

Objetivo: Programar el ESP32 para escanear y mostrar todas las redes WiFi disponibles.

Conceptos: Exploración de redes, RSSI, encriptación

Aplicaciones en Mecatrónica

¿Por qué ESP32 en Mecatrónica?

En sistemas mecatrónicos, la comunicación inalámbrica y la conectividad IoT son fundamentales para:

  • Monitoreo remoto de sistemas
  • Control desde dispositivos móviles
  • Almacenamiento en la nube
  • Análisis de datos en tiempo real
  • Mantenimiento predictivo
  • Integración con sistemas existentes
Ejemplos de Aplicación
Robótica Móvil
Control remoto y telemetría
Domótica
Automatización del hogar
Agricultura 4.0
Sensores y actuadores inteligentes

Referencias y Recursos Adicionales