Tutorial: Cómo usar MyMQTTHub

1. Crear una cuenta en MyMQTTHub

Para crear una cuenta en MyMQTTHub, sigue estos pasos:

  1. Visita el sitio web de MyMQTTHub: https://www.mymqtthub.com
  2. Haz clic en "Sign Up" o "Registrar".
  3. Rellena el formulario con tus datos: nombre, dirección de correo electrónico y una contraseña.
  4. Verifica tu dirección de correo electrónico a través del enlace enviado a tu bandeja de entrada.
  5. Inicia sesión en MyMQTTHub con tu nueva cuenta.

2. Qué son los tópicos en MQTT

En MQTT, un tópico es una cadena de texto utilizada por el broker para filtrar los mensajes para cada cliente conectado. Los clientes pueden suscribirse a uno o más tópicos y publicar mensajes en ellos. Los tópicos se organizan de manera jerárquica utilizando barras inclinadas (/) como delimitadores.

Ejemplos de tópicos:

3. Crear y gestionar tópicos en MyMQTTHub

Para crear y gestionar tópicos en MyMQTTHub, sigue estos pasos:

  1. Inicia sesión en tu cuenta de MyMQTTHub.
  2. En el panel de control, selecciona "Topics" o "Tópicos".
  3. Haz clic en "Create Topic" o "Crear Tópico".
  4. Introduce el nombre del tópico (por ejemplo, home/livingroom/temperature).
  5. Configura las opciones adicionales si es necesario y guarda el tópico.
  6. Puedes suscribirte a tus tópicos y ver los mensajes publicados desde el panel de control.

4. Publicar y suscribirse a tópicos desde un cliente MQTT

Para publicar y suscribirse a tópicos, puedes utilizar un cliente MQTT como el ESP8266. Aquí tienes un ejemplo de cómo hacerlo en Arduino (como se mostró anteriormente):

#include <ESP8266WiFi.h> #include <PubSubClient.h> // Configuración de la red Wi-Fi const char* ssid = "TU_SSID"; // Reemplaza con el SSID de tu red Wi-Fi const char* password = "TU_PASSWORD"; // Reemplaza con la contraseña de tu red Wi-Fi // Configuración del broker MQTT const char* mqtt_server = "broker.mymqtthub.com"; // Dirección del broker MQTT const int mqtt_port = 1883; // Puerto del broker MQTT const char* mqtt_user = "TU_USUARIO"; // Reemplaza con tu usuario de MyMQTTHub const char* mqtt_password = "TU_CONTRASEÑA"; // Reemplaza con tu contraseña de MyMQTTHub const char* mqtt_topic = "test/topic"; // Reemplaza con el tópico donde deseas publicar el mensaje WiFiClient espClient; PubSubClient client(espClient); void setup_wifi() { delay(10); Serial.println(); Serial.print("Conectando a "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi conectado"); Serial.println("Dirección IP: "); Serial.println(WiFi.localIP()); } void reconnect() { while (!client.connected()) { Serial.print("Conectando al broker MQTT..."); if (client.connect("ESP8266Client", mqtt_user, mqtt_password)) { Serial.println("Conectado"); } else { Serial.print("Fallo, rc="); Serial.print(client.state()); Serial.println(" intentando de nuevo en 5 segundos"); delay(5000); } } } void setup() { Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, mqtt_port); } void loop() { if (!client.connected()) { reconnect(); } client.loop(); // Publicar un mensaje cada 10 segundos static unsigned long lastMsg = 0; unsigned long now = millis(); if (now - lastMsg > 10000) { lastMsg = now; Serial.println("Publicando mensaje..."); client.publish(mqtt_topic, "Hola desde ESP8266"); } }