Skip to content

MT06

Networking

Configuración y programación de ESP32 para comunicación UART, conexión WiFi y envío de datos mediante MQTT

Conceptos importantes

El ESP32 es un microcontrolador de bajo costo y alto rendimiento ampliamente utilizado en proyectos de Internet de las Cosas (IoT) debido a que integra conectividad WiFi y Bluetooth, además de múltiples interfaces de comunicación.

Para programar el ESP32 se utilizó el software Arduino IDE, que permite desarrollar, compilar y cargar código en diferentes placas de desarrollo. Para poder utilizar ESP32 dentro de este entorno es necesario instalar previamente el paquete de soporte de placas (Board Package) correspondiente.

Entre los protocolos de comunicación utilizados en el ejercicio se encuentran:

  • UART (Universal Asynchronous Receiver Transmitter): protocolo de comunicación serial utilizado para transmitir datos entre microcontroladores.
  • WiFi: tecnología de red inalámbrica utilizada para conectar dispositivos a internet.
  • HTTP: protocolo utilizado para realizar solicitudes a servidores web.
  • MQTT (Message Queuing Telemetry Transport): protocolo ligero de mensajería diseñado para aplicaciones IoT, basado en el modelo publish/subscribe.
Proceso

Durante el desarrollo del ejercicio se emplearon las siguientes herramientas: Software - Arduino IDE - Librerías WiFi - Librerías HTTPClient - Librerías MQTT - Librería del sensor DHT22

Hardware - Placas ESP32 - Sensor DHT22 para temperatura y humedad relativa - LED - Botón pulsador - Resistencias - Cables de conexión

Configuración del entorno de desarrollo

El primer paso consistió en configurar el entorno de programación para que reconozca las placas ESP32.

Se inició el software Arduino IDE, que permite escribir y cargar programas en el microcontrolador.

En el menú principal se seleccionó: Arduino IDE → Preferences

En el campo Additional Boards Manager URLs se añadieron las siguientes direcciones: https://dl.espressif.com/dl/package_esp32_index.json https://resource.heltec.cn/download/package_heltec_esp32_index.json Estas direcciones permiten descargar los paquetes necesarios para trabajar con placas basadas en ESP32.

Posteriormente se accedió a:

Tools → Board → Boards Manager

Desde allí se buscó ESP32 y se procedió con la instalación del paquete correspondiente.

Ejercicio1

Para este primer ejericio se buscó implementar un sistema de comunicación entre dos microcontroladores ESP32 mediante UART,donde uno actúe como emisor y otro como receptor.

Los componentes utilizados fueron:

  • 2 placas ESP32
  • 1 botón pulsador
  • 1 LED
  • Resistencias
  • Cables de conexión

Funcionamiento del sistema ESP32 A (Emisor) - Detecta cuando el usuario presiona un botón. - Al activarse el botón, envía un mensaje a través del puerto UART. ESP32 B (Receptor) - Recibe el mensaje serial. - Interpreta el comando recibido. - Enciende o apaga un LED según la instrucción.

La interfaz de comunicación empleada fue UART y la comunicación se realizó mediante los pines de transmisión y recepción: - TX (transmisión) - RX (recepción) Los datos se enviaron como cadenas de texto, lo que permitió interpretar fácilmente los comandos recibidos.

Y como actuador se utilizo un LED.

Cuando el receptor detecta el comando enviado por el ESP32 emisor: - Comando ON → LED encendido - Comando OFF → LED apagado

El codigo usado para este ejercicio fue: Emisor: https://pastebin.com/1ue5XRCQ Receptor:https://pastebin.com/3FQbShiS

Ejercicio2

El objetivo de este ejericio fue usar un ESP32 para conectarse a una red WiFi y realizar una solicitud HTTP a una página web. Para este ejercicio, empleamos el siguiente código: https://wokwi.com/projects/455582534712036353

El programa realiza las siguientes acciones: 1. Se conecta a una red WiFi previamente definida. 2. Una vez establecida la conexión, realiza una petición a una página web. 3. La respuesta obtenida se muestra en el Serial Monitor.

En el monitor serial se visualizaron los siguientes datos: - Confirmación de conexión a la red - Dirección IP asignada al dispositivo - Código de respuesta HTTP del servidor - Los primeros caracteres del contenido recibido

Se utilizó la interfaz WiFi integrada del ESP32.

Ejercicio3

Con la base del ejercicio anterior, se buscó desarrollar un sistema IoT capaz de enviar datos de sensores a través de un broker MQTT.

Para este ejercicio usamos un: - ESP32 - Sensor DHT22

Seguimos los siguientes pasos 1. Se conecta a una red WiFi. 2. Se conecta a un broker MQTT público. 3. Lee periódicamente los datos de temperatura y humedad del sensor DHT22. 4. Publica este mensaje en un topic MQTT.

El topic utilizado sigue la estructura: mat_utec/< pais >/< zona > En mi caso coloque mat_utec/< PE >/< Junin >

El mensaje enviado contiene información estructurada, por ejemplo: “temperatura”: 24.3,”humedad”: 58

En este enlace, se visualiza el código utilizado: https://wokwi.com/projects/455570934245246977

El ESP32 utiliza librerías de comunicación MQTT que permiten:

  • Conectarse al broker

  • Publicar datos

  • Mantener la conexión activa

En este ejercicio el sistema se centró en la lectura de sensores, por lo que el dispositivo principal fue el sensor DHT22, utilizado como fuente de datos ambientales. El ESP32 recopila información del entorno y la transmite periódicamente a través de MQTT para que pueda ser utilizada por otros sistemas o plataformas IoT.

Reflexión

El desarrollo de los ejercicios permitió comprender el funcionamiento de diferentes protocolos de comunicación utilizados en sistemas IoT, así como las capacidades del microcontrolador ESP32 para interactuar con dispositivos externos y servicios en internet. En el primer ejercicio se implementó una comunicación directa entre microcontroladores mediante UART, lo que demuestra la capacidad de los dispositivos para intercambiar información de forma simple y eficiente. En el segundo ejercicio se exploró la conectividad WiFi, permitiendo al ESP32 interactuar con servicios web mediante solicitudes HTTP. Finalmente, en el tercer ejercicio se integró un sensor ambiental con el protocolo MQTT, simulando un escenario real de Internet de las Cosas donde los datos de sensores pueden ser transmitidos y monitoreados remotamente. Fue muy emocionante ver los datos de todos en una misma interfaz, a pesar de estar en diferentes espacios.

Considero que estos ejercicios evidencian el potencial del ESP32 para el desarrollo de prototipos interactivos, sistemas de monitoreo y dispositivos inteligentes, especialmente en proyectos vinculados a fabricación digital, sensores ambientales y redes IoT.


Last update: March 10, 2026