Interagir avec les appareils clients dans les composants - AWS IoT Greengrass

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.

Interagir avec les appareils clients dans les composants

Vous pouvez développer des composants Greengrass personnalisés qui interagissent avec les appareils clients connectés à un appareil principal. Par exemple, vous pouvez développer des composants qui effectuent les opérations suivantes :

  • Agissez sur les messages MQTT provenant des appareils clients et envoyez des données aux AWS Cloud destinations.

  • Envoyez des messages MQTT aux appareils clients pour lancer des actions.

Les appareils clients se connectent à un périphérique principal et communiquent avec celui-ci par le biais du composant courtier MQTT qui s'exécute sur le périphérique principal. Par défaut, les appareils clients ne peuvent communiquer qu'entre eux via MQTT, et les composants Greengrass ne peuvent pas recevoir ces messages MQTT ni envoyer de messages aux appareils clients.

Les composants Greengrass utilisent l'interface de publication/d'abonnement locale pour communiquer sur un appareil principal. Pour communiquer avec les appareils clients dans les composants Greengrass, configurez le composant pont MQTT pour effectuer les opérations suivantes :

  • Transférez les messages MQTT des appareils clients vers les services de publication/d'abonnement locaux.

  • Transmettez les messages MQTT issus de la publication ou de l'abonnement locaux aux appareils clients.

Vous pouvez également interagir avec les ombres des appareils clients dans les composants Greengrass. Pour plus d’informations, consultez Interagissez avec les ombres des appareils clients et synchronisez-les.

Configuration et déploiement du composant de pont MQTT

Le composant du pont MQTT utilise une liste de mappages de sujets qui spécifient chacun une source et une destination de message. Pour communiquer avec les appareils clients, déployez le composant du pont MQTT et spécifiez chaque sujet source et destination dans la configuration du composant.

Pour déployer le composant de pont MQTT sur un périphérique principal ou un groupe de périphériques principaux, créez un déploiement incluant le aws.greengrass.clientdevices.mqtt.Bridge composant. Spécifiez les mappages de sujetsmqttTopicMapping, dans la configuration des composants du pont MQTT lors du déploiement.

L'exemple suivant définit un déploiement qui configure le composant du pont MQTT pour relayer le clients/MyClientDevice1/hello/world sujet des appareils clients vers le courtier de publication/d'abonnement local. La mise à jour merge de configuration nécessite un objet JSON sérialisé. Pour plus d’informations, consultez Mettre à jour les configurations des composants.

Console
{ "mqttTopicMapping": { "HelloWorldPubsub": { "topic": "clients/MyClientDevice1/hello/world", "source": "LocalMqtt", "target": "Pubsub" } } }
AWS CLI
{ "components": { "aws.greengrass.clientdevices.mqtt.Bridge": { "version": "2.0.0", "configurationUpdate": { "merge": "\"mqttTopicMapping\":{\"HelloWorldPubsub\":{\"topic\":\"clients/MyClientDevice1/hello/world\",\"source\":\"LocalMqtt\",\"target\":\"Pubsub\"}}}" } } ... } }

Vous pouvez utiliser des caractères génériques de sujet MQTT pour relayer des messages sur des sujets qui correspondent à un filtre de sujet. Si vous utilisez le pont MQTT v2.2.0 ou version ultérieure, vous pouvez utiliser des caractères génériques de sujet MQTT dans les filtres de sujets lorsque le courtier source publie ou s'abonne en local. Pour plus d'informations, consultez la section Configuration des composants du pont MQTT.

Recevoir des messages MQTT depuis les appareils clients

Vous pouvez vous abonner aux rubriques de publication/d'abonnement locales que vous configurez pour que le composant du pont MQTT reçoive des messages des appareils clients.

Pour recevoir des messages MQTT depuis des appareils clients dans des composants personnalisés
  1. Configurez et déployez le composant du pont MQTT pour relayer les messages d'un sujet MQTT sur lequel les appareils clients publient vers un sujet de publication/d'abonnement local.

  2. Utilisez l'interface IPC de publication/abonnement locale pour vous abonner au sujet où le pont MQTT relaie les messages. Pour plus d’informations, consultez Publier/souscrire des messages locaux et SubscribeToTopic.

Le didacticiel Connecter et tester les appareils clients inclut une section dans laquelle vous développez un composant qui s'abonne aux messages provenant d'un appareil client. Pour plus d’informations, consultez Étape 4 : développer un composant qui communique avec les appareils clients.

Envoyer des messages MQTT aux appareils clients

Vous pouvez publier sur les rubriques de publication/d'abonnement locales que vous configurez pour que le composant du pont MQTT envoie des messages aux appareils clients.

Pour publier des messages MQTT sur les appareils clients dans des composants personnalisés
  1. Configurez et déployez le composant du pont MQTT pour relayer les messages d'un sujet de publication/d'abonnement local vers un sujet MQTT auquel les appareils clients s'abonnent.

  2. Utilisez l'interface IPC de publication/abonnement locale pour publier sur le sujet où le pont MQTT relaie les messages. Pour plus d'informations, consultez Publier/souscrire des messages locaux et PublishToTopic.