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.
-
Tutorial: Preparazione del Raspberry Pi per eseguire l'applicazione shadow
Questi tutorial mostrano come configurare un dispositivo Raspberry Pi per la connessione con AWS IoT. Si creerà anche un documento della policy e una risorsa di un oggetto AWS IoT, scaricare i certificati e quindi allegare la policy a tale risorsa. Questo tutorial dura circa 30 minuti.
-
Tutorial: Installare l'SDK di dispositivo ed eseguire l’applicazione di esempio per Device Shadows
In questo tutorial viene illustrato come installare gli strumenti necessari, il software e il SDK di dispositivo per Python AWS IoT e quindi eseguire l'applicazione shadow di esempio. Questo tutorial si basa sui concetti presentati in Connettere un Raspberry Pi o altro dispositivo e il completamento richiede 20 minuti.
-
Tutorial: Interagisci con Device Shadow utilizzando l’app di esempio e il client di test MQTT
In questo tutorial viene illustrato come utilizzare l’app di esempio
shadow.py
e la console AWS IoT per osservare l'interazione tra Device Shadows AWS IoT e i cambiamenti di stato della lampadina. Il tutorial mostra anche come inviare messaggi MQTT agli argomenti riservati di Device Shadow. Questo tutorial dura circa 45 minuti.
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'oggettodesired
. -
reported
: i dispositivi segnalano il loro stato corrente nell'oggettoreported
. -
delta
: AWS IoT segnala le differenze tra lo stato desiderato e quello riportato nell'oggettodelta
.
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 MQTTArgomenti Device Shadow e Device Shadow REST API.