Nuevas características

Soporte MQTT nativo en Onesait Platform

Otra de las mejoras que hemos incorporado en la versión 5.0.0-Renegade de la Plataforma ha sido el pasar a soportar el protocolo MQTT de forma nativa; es decir, que 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.).

Veamos cómo puedes usarlo.

Configuración de Plataforma 

El primer paso será acceder al menú de Develop > My entities.

Para habilitar la opción de creación de un tópico MQTT, podrás usar tanto una Entidad nueva o una ya existente. Sea cual sea el caso, tendrás que ir hasta la pestaña de «Advanced Settings» de la Entidad y seleccionar la opción «Allows to create an MQTT ingest topic for the Entity». Al seleccionarla, se te habilitará un cuadro de texto para que puedas personalizar el tópico de MQTT, donde al final se añadirá de manera automática el nombre de la entidad.

Lo siguiente que habrá que hacer es crear un Digital Client y dar permisos a tu Entidad -al menos de escritura- para poder insertar datos a través del tópico que acabas 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 digitalclient/token que hayas definido en la Plataforma.

Una vez conectado el cliente, podrás:

  • Publicar mensajes en el tópico asociado a la entidad: teniendo 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.
  • Suscribirte al tópico /<entity_topic>/<client_id>: 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:

✍🏻 Author(s)

Deja una respuesta