Mantenimento dello stato del dispositivo mentre il dispositivo è disconnesso da Device Shadows - AWS IoT Core

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à.

Mantenimento dello stato del dispositivo mentre il dispositivo è disconnesso da Device Shadows

Questi tutorial mostrano come utilizzare il Servizio Device Shadow AWS IoT per archiviare e aggiornare le informazioni sullo stato di un dispositivo. Il documento Shadow, che è un documento JSON, mostra la modifica dello stato del dispositivo in base ai messaggi pubblicati da un dispositivo, un'app locale o un servizio. In questo tutorial, il documento Shadow mostra la modifica del colore di una lampadina. Questi tutorial mostrano anche come Shadow archivia queste informazioni anche quando il dispositivo è disconnesso da Internet e trasmette le informazioni più recenti sullo stato al dispositivo quando torna online e richiede queste informazioni.

Ti consigliamo di provare questi tutorial nell'ordine in cui sono mostrati qui, a partire dalle risorse AWS IoT necessarie per creare e la configurazione hardware necessaria, che consente anche di apprendere i concetti in modo incrementale. Questi tutorial mostrano come configurare e collegare un dispositivo Raspberry Pi per l'utilizzo con AWS IoT. Se non si dispone dell'hardware necessario, è possibile seguire questi tutorial adattandoli a un dispositivo di propria scelta o con la creazione di un dispositivo virtuale con Amazon EC2.

Panoramica dello scenario tutorial

Lo scenario di questi tutorial è un'app o un servizio locale che cambia il colore di una lampadina e che pubblica i dati in argomenti shadow riservati. Questi tutorial sono simili alla funzionalità Device Shadow descritta in Interactive getting started tutorial (Tutorial interattivo sulle nozioni di base) e sono implementati su un dispositivo Raspberry Pi. I tutorial in questa sezione si concentrano su una singola shadow classica, mostrando il modo in cui è possibile inserire le shadow o più dispositivi.

I seguenti tutorial in questa sezione ti aiuteranno a imparare a utilizzare il Servizio Device Shadow AWS IoT.

AWS IoT Panoramica Device Shadow

Un Device Shadow è una rappresentazione virtuale permanente di un dispositivo gestito da una risorsa oggetto che si crea nel registro AWS IoT. Un documento shadow è un documento JSON o JavaScript usato per archiviare e recuperare informazioni sullo stato corrente di un dispositivo. Puoi usare la copia shadow per ottenere e impostare lo stato di un dispositivo tramite MQTT o API REST HTTP, a prescindere che il dispositivo sia connesso o meno a Internet.

Il documento di una copia shadow contiene una proprietà state che descrive questi aspetti dello stato del dispositivo.

  • desired: le app specificano gli stati desiderati delle proprietà del dispositivo aggiornando l'oggetto desired.

  • reported: i dispositivi segnalano il loro stato corrente nell'oggetto reported.

  • delta: AWS IoT segnala le differenze tra lo stato desiderato e quello riportato nell'oggetto delta.

Di seguito è illustrato un esempio di documento di uno stato Shadow.

{ "state": { "desired": { "color": "green" }, "reported": { "color": "blue" }, "delta": { "color": "green" } } }

Per aggiornare il documento Shadow di un dispositivo, è possibile utilizzare Argomenti MQTT riservati, API REST Device Shadow che supportano le operazioni GET, UPDATE e DELETE con HTTP e la CLI AWS IoT.

Nell'esempio precedente, supponiamo che tu voglia modificare il colore desired con yellow. A tale scopo, invia una richiesta all’API UpdateThingShadow o pubblica un messaggio nell'argomento Aggiorna, $aws/things/THING_NAME/shadow/update.

{ "state": { "desired": { "color": yellow } } }

Gli aggiornamenti interessano solo i campi specificati nella richiesta. Dopo aver aggiornato correttamente il Device Shadow, AWS IoT pubblica il nuovo stato desired nell’argomento delta, $aws/things/THING_NAME/shadow/delta. Il documento Shadow in questo caso ha il seguente aspetto:

{ "state": { "desired": { "color": yellow }, "reported": { "color": green }, "delta": { "color": yellow } } }

Il nuovo stato viene quindi segnalato al Device Shadow AWS IoT utilizzando l’argomento Update $aws/things/THING_NAME/shadow/update con il seguente messaggio JSON:

{ "state": { "reported": { "color": yellow } } }

Se desideri ottenere le informazioni sullo stato attuale, invia una richiesta all'API GetThingShadow o pubblica un messaggio MQTT nell’argomento Ottieni, $aws/things/THING_NAME/shadow/get.

Per ulteriori informazioni sul funzionamento del Servizio Device Shadow, consulta AWS IoT Servizio Device Shadow.

Per ulteriori informazioni sull'utilizzo di Device Shadows su dispositivi, app e servizi, consulta Utilizzo delle copie shadow nei dispositivi e Utilizzo delle copie shadow in app e servizi.

Per informazioni sull'interazione con Shadows AWS IoT, consulta Interazione con le copia shadow.

Per ulteriori informazioni sugli argomenti riservati MQTT e sulle API REST HTTP, consulta Argomenti MQTT di Device Shadow e API REST del servizio Device Shadow.