Interagissez avec les ombres des appareils clients et synchronisez-les - 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.

Interagissez avec les ombres des appareils clients et synchronisez-les

Vous pouvez utiliser le composant Shadow Manager pour gérer les ombres locales, y compris les ombres du périphérique client. Vous pouvez utiliser le Shadow Manager pour effectuer les opérations suivantes :

  • Interagissez avec les ombres des appareils clients dans les composants Greengrass.

  • Synchronisez les ombres de l'appareil client avecAWS IoT Core.

Note

Par défaut, le composant Shadow Manager ne synchronise pas AWS IoT Core les ombres avec. Vous devez configurer le composant Shadow Manager pour spécifier les ombres du périphérique client à synchroniser.

Prérequis

Pour interagir avec les ombres du périphérique client et synchroniser les ombres du périphérique client avec celles-ciAWS IoT Core, un périphérique principal doit répondre aux exigences suivantes :

Permettre au Shadow Manager de communiquer avec les appareils clients

Par défaut, le composant Shadow Manager ne gère pas les ombres du périphérique client. Pour activer cette fonctionnalité, vous devez relayer les messages MQTT entre les appareils clients et le composant Shadow Manager. Les appareils clients utilisent des messages MQTT pour recevoir et envoyer des mises à jour instantanées. Le composant Shadow Manager s'abonne à l'interface de publication/d'abonnement locale de Greengrass. Vous pouvez donc configurer le composant du pont MQTT pour relayer les messages MQTT sur les sujets cachés de l'appareil.

Le composant du pont MQTT utilise une liste de mappages de sujets qui spécifient chacun une source et une destination de message. Pour permettre au composant Shadow Manager de gérer les ombres du périphérique client, déployez le composant MQTT Bridge et spécifiez les sujets des ombres pour les ombres du périphérique client. Vous devez configurer le pont pour relayer les messages dans les deux sens entre le MQTT local et la publication/abonnement local.

Pour déployer le composant du 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.

Utilisez les exemples suivants pour configurer le composant pont MQTT afin de permettre la communication entre les appareils clients et le composant Shadow Manager.

Note

Vous pouvez utiliser ces exemples de configuration dans la AWS IoT Greengrass console. Si vous utilisez l'AWS IoT GreengrassAPI, la mise à jour merge de configuration nécessite un objet JSON sérialisé. Vous devez donc sérialiser les objets JSON suivants sous forme de chaînes. Pour plus d’informations, consultez Mettre à jour les configurations des composants.

Exemple : gestion de tous les ombres des appareils clients

L'exemple de configuration du pont MQTT suivant permet au gestionnaire de ombres de gérer toutes les ombres pour tous les appareils clients.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Exemple : gestion des ombres pour un appareil client

L'exemple de configuration du pont MQTT suivant permet au gestionnaire de ombres de gérer toutes les ombres d'un périphérique client nomméMyClientDevice.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Exemple : gestion d'une ombre nommée pour tous les appareils clients

L'exemple de configuration du pont MQTT suivant permet à Shadow Manager de gérer un shadow nommé DeviceConfiguration pour tous les appareils clients.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Exemple : gestion des ombres anonymes de tous les appareils clients

L'exemple de configuration du pont MQTT suivant permet au gestionnaire d'ombres de gérer les ombres anonymes, mais pas les ombres nommées, pour tous les appareils clients.

{ "mqttTopicMapping": { "DeleteShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/delete", "source": "LocalMqtt", "target": "Pubsub" }, "DeleteShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/delete/#", "source": "Pubsub", "target": "LocalMqtt" }, "GetShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/get", "source": "LocalMqtt", "target": "Pubsub" }, "GetShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/get/#", "source": "Pubsub", "target": "LocalMqtt" }, "UpdateShadowLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/update", "source": "LocalMqtt", "target": "Pubsub" }, "UpdateShadowPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/update/#", "source": "Pubsub", "target": "LocalMqtt" } } }

Interagissez avec les ombres de l'appareil client dans les composants

Vous pouvez développer des composants personnalisés qui utilisent le service parallèle local pour lire et modifier les documents fictifs locaux des appareils clients. Pour plus d’informations, consultez Interagir avec les ombres dans les composants.

Synchroniser les ombres de l'appareil client avec AWS IoT Core

Vous pouvez configurer le composant Shadow Manager pour synchroniser les états cachés du périphérique client local avecAWS IoT Core. Pour plus d'informations, consultez Synchronisez les ombres de l'appareil local avec AWS IoT Core.