As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Reter o estado do dispositivo enquanto o dispositivo está off-line com as sombras do dispositivo
Esses tutoriais mostram como usar o serviço Sombra do Dispositivo AWS IoT para armazenar e atualizar as informações de estado de um dispositivo. O documento Shadow, que é um documento JSON, mostra a alteração no estado do dispositivo com base nas mensagens publicadas por um dispositivo, aplicativo local ou serviço. Neste tutorial, o documento Shadow mostra a mudança na cor de uma lâmpada. Esses tutoriais também mostram como a sombra armazena essas informações mesmo quando o dispositivo está desconectado da Internet e passa as informações de estado mais recentes para o dispositivo quando ele volta a ficar on-line e solicita essas informações.
Recomendamos que você veja esses tutoriais na ordem em que são mostrados aqui, começando com os recursos AWS IoT que você precisa criar e a configuração de hardware necessária, o que também ajuda você a aprender os conceitos de forma incremental. Esses tutoriais mostram como configurar e conectar um dispositivo Raspberry Pi para uso com AWS IoT. Se você não tiver o hardware necessário, poderá seguir esses tutoriais adaptando-os a um dispositivo de sua escolha ou criando um dispositivo virtual com o Amazon EC2.
Visão geral do cenário do tutorial
O cenário desses tutoriais é um aplicativo ou serviço local que altera a cor de uma lâmpada e publica seus dados em tópicos de sombra reservados. Esses tutoriais são semelhantes à funcionalidade Sombra do Dispositivo descrita no tutorial interativo de introdução e são implementados em um dispositivo Raspberry Pi. Os tutoriais nesta seção concentram-se em uma única sombra clássica e mostram como você pode acomodar sombras nomeadas ou vários dispositivos.
Os tutoriais a seguir ajudarão você a aprender como usar o serviço Sombra do Dispositivo AWS IoT.
-
Tutorial: preparando seu Raspberry Pi para executar o aplicativo de sombra
Este tutorial mostra como configurar um dispositivo Raspberry Pi para conexão com o AWS IoT. Você também criará um documento de política AWS IoT e um recurso, baixará os certificados e anexará a política a esse recurso. A conclusão deste tutorial requer cerca de 30 minutos.
-
Tutorial: instalando o Device SDK e executando o aplicativo de amostra para Sombras do Dispositivo
Este tutorial mostra como instalar as ferramentas e o software necessários e o AWS IoT Device SDK para Python e, em seguida, executar o aplicativo sombra de amostra. Este tutorial se baseia nos conceitos apresentados em Conectar um Raspberry Pi ou outro dispositivo e leva 20 minutos para ser concluído.
-
Tutorial: interagindo com a Sombra do Dispositivo usando o aplicativo de amostra e o cliente de teste MQTT
Este tutorial mostra como você usa o aplicativo de amostra
shadow.py
e o console AWS IoT para observar a interação entre Sombras do Dispositivo AWS IoT e as mudanças de estado da lâmpada. O tutorial também mostra como enviar mensagens MQTT para os tópicos reservados da Sombra do Dispositivo. A conclusão deste tutorial pode levar cerca de 45 minutos.
Visão geral da Sombra do Dispositivo AWS IoT
A Sombra do Dispositivo é uma representação virtual persistente de um dispositivo gerenciado por um recurso criado por você no registro AWS IoT. O documento de sombra é um documento de notação JSON ou JavaScript usado para armazenar e recuperar as informações do estado atual de um dispositivo. Você pode usar a sombra para obter e definir o estado de um dispositivo em tópicos MQTT ou APIs REST HTTP, independentemente de o dispositivo estar conectado à Internet.
Um documento de sombra contém uma state
propriedade que descreve esses aspectos do estado do dispositivo.
-
desired
: Os aplicativos especificam os estados desejados das propriedades do dispositivo atualizando o objetodesired
. -
reported
: Os dispositivos relatam seu estado atual no objetoreported
. -
delta
: O AWS IoT relata as diferenças entre o estado desejado e relatado no objetodelta
.
Veja um exemplo de documento do estado de sombra.
{ "state": { "desired": { "color": "green" }, "reported": { "color": "blue" }, "delta": { "color": "green" } } }
Para atualizar o documento de sombra do dispositivo, você pode usar os tópicos MQTT reservados, as APIs REST de sombra do dispositivo que suportam as operações GET
, UPDATE
, e DELETE
com HTTP e AWS IoTCLI
No exemplo anterior, digamos que você queira alterar a cor desired
para yellow
. Para fazer isso, envie uma solicitação para a API UpdateThingShadow ou publique uma mensagem no tópico Atualizar, $aws/things/THING_NAME/shadow/update
.
{ "state": { "desired": { "color": yellow } } }
As atualizações afetam apenas os campos especificados na solicitação. Depois de atualizar com sucesso a sombra do dispositivo, AWS IoT é publicado o novo estado desired
no delta
tópico, $aws/things/THING_NAME/shadow/delta
. O documento de sombra, nesse caso, tem a seguinte aparência:
{ "state": { "desired": { "color": yellow }, "reported": { "color": green }, "delta": { "color": yellow } } }
O novo estado é então reportado a AWS IoT sombra do dispositivo usando o Update
tópico $aws/things/THING_NAME/shadow/update
com a seguinte mensagem JSON:
{ "state": { "reported": { "color": yellow } } }
Se você quiser obter as informações do estado atual, envie uma solicitação para a API GetThingShadow ou publique uma mensagem MQTT no tópico Obter, $aws/things/THING_NAME/shadow/get
.
Para obter mais informações sobre como usar o serviço de sombra do dispositivo, consulte AWS IoT Serviço Device Shadow.
Para obter mais informações sobre o uso de sombra do dispositivo em dispositivos, aplicativos e serviços, consulte Usar sombras em dispositivos e Usar sombras em aplicativos e serviços.
Para obter informações sobre a interação com a sombra de AWS IoT, consulte Interagir com sombras.
Para obter informações sobre os tópicos reservados do MQTT e as HTTP APIs REST, consulte MQTTTópicos do Device Shadow e Device Shadow REST API.