Share via


Metadados de informação do dispositivo na solução pré-configurada de monitorização remota

A solução pré-configurada de monitorização remota Azure IoT Suite demonstra uma abordagem para gerir metadados de dispositivos. Este artigo descreve a abordagem que esta solução toma para que possa compreender:

  • Que dispositivo metadados a solução armazena.
  • Como a solução gere os metadados do dispositivo.

Contexto

A solução de monitorização remota pré-configurada utiliza Hub IoT do Azure para permitir que os seus dispositivos enviem dados para a nuvem. A solução armazena informações sobre dispositivos em três locais diferentes:

Localização Informação armazenada Implementação
Registo de identidade Id do dispositivo, chaves de autenticação, estado ativado Construído para Hub IoT
Gémeos do dispositivo Metadados: propriedades reportadas, propriedades desejadas, tags Construído para Hub IoT
Cosmos DB História do comando e do método Personalizado para solução

Hub IoT inclui um registo de identidade do dispositivo para gerir o acesso a um hub IoT e usa gémeos de dispositivos para gerir metadados do dispositivo. Existe também um registo de dispositivos específicos de solução de monitorização remota que armazena o histórico de comandos e métodos. A solução de monitorização remota utiliza uma base de dados Cosmos DB para implementar uma loja personalizada para o histórico de comandos e métodos.

Nota

A solução de monitorização remota pré-configurada mantém o registo de identidade do dispositivo sincronizado com as informações na base de dados do Cosmos DB. Ambos usam o mesmo id do dispositivo para identificar de forma única cada dispositivo ligado ao seu hub IoT.

Metadados do dispositivo

Hub IoT mantém um dispositivo gémeo para cada dispositivo simulado e físico ligado a uma solução de monitorização remota. A solução utiliza gémeos de dispositivos para gerir os metadados associados aos dispositivos. Um twin dispositivo é um documento JSON mantido por Hub IoT, e a solução utiliza a API Hub IoT para interagir com gémeos do dispositivo.

Um dispositivo gémeo armazena três tipos de metadados:

  • As propriedades reportadas são enviadas para um centro de IoT por um dispositivo. Na solução de monitorização remota, os dispositivos simulados enviam propriedades reportadas no arranque e em resposta aos comandos e métodos do estado do dispositivo Change . Pode ver as propriedades reportadas na lista de Dispositivos e detalhes do Dispositivo no portal da solução. As propriedades reportadas são lidas apenas.
  • As propriedades desejadas são recuperadas do hub IoT por dispositivos. É da responsabilidade do dispositivo fazer qualquer alteração de configuração necessária no dispositivo. É também da responsabilidade do dispositivo reportar a mudança de volta ao hub como uma propriedade reportada. Pode definir um valor de propriedade desejado através do portal da solução.
  • As etiquetas só existem no dispositivo gémeo e nunca são sincronizadas com um dispositivo. Pode definir valores de marcação no portal da solução e usá-los quando filtrar a lista de dispositivos. A solução também usa uma etiqueta para identificar o ícone para exibir para um dispositivo no portal da solução.

As propriedades reportadas por exemplo dos dispositivos simulados incluem o fabricante, o número do modelo, a latitude e a longitude. Os dispositivos simulados também devolvem a lista de métodos suportados como uma propriedade reportada.

Nota

O código do dispositivo simulado utiliza apenas as propriedades pretendidas Desired.Config.TemperatureMeanValue e Desired.Config.TelemetryInterval para atualizar as propriedades comunicadas enviadas de volta para o Hub IoT. Todos os outros pedidos de alteração de propriedade pretendidos são ignorados.

Um documento JSON de informação de informação do dispositivo armazenado na base de dados cosmos DB do registo do dispositivo tem a seguinte estrutura:

