Traducción no actualizada
MQTT es un protocolo de transporte de mensajería de publicación y suscripción diseñado para enviar mensajes a los clientes.
En un flujo de secuencias, el operador MQTT puede ser de tipo origen o de tipo destino:
-
El operador MQTT como origen es un suscriptor al intermediario MQTT y consume los temas de mensajes del intermediario.
-
El operador MQTT como destino es un productor en el intermediario MQTT y escribe en los temas del intermediario.
MQTT tiene los componentes siguientes:
Intermediario
El intermediario MQTT es el responsable de recibir todos los mensajes, de filtrarlos, de decidir quién está interesado en cada mensaje y luego de enviar el mensaje a todos los clientes suscritos. El intermediario es el concentrador central a través del cual debe pasar cada mensaje.
Debe tener su propio intermediario MQTT. Dispone de clientes MQTT gratuitos de código abierto que puede utilizar.
Cliente
El cliente puede ser tanto un publicador como un suscriptor de mensajes. Puede publicar un mensaje en un intermediario y puede suscribirse a los mensajes del intermediario.
ClientId es un identificador de cada cliente MQTT que se conecta a un intermediario MQTT. El clientId debe ser exclusivo para cada intermediario. El intermediario lo utiliza para identificar el cliente y el estado actual del cliente.
Tema
Un tema es una serie que puede tener una jerarquía de niveles separados por una barra inclinada (/). Esta serie es la información de direccionamiento para el intermediario. Solo el operador MQTT como origen puede realizar suscripciones. Cuando configure este operador en un flujo de secuencias, debe especificar el nombre del tema y la estructura en función de cómo los haya definido en el intermediario MQTT.
Ejemplos
Supongamos que ha definido los temas siguientes en el intermediario:
-
Myhome/first_floor/bedroom/temp_detector
-
Myhome/first_floor/kitchen/temp_detector
-
Myhome/first_floor/kitchen/smoke_detector
En los siguientes ejemplos se muestra cómo suscribirse a diferentes temas:
Suscripción a un tema específico
Para suscribirse al tema correspondiente a datos de temperatura de la cocina, el operador MQTT como origen se suscribiría a Myhome/first_floor/kitchen/temp_detector
.
Suscripción a un solo nivel +
Utilice un carácter comodín para suscribirse a todos los temas del mismo nivel de tema.
El tema Myhome/first_floor/+/temp_detector
se suscribe a los siguientes temas:
-
Myhome/first_floor/kitchen/temp_detector
-
Myhome/first_floor/bedroom/temp_detector
Suscripción a varios niveles #
Si tiene que suscribirse a un número arbitrario de niveles de tema, utilice un carácter comodín de varios niveles (#). Puede suscribirse a todos los niveles de jerarquía subyacentes. El signo # debe ser el último carácter del tema y debe ir precedido de una barra inclinada (/).
El tema Myhome/first_floor/#
se suscribe a todos los temas que comienzan por Myhome/first_floor
:
-
Myhome/first_floor/bedroom/temp_detector
-
Myhome/first_floor/kitchen/temp_detector
-
Myhome/first_floor/kitchen/smoke_detector
Comunicación segura
La comunicación entre el cliente y el intermediario se puede proteger con los siguientes tipos de certificados:
-
Certificado SSL (Secure Sockets Layer)
-
Certificado firmado por CA (entidad emisora de certificados)
Cuando crea una conexión MQTT en un flujo de secuencias, puede especificar un certificado SSL y un certificado firmado por CA. Asegúrese de copiar y pegar el certificado exactamente tal como aparece. No debe haber espacios en blanco ni caracteres inesperados y la alineación debe ser exacta. Los certificados del cliente y del intermediario deben coincidir; de lo contrario, recibirá un mensaje que indica que no se puede conectar con el intermediario.