Interazione e sincronizzazione delle ombre dei dispositivi client - AWS IoT Greengrass

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interazione e sincronizzazione delle ombre dei dispositivi client

È possibile utilizzare il componente shadow manager per gestire le ombre locali, incluse le ombre dei dispositivi client. È possibile utilizzare shadow manager per effettuare le seguenti operazioni:

  • Interagisci con le ombre dei dispositivi client nei componenti Greengrass.

  • Sincronizza le ombre dei dispositivi client con. AWS IoT Core

Nota

Per impostazione predefinita, il componente Shadow Manager non sincronizza le ombre conAWS IoT Core. È necessario configurare il componente shadow manager per specificare con quali ombre del dispositivo client sincronizzare.

Prerequisiti

Per interagire con le ombre dei dispositivi client e sincronizzare le ombre dei dispositivi clientAWS IoT Core, un dispositivo principale deve soddisfare i seguenti requisiti:

Abilita Shadow Manager per comunicare con i dispositivi client

Per impostazione predefinita, il componente shadow manager non gestisce le ombre dei dispositivi client. Per abilitare questa funzionalità, è necessario inoltrare i messaggi MQTT tra i dispositivi client e il componente shadow manager. I dispositivi client utilizzano i messaggi MQTT per ricevere e inviare aggiornamenti shadow dei dispositivi. Il componente shadow manager sottoscrive l'interfaccia locale di pubblicazione/sottoscrizione di Greengrass, quindi è possibile configurare il componente bridge MQTT per inoltrare messaggi MQTT su argomenti shadow del dispositivo.

Il componente bridge MQTT utilizza un elenco di mappature di argomenti, ciascuna delle quali specifica un'origine e una destinazione del messaggio. Per abilitare il componente shadow manager alla gestione delle ombre dei dispositivi client, implementate il componente bridge MQTT e specificate gli argomenti shadow per le ombre dei dispositivi client. È necessario configurare il bridge per inoltrare i messaggi in entrambe le direzioni tra MQTT locale e pubblicazione/sottoscrizione locale.

Per distribuire il componente bridge MQTT su un dispositivo principale o su un gruppo di dispositivi principali, create una distribuzione che includa il componente. aws.greengrass.clientdevices.mqtt.Bridge Specificate le mappature degli argomenti nella configurazione mqttTopicMapping del componente bridge MQTT nella distribuzione.

Utilizzate i seguenti esempi per configurare il componente bridge MQTT per abilitare la comunicazione tra i dispositivi client e il componente shadow manager.

Nota

È possibile utilizzare questi esempi di configurazione nella AWS IoT Greengrass console. Se utilizzi l'AWS IoT GreengrassAPI, l'aggiornamento della merge configurazione richiede un oggetto JSON serializzato, quindi devi serializzare i seguenti oggetti JSON in stringhe. Per ulteriori informazioni, consulta Aggiornamento delle configurazioni dei componenti.

Esempio: gestione di tutte le ombre dei dispositivi client

Il seguente esempio di configurazione del bridge MQTT consente a shadow manager di gestire tutte le ombre per tutti i dispositivi client.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Esempio: gestione delle ombre per un dispositivo client

Il seguente esempio di configurazione del bridge MQTT consente a shadow manager di gestire tutte le ombre per un dispositivo client denominato. MyClientDevice

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/MyClientDevice/shadow/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Esempio: gestire un'ombra denominata per tutti i dispositivi client

Il seguente esempio di configurazione di bridge MQTT consente a shadow manager di gestire uno shadow denominato DeviceConfiguration per tutti i dispositivi client.

{ "mqttTopicMapping": { "ShadowsLocalMqttToPubsub": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "LocalMqtt", "target": "Pubsub" }, "ShadowsPubsubToLocalMqtt": { "topic": "$aws/things/+/shadow/name/DeviceConfiguration/#", "source": "Pubsub", "target": "LocalMqtt" } } }
Esempio: gestione delle ombre senza nome di tutti i dispositivi client

Il seguente esempio di configurazione del bridge MQTT consente a shadow manager di gestire ombre senza nome, ma non ombre con nome, per tutti i dispositivi client.

{ "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" } } }

Interagisci con le ombre dei dispositivi client nei componenti

È possibile sviluppare componenti personalizzati che utilizzano il servizio shadow locale per leggere e modificare i documenti shadow locali dei dispositivi client. Per ulteriori informazioni, consulta Interagisci con le ombre nei componenti.

Sincronizza le ombre dei dispositivi client con AWS IoT Core

È possibile configurare il componente shadow manager per sincronizzare gli stati shadow dei dispositivi client locali con. AWS IoT Core Per ulteriori informazioni, consulta Sincronizza le ombre del dispositivo locale con AWS IoT Core.