{
  "DeviceProperties": {
    "DeviceID": "deviceid1",
    "HubEnabledState": null,
    "CreatedTime": "2016-04-25T23:54:01.313802Z",
    "DeviceState": "normal",
    "UpdatedTime": null
    },
  "SystemProperties": {
    "ICCID": null
  },
  "Commands": [],
  "CommandHistory": [],
  "IsSimulatedDevice": false,
  "id": "fe81a81c-bcbc-4970-81f4-7f12f2d8bda8"
}

Nota

As informações do dispositivo também podem incluir metadados para descrever a telemetria que o dispositivo envia para Hub IoT. A solução de monitorização remota utiliza estes metadados de telemetria para personalizar a forma como o painel de instrumentos exibe telemetria dinâmica.

Ciclo de vida

Quando cria um dispositivo no portal da solução, a solução cria uma entrada na base de dados do Cosmos DB para armazenar o histórico de comandos e métodos. Neste ponto, a solução também cria uma entrada para o dispositivo no registo de identidade do dispositivo, que gera as chaves que o dispositivo utiliza para autenticar com Hub IoT. Também cria um dispositivo gémeo.

Quando um dispositivo se liga pela primeira vez à solução, envia propriedades reportadas e uma mensagem de informação do dispositivo. Os valores de propriedade reportados são automaticamente guardados no twin do dispositivo. As propriedades relatadas incluem o fabricante do dispositivo, o número do modelo, o número de série e uma lista de métodos suportados. A mensagem de informação do dispositivo inclui a lista dos comandos que o dispositivo suporta, incluindo informações sobre quaisquer parâmetros de comando. Quando a solução recebe esta mensagem, atualiza a informação do dispositivo na base de dados do Cosmos DB.

Ver e editar informações do dispositivo no portal da solução

A lista de dispositivos no portal da solução apresenta as seguintes propriedades do dispositivo como colunas por predefinição: Estado, DeviceId, Fabricante, Número de Modelo, Número de Série, Firmware, Plataforma, Processador e RAM instalado. Pode personalizar as colunas clicando no editor da Coluna. As propriedades do dispositivo Latitude e Longitude conduzem a localização no Mapa Bing no painel de instrumentos.

Editor de coluna na lista de dispositivos

No painel de detalhes do dispositivo no portal da solução, pode editar as propriedades e tags desejadas (as propriedades reportadas são apenas lidas).

Painel de detalhes do dispositivo

Pode utilizar o portal da solução para remover um dispositivo da sua solução. Quando remove um dispositivo, a solução remove a entrada do dispositivo do registo de identidade e, em seguida, elimina o dispositivo de gémeo. A solução também remove informações relacionadas com o dispositivo da base de dados Cosmos DB. Antes de poder remover um dispositivo, deve desativá-lo.

Remover dispositivo

Processamento de mensagens de informação do dispositivo

As mensagens de informação do dispositivo enviadas por um dispositivo são distintas das mensagens de telemetria. As mensagens de informação do dispositivo incluem os comandos a que um dispositivo pode responder e qualquer histórico de comando. Hub IoT não tem conhecimento dos metadados contidos numa mensagem de informação do dispositivo e processa a mensagem da mesma forma que processa qualquer mensagem de dispositivo para nuvem. Na solução de monitorização remota, um trabalho do Azure Stream Analytics (ASA) lê as mensagens de Hub IoT. O software Info stream analytics filtra para mensagens que contenham "ObjectType": "DeviceInfo" e reencaminho-los para o caso de anfitrião EventProcessorHost que funciona numa obra web. A lógica na instância EventProcessorHost utiliza o ID do dispositivo para encontrar o registo de DB do Cosmos para o dispositivo específico e atualizar o registo.

Nota

Uma mensagem de informação do dispositivo é uma mensagem padrão de dispositivo para nuvem. A solução distingue entre mensagens de informação do dispositivo e mensagens de telemetria utilizando consultas ASA.

Passos seguintes

Agora que terminou de aprender como pode personalizar as soluções pré-configuradas, pode explorar algumas das outras funcionalidades e capacidades das soluções pré-configuradas IoT Suite: