Reter o estado do dispositivo enquanto o dispositivo está off-line com as sombras do dispositivo - AWS IoT Core

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.

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 objeto desired.

  • reported: Os dispositivos relatam seu estado atual no objeto reported.

  • delta: O AWS IoT relata as diferenças entre o estado desejado e relatado no objeto delta.

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.