Ver los mensajes de MQTT con el cliente MQTT de AWS IoT - AWS IoT Core

Ver los mensajes de MQTT con el cliente MQTT de AWS IoT

En esta sección se describe cómo utilizar el cliente de prueba de MQTT de AWS IoT en la consola de AWS IoT para ver los mensajes MQTT enviados y recibidos por AWS IoT. El ejemplo utilizado en esta sección se refiere a los ejemplos utilizados en Tutoriales de introducción a AWS IoT Core; sin embargo, puede reemplazar el nombre del tema utilizado en los ejemplos por cualquier nombre de tema o filtro de tema que utilice su solución de IoT.

Los dispositivos publican mensajes MQTT identificados por temas para comunicar su estado a AWS IoT, y AWS IoT publica mensajes MQTT para informar a los dispositivos y a las aplicaciones de los cambios y eventos. Puede utilizar el cliente MQTT para suscribirse a estos temas y ver los mensajes a medida que se producen. También puede utilizar el cliente de prueba de MQTT para publicar mensajes MQTT en dispositivos y servicios suscritos en su cuenta de su Cuenta de AWS.

Visualización de mensajes MQTT en el cliente MQTT

El siguiente procedimiento explica cómo suscribirse a un tema de MQTT específico en el que su dispositivo publique mensajes y cómo ver esos mensajes en la consola de AWS IoT.

Para consultar los mensajes MQTT en el cliente MQTT
  1. En la consola de AWS IoT, en el menú de la izquierda, elija Prueba y, a continuación, Cliente de prueba de MQTT.

    En el menú de navegación de la izquierda de la consola, elija el cliente de prueba de MQTT.
  2. En la pestaña Suscribirse a un tema, introduzca el nombre del tema para suscribirse al tema en el que publica el dispositivo. Para la aplicación de ejemplo de introducción, suscríbase a #, que se suscribe a todos los temas de los mensajes.

    Continuando con el ejemplo de introducción, en la pestaña Suscribirse a un tema, en el campo Filtro de temas, introduzca # y, a continuación, seleccione Suscribirse.

    Suscripción a una pestaña de tema.

    Se abre la página de registro de mensajes del tema, #, y # aparece en la lista de suscripciones. Si el dispositivo que ha configurado en Configuración del dispositivo ejecuta el programa de ejemplo, debería ver los mensajes a los que envía a AWS IoT en el registro de mensajes #. Las entradas del registro de mensajes aparecerán debajo de la sección Publicar cuando se reciban mensajes con el tema suscrito de AWS IoT.

    Sección que muestra que se ha suscrito correctamente al tema.
  3. En la página de registro de mensajes #, también puede publicar mensajes en un tema, pero tendrá que especificar el nombre del tema. No se puede publicar en el tema #.

    Los mensajes publicados en los temas suscritos aparecen en el registro de mensajes a medida que se reciben, con el mensaje más reciente primero.

Solución de problemas con los mensajes MQTT

Utilizar el filtro de temas comodín

