Afficher les messages MQTT avec le client AWS IoT MQTT - 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 les messages MQTT avec le client AWS IoT MQTT

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

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

Affichage des messages MQTT dans le client MQTT

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

    Choisissez le client de test MQTT dans le menu de la console dans le menu de navigation de gauche.
  2. Dans l'onglet S'abonner à un rubrique, entrez le topicName pour vous abonner à la rubrique 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.

Résolution des problèmes MQTT

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 rubrique générique multiniveau MQTT est le dièse ou le signe dièse ( # ) et peut être utilisé comme filtre de sujet dans le champ 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

Les noms de rubrique MQTT et les filtres de rubrique sont sensibles à la casse. Si, par exemple, votre appareil publie des messages sur Topic_1 (avec un T majuscule) au lieu de topic_1, la rubrique où vous êtes abonné, ses messages n'apparaîtront pas dans le client de test MQTT. 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 messages MQTT à partir du client MQTT

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

    Note

    N'utilisez pas d'informations personnelles identifiables dans les noms de rubriques, lorsque vous les utilisiez dans le client MQTT 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 section de charge utile du message, saisissez le contenu JSON suivant :

    { "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 test MQTT 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 des messages MQTT dans d'autres rubriques en modifiant la rubrique topicName dans le champ Nom de la rubrique et en choisissant 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 client MQTT

Cette section décrit comment utiliser le client AWS IoT MQTT dans la AWS IoT console pour surveiller les messages MQTT envoyés et reçus à AWS IoT l'aide d'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 clients MQTT (dans cet exemple, deux clients MQTT) partageant le même abonnement, vous devez ouvrir le client AWS IoT MQTT 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 avec AWS IoT Core. Pour plus d'informations, consultez Abonnements partagés.

Pour partager un abonnement sur une rubrique MQTT
  1. Dans la AWS IoT console, dans le volet de navigation, choisissez Test puis choisissez Client de test MQTT.

  2. Dans l'onglet S'abonner à un rubrique, entrez le topicName pour vous abonner à la rubrique 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. De cette façon, vous simulez deux clients MQTT différents qui partagent le même abonnement $share/group1/topic1.

  4. Choisir un client de test MQTT, dans l'onglet Publier dans une rubrique , dans le champ Nom de la rubrique, entrez TopicName de votre message. Pour cet exemple, utilisez topic1. Essayez de publier le message plusieurs fois. Dans la liste des abonnements des deux clients MQTT, 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 client MQTT de gauche a reçu le message deux fois et le client MQTT 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.