Afficher MQTT les messages avec le AWS IoT MQTT client - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Afficher MQTT les messages avec le AWS IoT MQTT client

Cette section décrit comment utiliser le client de AWS IoT MQTT test dans la AWS IoT console pour surveiller les MQTT messages envoyés et reçus par AWS IoT. L'exemple utilisé dans cette section se rapporte aux exemples utilisés dans Commencer à utiliser les AWS IoT Core didacticiels ; toutefois, vous pouvez remplacer le topicName utilisé dans les exemples avec n'importe quel nom de rubrique ou filtre de sujet utilisé par votre solution IoT.

Les appareils publient MQTT des messages identifiés par des sujets auxquels ils doivent communiquer leur état AWS IoT, et AWS IoT publient MQTT des messages pour informer les appareils et les applications des changements et des événements. Vous pouvez utiliser le MQTT client pour vous abonner à ces rubriques et suivre les messages au fur et à mesure qu'ils apparaissent. Vous pouvez également utiliser le client de MQTT test pour publier MQTT des messages sur les appareils et services abonnés dans votre Compte AWS.

Affichage MQTT des messages dans le MQTT client

La procédure suivante explique comment s'abonner à un MQTT sujet spécifique sur lequel votre appareil publie des messages et comment afficher ces messages dans la AWS IoT console.

Pour afficher MQTT les messages dans le client MQTT de test
  1. Dans le menu de gauche de la AWS IoT console, choisissez Test, puis choisissez MQTTTest client.

    Choisissez le client de MQTT test dans le menu de la console dans le menu de navigation de gauche.
  2. Dans l'onglet S'abonner à un sujet, entrez topicName pour vous abonner au sujet sur lequel votre appareil publie. Pour l’exemple d’application de démarrage, abonnez-vous à #, qui s’abonne à tous les rubriques de message.

    En reprenant l'exemple de démarrage, sous l'onglet S'abonner à une rubrique, dans le champ Filtre de rubrique, saisissez #, puis choisissez S'abonner.

    L'onglet S'abonner à un sujet.

    La page du journal des messages de la rubrique, #, s'ouvre et # apparaît dans la liste des abonnements. Si le périphérique que vous avez Configurer votre appareil configuré exécute le programme d'exemple, vous devriez voir les messages qu'il envoie AWS IoT dans le journal des messages #. Les entrées du journal des messages apparaîtront sous la section Publier lorsque les messages contenant le sujet auquel vous êtes abonné seront reçus par AWS IoT.

    La section pour afficher le sujet a été abonnée avec succès.
  3. Sur la page du journal des messages #, vous pouvez également publier des messages dans une rubrique, mais vous devez spécifier son nom. Vous ne pouvez pas publier sur la rubrique #.

    Les messages publiés dans les sujets auxquels vous êtes abonné apparaissent dans le journal des messages au fur et à mesure de leur réception, le message le plus récent étant placé en premier.

MQTTMessages de dépannage

Utiliser le filtre de rubrique générique

Si vos messages n'apparaissent pas dans le journal des messages comme prévu, essayez de vous abonner à un filtre de rubrique générique comme décrit dans Filtres de rubrique. Le filtre de sujet générique à MQTT plusieurs niveaux est le hachage ou le signe dièse (#) et peut être utilisé comme filtre de sujet dans le champ de sujet d'abonnement.

L'abonnement au # le filtre de rubrique s'abonne à chaque rubrique reçue par l’agent de messages. Vous pouvez affiner le filtre en remplaçant les éléments du chemin du filtre par rubrique par un caractère générique à # de plusieurs niveaux ou le caractère joker '+' à un seul niveau.

Lorsque vous utilisez des caractères génériques dans un filtre de rubrique
  • Le caractère générique à plusieurs niveaux doit être le dernier caractère dans le filtre de rubrique.

  • Le chemin du filtre de rubrique ne peut comporter qu'un seul caractère générique par niveau de rubrique.

Par exemple :

Filtre de rubriques

Affiche les messages avec

#

Un nom de rubrique quelconque

topic_1/#

Un nom de rubrique commençant par topic_1/

topic_1/level_2/#

Un nom de rubrique commençant par topic_1/level_2/

topic_1/+/level_3

Nom de rubrique commençant par topic_1/, se terminant par /level_3 et comportant un élément de n'importe quelle valeur entre les deux.

Pour plus d'informations sur les filtres de rubriques, consultez Filtres de rubrique.

Vérifiez les erreurs dans le nom de rubrique

