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à.
Sincronizza le ombre del dispositivo locale con AWS IoT Core
Il componente shadow manager consente di AWS IoT Greengrass sincronizzare gli stati ombra del dispositivo locale con. AWS IoT Core È necessario modificare la configurazione del componente shadow manager per includere il parametro di synchronization
configurazione e specificare i nomi AWS IoT degli oggetti per i dispositivi e le ombre che si desidera sincronizzare.
Quando configurate Shadow Manager per sincronizzare le ombre, sincronizza tutte le modifiche di stato per le ombre specificate, indipendentemente dal fatto che le modifiche avvengano nei documenti shadow locali o nei documenti shadow nel cloud.
È inoltre possibile specificare se il componente shadow manager sincronizza le ombre in tempo reale o a intervalli periodici. Per impostazione predefinita, il componente shadow manager sincronizza le ombre in tempo reale, in modo che il dispositivo principale invii e riceva gli aggiornamenti delle ombre da e verso ogni aggiornamento. AWS IoT Core È possibile configurare intervalli periodici per ridurre l'utilizzo della larghezza di banda e i costi.
Argomenti
Prerequisiti
Per sincronizzare le ombre locali conAWS IoT Core, è necessario configurare la politica del dispositivo principale AWS IoT di Greengrass per consentire le AWS IoT Core seguenti azioni di policy ombra.
-
iot:GetThingShadow
-
iot:UpdateThingShadow
-
iot:DeleteThingShadow
Per ulteriori informazioni, consulta gli argomenti seguenti:
Configurare il componente shadow manager
Lo shadow manager richiede un elenco di mappature dei nomi shadow per sincronizzare le informazioni sullo stato ombra nei documenti shadow locali con i documenti shadow nel cloud. AWS IoT Core
Per sincronizzare gli stati shadow, create una distribuzione che includa il aws.greengrass.ShadowManager
componente e specificate le shadow che desiderate sincronizzare nel parametro di synchronize
configurazione nella configurazione dello shadow manager nella distribuzione.
Nota
Per consentire a un dispositivo principale di interagire con le ombre dei dispositivi client, è inoltre necessario configurare e distribuire il componente bridge MQTT. Per ulteriori informazioni, consultate Attivare lo shadow manager per comunicare con i dispositivi client.
L'aggiornamento della configurazione di esempio seguente indica al componente shadow manager di sincronizzare le seguenti ombre con: AWS IoT Core
-
L'ombra classica per il dispositivo principale
-
Il nome
MyCoreShadow
del dispositivo principale -
La classica ombra per una cosa chiamata IoT
MyDevice2
-
Le ombre denominate
MyShadowA
eMyShadowB
per una cosa chiamata IoTMyDevice1
Questo aggiornamento della configurazione specifica di sincronizzare le ombre con AWS IoT Core in tempo reale. Se si utilizza shadow manager v2.1.0 o versione successiva, è possibile configurare il componente shadow manager per sincronizzare le ombre a intervalli periodici. Per configurare questa funzionalità, modificate la strategia di sincronizzazione in e specificate un intervallo delay
in secondi. periodic
Per ulteriori informazioni, vedete il parametro di configurazione della strategia del componente shadow manager.
Questo aggiornamento della configurazione specifica di sincronizzare le ombre in entrambe le direzioni tra AWS IoT Core e il dispositivo principale. Se si utilizza shadow manager v2.2.0 o versione successiva, è possibile configurare il componente Shadow Manager per sincronizzare le ombre in una sola direzione. Per configurare questa funzionalità, modifica la sincronizzazione direction
in o. deviceToCloud
cloudToDevice
Per ulteriori informazioni, vedete il parametro di configurazione della direzione del componente shadow manager.
{ "strategy": { "type": "realTime" }, "synchronize": { "coreThing": { "classic": true, "namedShadows": [ "MyCoreShadow" ] }, "shadowDocuments": [ { "thingName": "MyDevice1", "classic": false, "namedShadows": [ "MyShadowA", "MyShadowB" ] }, { "thingName": "MyDevice2", "classic": true, "namedShadows": [ ] } ], "direction": "betweenDeviceAndCloud" } }
Sincronizza le ombre locali
Quando il dispositivo principale Greengrass è connesso al AWS IoT cloud, lo shadow manager esegue le seguenti attività per le ombre specificate nella configurazione del componente. Il comportamento dipende dall'opzione di configurazione della direzione di sincronizzazione delle ombre specificata. Per impostazione predefinita, Shadow Manager utilizza l'betweenDeviceAndCloud
opzione per sincronizzare le ombre in entrambe le direzioni. Se si utilizza shadow manager v2.2.0 o versione successiva, è possibile configurare il dispositivo principale per sincronizzare le ombre in una sola direzione, che può essere o. cloudToDevice
deviceToCloud
-
Se la configurazione della direzione di sincronizzazione dello shadow è
betweenDeviceAndCloud
ocloudToDevice
, shadow manager recupera le informazioni sullo stato riportate dal documento cloud shadow in. AWS IoT Core Quindi, aggiorna i documenti shadow archiviati localmente per sincronizzare lo stato del dispositivo. -
Se la configurazione della direzione di sincronizzazione dello shadow è
betweenDeviceAndCloud
odeviceToCloud
, shadow manager pubblica lo stato corrente del dispositivo nel documento cloud shadow.
Comportamento dei conflitti di fusione delle ombre
In alcuni casi, ad esempio quando il dispositivo principale è disconnesso da Internet, uno shadow potrebbe cambiare nel servizio shadow locale e nel AWS IoT cloud prima che lo shadow manager sincronizzi le modifiche. Di conseguenza, gli stati desiderati e quelli riportati differiscono tra il servizio shadow locale e il cloud AWS IoT
Quando lo shadow manager sincronizza l'ombra, unisce le modifiche in base al seguente comportamento:
-
Se utilizzate una versione di shadow manager precedente alla v2.2.0 o quando specificate la direzione di sincronizzazione dello
betweenDeviceAndCloud
shadow, si applica il seguente comportamento:-
Quando si verifica un conflitto di fusione nello stato desiderato di un'ombra, lo shadow manager sovrascrive la sezione in conflitto del documento shadow locale con il valore proveniente dal cloud. AWS IoT
-
Quando si verifica un conflitto di unione nello stato riportato da un'ombra, lo shadow manager sovrascrive la sezione in conflitto dell'ombra nel AWS IoT cloud con il valore del documento shadow locale.
-
-
Quando specificate la
deviceToCloud
direzione di sincronizzazione delle ombre, lo shadow manager sovrascrive la sezione in conflitto dell'ombra nel AWS IoT cloud con il valore del documento shadow locale. -
Quando specificate la direzione di sincronizzazione dello
cloudToDevice
shadow, lo shadow manager sovrascrive la sezione in conflitto del documento shadow locale con il valore proveniente dal cloud. AWS IoT