lunes, 19 de octubre de 2026

Enviar datos desde tu ESP32 a la herramienta web de HiveMQ

 

Enviar datos desde tu ESP32 a la herramienta web de HiveMQ, necesitas conectar tu placa a Wi-Fi y utilizar el protocolo MQTT.
La página web https://www.hivemq.com/demos/websocket-client/ es un cliente MQTT que se conecta por defecto al servidor público y gratuito de HiveMQ (mqtt-dashboard.com). Todo lo que envíes desde tu ESP32 a ese servidor con un "Tópico" (Topic) específico, aparecerá en tiempo real en la pantalla de tu celular o computadora.
Sigue estos pasos para configurarlo desde Thonny:

1. Instalar la librería MQTT en Thonny
Antes de correr el código, necesitas instalar la librería encargada de la comunicación MQTT en MicroPython:
  1. En Thonny, ve al menú Herramientas (Tools) > Administrar paquetes (Manage packages).
  2. Busca: micropython-umqtt.simple
  3. Selecciónala e instala el paquete.

2. Código en MicroPython (Thonny)
Copia este código en tu archivo de Thonny. Asegúrate de cambiar "TU_WIFI" y "TU_CONTRASEÑA" por los datos de tu red.
python
import network
import time
import machine
from umqtt.simple import MQTTClient

# 1. Configuración de Red Wi-Fi y Servidor MQTT
WIFI_SSID = "TU_WIFI"
WIFI_PASS = "TU_CONTRASEÑA"

# El servidor que usa la web de HiveMQ por defecto
MQTT_BROKER = "mqtt-dashboard.com" 
# Define un tópico único para que nadie más interfiera con tus datos
MQTT_TOPIC  = "mi_esp32_proyecto/datos" 

# 2. Función para conectar a la red Wi-Fi
def conectar_wifi():
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print("Conectando a Wi-Fi...")
        wlan.connect(WIFI_SSID, WIFI_PASS)
        while not wlan.isconnected():
            time.sleep(1)
    print("¡Wi-Fi Conectado! IP:", wlan.ifconfig()[0])

# 3. Programa Principal
conectar_wifi()

print("Conectando al servidor MQTT de HiveMQ...")
# Creamos el cliente MQTT (ID de cliente aleatorio/único)
client = MQTTClient("esp32_client_unique_123", MQTT_BROKER)
client.connect()
print("¡Conectado exitosamente al Broker!")

contador = 0

try:
    while True:
        # Creamos el mensaje a enviar
        mensaje = f"Mensaje numero: {contador}"
        
        print(f"Publicando en {MQTT_TOPIC}: {mensaje}")
        # Publicamos el mensaje en el Broker (el texto debe enviarse como bytes)
        client.publish(MQTT_TOPIC, mensaje.encode())
        
        contador += 1
        time.sleep(5) # Envía datos cada 5 segundos

except KeyboardInterrupt:
    print("Programa detenido.")
    client.disconnect()
Usa el código con precaución.

3. Configuración en la Web de HiveMQ
Para ver los datos que está transmitiendo tu ESP32 en la pantalla, haz lo siguiente en la página web:
  1. Entra a HiveMQ Websocket Client.
  2. Deja los datos de "Connection" tal como están y haz clic en el botón Connect. (Verás que el estado cambia a color verde "Connected").
  3. Baja hasta la sección Subscriptions y haz clic en Add New Topic Subscription.
  4. En el campo Topic, escribe exactamente el mismo texto que pusiste en tu código de Thonny. Siguiendo el ejemplo anterior, escribe: mi_esp32_proyecto/datos.
  5. Haz clic en el botón Subscribe.
  6. ¡Listo! Corre el programa en tu ESP32 desde Thonny y empezarás a ver cómo los mensajes aparecen inmediatamente en la sección de Messages de la página web.
¿Qué tipo de datos del ESP32 vas a transmitir (por ejemplo, lecturas de algún sensor de temperatura, el estado de un botón, o cadenas de texto)? Si lo deseas, puedo ayudarte a adaptar el formato de envío a JSON para transmitir múltiples variables a la vez.

No hay comentarios:

Publicar un comentario