MQTTles noms de sujets et les filtres de sujets distinguent les majuscules et minuscules. Si, par exemple, votre appareil publie des messages Topic_1 (avec un T majuscule) au lieu du topic_1 sujet auquel vous êtes abonné, ses messages n'apparaîtront pas dans le client de MQTT test. L'abonnement au filtre de rubrique générique indiquerait toutefois que l'appareil publie des messages et que vous pourriez voir qu'il utilise un nom de rubrique qui n'est pas celui que vous attendiez.

Publication de MQTT messages provenant du MQTT client

Pour publier un message dans un MQTT sujet
  1. Sur la page du client de MQTT test, dans l'onglet Publier dans un sujet, dans le champ Nom du sujet, entrez le topicName de votre message. Pour cet exemple, utilisez my/topic.

    Note

    N'utilisez pas d'informations personnellement identifiables dans les noms de sujets, que ce soit dans le client de MQTT test ou dans l'implémentation de votre système. Le nom de rubriques peut apparaître dans les communications et les rapports non chiffrés.

  2. Dans la fenêtre de charge utile du message, entrez ce qui suit : JSON

    { "message": "Hello, world", "clientType": "MQTT test client" }
  3. Choisissez Publier pour publier votre message dans AWS IoT.

    Note

    Assurez-vous d'être abonné à la rubrique my/topic avant de publier votre message.

    L'onglet Publier dans une rubrique.
  4. Dans la liste Abonnement choisissez my/topic pour afficher le message. Vous devriez voir le message apparaître dans le client de MQTT test sous la fenêtre de charge utile du message de publication.

    L'écran qui affiche le sujet publié a été reçu.

Vous pouvez publier MQTT des messages sur d'autres sujets en modifiant le topicName dans le champ Nom du sujet et en cliquant sur le bouton Publier.

Important

Lorsque vous créez plusieurs abonnements dont les sujets se chevauchent (par exemple, probe1/temperature et probe1/#), il est possible qu'un seul message publié sur un sujet correspondant aux deux abonnements soit diffusé plusieurs fois, une fois pour chaque abonnement qui se chevauche.

Test des abonnements partagés dans le MQTT client

Cette section décrit comment utiliser le AWS IoT MQTT client dans la AWS IoT console pour surveiller les MQTT messages envoyés et reçus à l' AWS IoT aide des abonnements partagés. Abonnements partagéspermettre à plusieurs clients de partager un abonnement à un sujet, un seul client recevant des messages publiés sur ce sujet en utilisant une distribution aléatoire. Pour simuler plusieurs MQTT clients (dans cet exemple, deux MQTT clients) partageant le même abonnement, vous devez ouvrir le AWS IoT MQTT client dans la AWS IoT console à partir de plusieurs navigateurs Web. L'exemple utilisé dans cette section ne concerne pas les exemples utilisés dans Commencer à utiliser les AWS IoT Core didacticiels. Pour plus d'informations, consultez Abonnements partagés.

Pour partager un abonnement à un MQTT sujet
  1. Dans le volet de navigation de la AWS IoT console, choisissez Test, puis choisissez MQTTTest client.

  2. Dans l'onglet S'abonner à un sujet, entrez topicName pour vous abonner au sujet sur lequel votre appareil publie. Pour utiliser les abonnements partagés, abonnez-vous au filtre de rubriques d'un abonnement partagé comme suit :

    $share/{ShareName}/{TopicFilter}

    Un exemple de filtre de rubrique peut être $share/group1/topic1, qui s'abonne à la rubrique topic1 du message.

    L'onglet qui indique comment définir un filtre de rubrique pour les abonnements partagés.
  3. Ouvrez un autre navigateur Web et répétez les étapes 1 et 2. Vous simulez ainsi deux MQTT clients différents partageant le même abonnement$share/group1/topic1.

  4. Choisissez un MQTT client, dans l'onglet Publier dans un sujet, dans le champ Nom du sujet, entrez le topicName de votre message. Pour cet exemple, utilisez topic1. Essayez de publier le message plusieurs fois. Dans la liste des abonnements des deux MQTT clients, vous devriez être en mesure de voir que les clients reçoivent le message selon une distribution aléatoire. Dans cet exemple, nous publions trois fois le même message « Bonjour depuis AWS IoT la console ». Le MQTT client de gauche a reçu le message deux fois et le MQTT client de droite l'a reçu une fois.

    Les abonnements partagés sont transmis à deux clients pour partager un abonnement à un sujet et un seul client recevra les messages publiés sur ce sujet selon une distribution aléatoire.