Workshop: Introducción al Internet de las Cosas (IoT) con ESP32


Objetivo y Contenido:

Que el participante adquiera los conocimientos fundamentales y la práctica necesaria para diseñar, programar y desplegar sistemas básicos del Internet de las Cosas (IoT) utilizando el microcontrolador ESP32 dentro del entorno de desarrollo Arduino. Al finalizar el taller, el participante será capaz de leer sensores, conectarse a una red Wi-Fi, exponer datos a través de un servidor web embebido y comunicarse con un broker MQTT en la nube, integrando hardware y software en un proyecto funcional de extremo a extremo.

Sesión 1 (1 hr.): Introducción al IoT y primer contacto con el ESP32

  • Se presentará una introducción conceptual al Internet de las Cosas, sus arquitecturas típicas y los casos de uso más representativos en la industria y la academia.
  • Se revisarán las características técnicas del microcontrolador ESP32 (doble núcleo Xtensa, Wi-Fi, Bluetooth, GPIO, ADC, PWM) y se le comparará con otros microcontroladores comunes.
  • Se instalará y configurará el entorno Arduino IDE con el soporte para tarjetas ESP32, incluyendo la selección de placa, puerto y velocidad de carga.
  • Se realizará el primer programa («Blink») y se introducirá el monitor serie como herramienta de depuración fundamental.

Sesión 2 (1 hr.): Entradas digitales y analógicas. Lectura de sensores

  • Se estudiarán los conceptos de entrada digital, entrada analógica, resolución del ADC del ESP32 y resistencias pull-up internas.
  • Se conectará un pulsador y una fotorresistencia (LDR) en una protoboard, leyendo sus estados y valores para activar indicadores LED y un zumbador.
  • Se integrará el sensor de temperatura y humedad DHT22 mediante la librería oficial, mostrando lecturas en el monitor serie.
  • Se introducirán nociones de manejo de tiempo no bloqueante con millis() para preparar el terreno hacia aplicaciones conectadas.

Sesión 3 (1 hr.): Conectividad Wi-Fi y servidor web embebido

  • Se explicará el funcionamiento de la pila Wi-Fi del ESP32 en modo estación (STA) y los pasos necesarios para conectarlo a una red existente.
  • Se construirá un servidor web embebido utilizando la librería WebServer, capaz de servir una página HTML con los valores actuales del sensor DHT22 y la LDR.
  • Se agregarán rutas (endpoints) HTTP para encender y apagar un LED de forma remota desde el navegador, ejemplificando el control bidireccional.
  • Se discutirán buenas prácticas de seguridad básica, manejo de credenciales y limitaciones del servidor embebido.

Sesión 4 (1 hr.): MQTT, integración en la nube y proyecto final

  • Se introducirá el protocolo MQTT, el modelo publicador/suscriptor y el rol del broker, utilizando el servicio público gratuito HiveMQ.
  • Se publicarán las lecturas de los sensores hacia un tópico MQTT y se visualizarán en tiempo real desde una aplicación cliente (MQTT Explorer o cliente web).
  • Se suscribirá el ESP32 a un tópico de comandos para controlar el LED y el zumbador remotamente desde Internet.
  • Se cerrará la sesión con un proyecto integrador («Estación ambiental conectada») que combina los conocimientos de las cuatro sesiones, junto con una discusión sobre escalamiento y siguientes pasos (Node-RED, Home Assistant, AWS IoT, etc.).

Metodología:

Exposiciones breves de conceptos seguidas inmediatamente de práctica guiada por el instructor sobre el hardware entregado a cada participante. Cada sesión incluye un pequeño reto que consolida el contenido visto. El cierre del taller se realiza mediante un proyecto integrador. La proporción aproximada es de 25% de teoría y 75% de práctica.

Requerimientos técnicos:

Por parte del participante: computadora portátil con al menos un puerto USB libre y permisos para instalar software (Arduino IDE y drivers del ESP32, CP210x o CH340 según placa).

Conocimientos previos requeridos: dominio del lenguaje C++ o Java (estructuras de control, funciones, tipos de datos, manejo básico de cadenas y arreglos). No se requiere experiencia previa en electrónica.