Si sus mensajes no aparecen como esperaba en el registro de mensajes, pruebe a suscribirse a un tema comodín, tal y como se describe en Filtros de temas. El filtro de temas comodín de varios niveles de MQTT es el signo de almohadilla (#) y se puede utilizar como filtro de tema en el campo del tema de suscripción.

Al suscribirse al filtro de temas de #, se suscriben a todos los temas recibidos por el agente de mensajes. Puede restringir el filtro sustituyendo los elementos de la ruta del filtro de temas por un carácter comodín # de varios niveles o el carácter comodín de un solo nivel con el signo «+».

Cuando se utilizan caracteres comodín en un filtro de temas
  • El carácter comodín de varios niveles debe ser el último carácter del filtro de temas.

  • La ruta del filtro de temas solo puede tener un carácter comodín de un solo nivel por cada nivel de tema.

Por ejemplo:

Filtro de temas

Muestra mensajes con

#

Cualquier nombre de tema

topic_1/#

Un nombre de tema que comience por topic_1/

topic_1/level_2/#

Un nombre de tema que comience por topic_1/level_2/

topic_1/+/level_3

Un nombre de tema que comience por topic_1/, termine por /level_3 y tenga un elemento de cualquier valor intermedio.

Para obtener más información acerca de los filtros de temas, consulte Filtros de temas.

Comprobación de errores en los nombres de temas

Los nombres de temas y los filtros de temas de MQTT distinguen entre mayúsculas y minúsculas. Si, por ejemplo, su dispositivo está publicando mensajes en Topic_1 (con T mayúscula) en lugar de topic_1, el tema al que se suscribió, sus mensajes no aparecerían en el cliente de prueba de MQTT. Sin embargo, si se suscribe al filtro de temas comodín, se mostrará que el dispositivo está publicando mensajes y podría ver que está usando un nombre de tema que no es el que se esperaba.

Publicación de mensajes MQTT desde el cliente MQTT

Para publicar un mensaje en un tema de MQTT
  1. En la página del cliente de pruebas de MQTT, en la pestaña Publicar en un tema, en el campo Nombre del tema, introduzca el nombre del tema de su mensaje. En este ejemplo, use my/topic.

    nota

    No utilice información de identificación personal en nombres de temas si los utiliza en el cliente MQTT o en la implementación de su sistema. Los nombres de temas pueden aparecer en comunicaciones e informes no cifrados.

  2. En la ventana de carga del mensaje, introduzca el siguiente JSON:

    { "message": "Hello, world", "clientType": "MQTT test client" }
  3. Elija Publicar para publicar el mensaje en AWS IoT.

    nota

    Asegúrese de estar suscrito al tema my/topic antes de publicar su mensaje.

    Pestaña de publicación en un tema.
  4. En la columna Suscripciones, elija my/topic para ver el mensaje. Debería ver el mensaje en el cliente de prueba de MQTT, debajo de la ventana de carga para publicar el mensaje.

    Pantalla que muestra que se ha recibido el tema publicado.

Puede publicar mensajes MQTT en otros temas cambiando el nombre del tema en el campo Nombre del tema y eligiendo el botón Publicar.

importante

Al crear varias suscripciones con temas superpuestos (por ejemplo, probe1/temperature y probe1/#), existe la posibilidad de que un solo mensaje publicado sobre un tema que coincida con ambas suscripciones se entregue varias veces, una por cada suscripción superpuesta.

Probar las suscripciones compartidas en el cliente MQTT

En esta sección se describe cómo utilizar el cliente MQTT de AWS IoT en la consola de AWS IoT para ver los mensajes MQTT enviados y recibidos por AWS IoT mediante suscripciones compartidas. Las Suscripciones compartidaspermiten que varios clientes compartan una suscripción a un tema y que solo un cliente reciba los mensajes publicados sobre ese tema mediante una distribución aleatoria. Para simular varios clientes MQTT (en este ejemplo, dos clientes MQTT) que comparten la misma suscripción, abra el cliente MQTT de AWS IoT en la consola de AWS IoT desde varios navegadores web. El ejemplo utilizado en esta sección no está relacionado con los ejemplos utilizados en Tutoriales de introducción a AWS IoT Core. Para obtener más información, consulte Suscripciones compartidas.

Para compartir una suscripción a un tema de MQTT
  1. En el panel de navegación de la consola de AWS IoT, seleccione Prueba y, a continuación, Cliente de prueba de MQTT.

  2. En la pestaña Suscribirse a un tema, introduzca el nombre del tema para suscribirse al tema en el que publica el dispositivo. Para usar las suscripciones compartidas, subscríbase al filtro de temas de una suscripción compartida de la siguiente manera:

    $share/{ShareName}/{TopicFilter}

    Un ejemplo de filtro de temas puede ser $share/group1/topic1, que se suscribe al tema topic1 del mensaje.

    Pestaña que muestra cómo especificar un filtro de temas para las suscripciones compartidas.
  3. Abra otro navegador web y repita los pasos 1 y 2. De esta forma, está simulando dos clientes MQTT diferentes que comparten la misma suscripción $share/group1/topic1.

  4. Elija un cliente MQTT en la pestaña Publicar en un tema, en el campo Nombre del tema, introduzca el nombre del tema de su mensaje. En este ejemplo, use topic1. Intente publicar el mensaje varias veces. En la lista Suscripciones de ambos clientes MQTT, debería poder ver que los clientes reciben el mensaje mediante una distribución aleatoria. En este ejemplo, publicamos el mismo mensaje “Hola desde la consola de AWS IoT” tres veces. El cliente MQTT de la izquierda recibió el mensaje dos veces y el cliente MQTT de la derecha recibió el mensaje una vez.

    Flujo de suscripciones compartidas que permite que dos clientes compartan una suscripción a un tema y solo un cliente reciba los mensajes publicados sobre ese tema mediante una distribución aleatoria.