Soporte MQTT nativo
Disponible desde la versión 5.0.0-Renegade.
Interfaz de usuario: 5.3.2-Ultimate
Introducción
Desde la versión 5.0.0 empezamos a soportar el protocolo MQTT de forma nativa; es decir, permitimos la comunicación a través de tópicos MQTT con la seguridad de la Plataforma.
Hasta ahora, el Digital Broker de la Plataforma sólo soportaba MQTT a través del Broker MQTT embebido, accediendo a través de nuestro protocolo de mensajería SSAP que enmascara el protocolo base (REST, WebSockets, MQTT, etc.).
Cómo usarlo
Configuración de la Plataforma
El primer paso consiste en crear una Entidad, o modificar una entidad ya existente, para habilitar la opción de creación de un tópico MQTT.
Para ello, tendremos que navegar hasta la pestaña de «Opciones avanzadas» y seleccionar la opción de «Permite crear un tópico MQTT de ingesta para la Entidad».
Al seleccionar esta opción, se nos habilitará un cuadro de texto para que podamos personalizar el tópico de MQTT, donde al final se añadirá de manera automática el nombre de la Entidad.
Una vez habilitada esta opción, el siguiente paso consistirá en crear un Cliente Digital, al que daremos permisos sobre esta Entidad -al menos de escritura- para poder insertar datos a través del tópico que acabamos de crear.
Configuración del cliente MQTT
A la hora de conectar el cliente MQTT, hay que configurar el usuario y contraseña que se corresponderá con el identificador del Cliente Digital y el token que hemos definido en la Plataforma.
Una vez conectado el cliente, podremos:
Publicar mensajes en el tópico asociado a la Entidad: hay que tener en cuenta que el mensaje que se publique tiene que ir en formato JSON y cumplir con el esquema de la Entidad, ya que sinó los datos no se almacenarán.
Suscribirnos al tópico /<entity_topic>/<client_id>: ya que en este tópico, la Plataforma va a publicar las respuesta a las publicaciones:
Si el dato se ha insertado correctamente, se devolverá a través de este tópico el ID del dato insertado en la Entidad.
Si ha habido algún tipo de error en la insercción, se devolverá a través de este tópico el mensaje de error correspondiente.
A continuación, se muestra un breve ejemplo de cómo quedaría un cliente MQTT con la configuración descrita anteriormente.