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.
Démontrez la publication de messages à l'aide du AWS IoT Client de l'appareil
Les procédures décrites dans cette section montrent comment le AWS IoT Device Client peut envoyer des messages MQTT par défaut et personnalisés.
Les déclarations de politique que vous avez créées à l'étape précédente pour ces exercices autorisent le Raspberry Pi à effectuer les actions suivantes :
-
iot:ConnectIndique le client nommé
PubSubTestThing, votre Raspberry Pi exécutant le AWS IoT Device Client, à connecter.{ "Effect": "Allow", "Action": [ "iot:Connect" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:client/PubSubTestThing" ] } -
iot:PublishPermet au Raspberry Pi de publier des messages dont la rubrique MQTT est
test/dc/pubtopic.{ "Effect": "Allow", "Action": [ "iot:Publish" ], "Resource": [ "arn:aws:iot:us-west-2:57EXAMPLE833:topic/test/dc/pubtopic" ] }L'action
iot:Publishdonne l'autorisation de publier dans les rubriques MQTT répertoriées dans le tableau de ressources. Le contenu de ces messages n'est pas contrôlé par la déclaration de politique.
Publiez le message par défaut à l'aide du AWS IoT Client de l'appareil
Cette procédure exécute le AWS IoT Device Client afin qu'il publie un seul message MQTT par défaut que le client de test MQTT reçoit et affiche.
Pour envoyer le message MQTT par défaut depuis AWS IoT Client de l'appareil
-
Assurez-vous que la fenêtre du terminal de votre ordinateur hôte local connecté à votre Raspberry Pi et la fenêtre avec le client de test MQTT sont visibles pendant que vous effectuez cette procédure.
-
Dans la fenêtre du terminal, entrez ces commandes pour exécuter le AWS IoT Device Client à l'aide du fichier de configuration créé dansCréez le fichier de configuration.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-config.jsonDans la fenêtre du terminal, le AWS IoT Device Client affiche des messages d'information et toutes les erreurs qui se produisent lors de son exécution.
Si aucune erreur n'est affichée dans la fenêtre du terminal, passez en revue le client de test MQTT.
-
Dans le client de test MQTT, dans la fenêtre Subscriptions(Abonnements), consultez le Hello World ! message envoyé à la rubrique
test/dc/pubtopic. -
Si le AWS IoT Device Client n'affiche aucune erreur et que vous voyez Hello World ! envoyé au
test/dc/pubtopicmessage dans le client de test MQTT, vous avez démontré une connexion réussie. -
Dans la fenêtre du terminal, entrez
^C(Ctrl-C) pour arrêter le AWS IoT Device Client.
Après avoir démontré que le AWS IoT Device Client a publié le message MQTT par défaut, vous pouvez passer auPubliez un message personnalisé à l'aide du AWS IoT Client de l'appareil.
Publiez un message personnalisé à l'aide du AWS IoT Client de l'appareil
Les procédures décrites dans cette section créent un message MQTT personnalisé, puis exécutent le client de périphérique AWS IoT afin qu'il publie le message MQTT personnalisé une fois pour que le client de test MQTT le reçoive et l'affiche.
Créez un message MQTT personnalisé pour AWS IoT Client de l'appareil
Effectuez ces étapes dans la fenêtre du terminal sur l'ordinateur hôte local connecté à votre Raspberry Pi.
Pour créer un message personnalisé pour AWS IoT Client de l'appareil à publier
-
Dans la fenêtre du terminal, ouvrez un éditeur de texte comme
nano. -
Dans l'éditeur de texte, copiez et collez le document JSON suivant. Il s'agira de la charge utile du message MQTT que le AWS IoT Device Client publiera.
{ "temperature": 28, "humidity": 80, "barometer": 1013, "wind": { "velocity": 22, "bearing": 255 } } -
Enregistrement du contenu de l'éditeur de texte avec
~/messages/sample-ws-message.json. -
Saisissez la commande suivante pour définir les autorisations du fichier de messages que vous venez de créer.
chmod 600 ~/messages/*
Pour créer un fichier de configuration pour AWS IoT Client de l'appareil à utiliser pour envoyer le message personnalisé
-
Dans la fenêtre du terminal, dans un éditeur de texte tel que
nano, ouvrez le fichier de configuration AWS IoT Device Client existant :~/dc-configs/dc-pubsub-config.json. -
Modifiez l'objet
samplespour qu'il ressemble à ceci. Aucune autre partie de ce fichier n'a besoin d'être modifiée."samples": { "pub-sub": { "enabled": true, "publish-topic": "test/dc/pubtopic", "publish-file": "~/messages/sample-ws-message.json", "subscribe-topic": "test/dc/subtopic", "subscribe-file": "~/.aws-iot-device-client/log/pubsub_rx_msgs.log" -
Enregistrement du contenu de l'éditeur de texte avec
~/dc-configs/dc-pubsub-custom-config.json. -
Exécutez cette commande pour définir les autorisations sur le nouveau fichier de configuration.
chmod 644 ~/dc-configs/dc-pubsub-custom-config.json
Publiez le message MQTT personnalisé à l'aide du AWS IoT Client de l'appareil
Cette modification n'affecte que le contenu de la charge utile des messages MQTT, de sorte que la politique actuelle continuera de fonctionner. Toutefois, si le sujet MQTT (tel que défini par la valeur publish-topic dans~/dc-configs/dc-pubsub-custom-config.json) était modifié, la déclaration de politique iot::Publish devrait également être modifiée pour permettre au Raspberry Pi de publier sur le nouveau sujet MQTT.
Pour envoyer le message MQTT depuis AWS IoT Client de l'appareil
-
Assurez-vous que la fenêtre du terminal et la fenêtre avec le client de test MQTT sont visibles pendant que vous effectuez cette procédure. Assurez-vous également que votre client de test MQTT est toujours abonné au filtre # topic. Si ce n'est pas le cas, abonnez-vous à nouveau au filtre de rubrique #.
-
Dans la fenêtre du terminal, entrez ces commandes pour exécuter AWS IoT Device Client à l'aide du fichier de configuration créé dans Créez le fichier de configuration.
cd ~/aws-iot-device-client/build ./aws-iot-device-client --config-file ~/dc-configs/dc-pubsub-custom-config.jsonDans la fenêtre du terminal, le AWS IoT Device Client affiche des messages d'information et toutes les erreurs qui se produisent lors de son exécution.
Si aucune erreur n'est affichée dans la fenêtre du terminal, passez en revue le client de test MQTT.
-
Dans le client de test MQTT, dans la fenêtre Abonnements, consultez la charge utile du message personnalisé envoyé à la rubrique du message
test/dc/pubtopic. -
Si le AWS IoT Device Client n'affiche aucune erreur et que vous voyez la charge utile du message personnalisé que vous avez publiée dans le
test/dc/pubtopicmessage dans le client de test MQTT, cela signifie que vous avez publié un message personnalisé avec succès. -
Dans la fenêtre du terminal, entrez
^C(Ctrl-C) pour arrêter le AWS IoT Device Client.
Après avoir démontré que le AWS IoT Device Client a publié une charge utile de message personnalisée, vous pouvez continuerDémontrez que vous vous êtes abonné à des messages avec AWS IoT Client de l'appareil.