Gestão automática de módulos e dispositivos IoT no portal do Azure

O gerenciamento automático de dispositivos no Hub IoT do Azure automatiza muitas das tarefas repetitivas e complexas do gerenciamento de grandes frotas de dispositivos. Com o gerenciamento automático de dispositivos, você pode direcionar um conjunto de dispositivos com base em suas propriedades, definir uma configuração desejada e, em seguida, permitir que o Hub IoT atualize os dispositivos quando eles entrarem no escopo. Essa atualização é feita usando uma configuração automática de dispositivo ou configuração automática de módulo, que permite resumir a conclusão e a conformidade, lidar com mesclagens e conflitos e implantar configurações em uma abordagem em fases.

Nota

Os recursos descritos neste artigo estão disponíveis somente na camada padrão do Hub IoT. Para obter mais informações sobre as camadas básica e padrão/gratuita do Hub IoT, consulte Escolha a camada certa do Hub IoT para sua solução.

O gerenciamento automático de dispositivos funciona atualizando um conjunto de gêmeos de dispositivo ou gêmeos de módulo com propriedades desejadas e relatando um resumo baseado em propriedades relatadas por gêmeos. Ele introduz uma nova classe e um documento JSON chamado Configuration que tem três partes:

  • A condição de destino define o escopo dos gêmeos de dispositivo ou gêmeos de módulo a serem atualizados. A condição de destino é especificada como uma consulta em tags gêmeas e/ou propriedades relatadas.

  • O conteúdo de destino define as propriedades desejadas a serem adicionadas ou atualizadas nos gêmeos de dispositivo ou de módulo de destino. O conteúdo inclui um caminho para a seção de propriedades desejadas a serem alteradas.

  • As métricas definem as contagens de resumo de vários estados de configuração, como Sucesso, Em Andamento e Erro. As métricas personalizadas são especificadas como consultas em propriedades geminadas relatadas. As métricas do sistema são as métricas padrão que medem o status de atualização de gêmeos, como o número de gêmeos que são direcionados e o número de gêmeos que foram atualizados com êxito.

As configurações automáticas são executadas pela primeira vez logo após a configuração ser criada e, em seguida, em intervalos de cinco minutos. As consultas de métricas são executadas sempre que a configuração automática é executada. Um máximo de 100 configurações automáticas é suportado em hubs IoT de camada padrão; dez em hubs IoT de nível gratuito. Os limites de limitação também se aplicam. Para saber mais, consulte Cotas e limitação.

Implementar gêmeos

As configurações automáticas de dispositivos exigem o uso de gêmeos de dispositivos para sincronizar o estado entre a nuvem e os dispositivos. Para obter mais informações, veja Understand and use device twins in IoT Hub (Compreender e utilizar dispositivos duplos no Hub IoT).

As configurações automáticas de módulos exigem o uso de gêmeos de módulo para sincronizar o estado entre a nuvem e os módulos. Para obter mais informações, consulte Compreender e usar gêmeos de módulo no Hub IoT.

Use tags para segmentar gêmeos

Antes de criar uma configuração, você deve especificar quais dispositivos ou módulos deseja afetar. O Hub IoT do Azure identifica dispositivos usando marcas no gêmeo de dispositivo e identifica módulos usando marcas no gêmeo de módulo. Cada dispositivo ou módulo pode ter várias tags e você pode defini-las de qualquer maneira que faça sentido para sua solução. Por exemplo, se você gerenciar dispositivos em locais diferentes, adicione as seguintes tags a um dispositivo gêmeo:

"tags": {
	"location": {
		"state": "Washington",
		"city": "Tacoma"
    }
},

Criar uma configuração

Você pode criar um máximo de 100 configurações automáticas em hubs IoT de camada padrão; dez em hubs IoT de nível gratuito. Para saber mais, consulte Cotas e limitação.

  1. No portal do Azure, vá para seu hub IoT.

  2. Selecione Configurações + Implantações no painel de navegação esquerdo.

  3. Selecione Adicionar e escolha Configuração dupla de dispositivo ou Configuração de módulo duplo na lista suspensa.

    Screenshot showing how to add a configuration.

Há cinco etapas para criar uma configuração. As seções a seguir percorrem cada uma delas.

Nome e rótulo

  1. Dê à sua configuração um nome exclusivo com até 128 caracteres. São permitidas letras minúsculas e os seguintes caracteres especiais: -+%_*!'. Não são permitidos espaços.

  2. Adicione etiquetas para ajudar a controlar as suas configurações. Os rótulos são pares Nome, Valor que descrevem sua configuração. Por exemplo, HostPlatform, Linux ou Version, 3.0.1.

  3. Selecione Avançar para passar para a próxima etapa.

Configurações gêmeas

Esta seção define o conteúdo a ser definido nas propriedades desejadas de gêmeo de dispositivo ou módulo de destino. Há duas entradas para cada conjunto de configurações. O primeiro é o caminho gêmeo, que é o caminho para a seção JSON dentro das propriedades desejadas gêmeas que serão definidas. O segundo é o conteúdo JSON a ser inserido nessa seção.

Por exemplo, você pode definir o caminho gêmeo para properties.desired.chiller-water e, em seguida, fornecer o seguinte conteúdo JSON:

{
  "temperature": 66,
  "pressure": 28
}

Screenshot of setting the device or module twin property and json content.

Você também pode definir configurações individuais especificando o caminho gêmeo inteiro e fornecendo o valor sem colchetes. Por exemplo, com o caminho properties.desired.chiller-water.temperaturegêmeo , defina o conteúdo como 66. Em seguida, crie uma nova configuração dupla para a propriedade de pressão.

Se duas ou mais configurações tiverem como destino o mesmo caminho gêmeo, o conteúdo da configuração de prioridade mais alta será aplicado (a prioridade é definida na etapa 4).

Se desejar remover uma propriedade existente, especifique o valor da propriedade como null.

Você pode adicionar configurações adicionais selecionando Adicionar configuração de gêmeo de dispositivo ou Adicionar configuração de gêmeo de módulo.

Dispositivos ou módulos alvo

Use a propriedade tags de seus gêmeos para direcionar os dispositivos ou módulos específicos que devem receber essa configuração. Você também pode segmentar propriedades geminadas relatadas.

As configurações automáticas de dispositivos só podem direcionar tags gêmeas de dispositivos e as configurações automáticas de módulos só podem direcionar tags gêmeas de módulos.

Como várias configurações podem ter como alvo o mesmo dispositivo ou módulo, cada configuração precisa de um número de prioridade. Se houver algum conflito, vence a configuração com a prioridade mais alta.

  1. Insira um número inteiro positivo para a Prioridade de configuração. O maior valor numérico é considerado a prioridade mais alta. Se duas configurações tiverem o mesmo número de prioridade, vence a que foi criada mais recentemente.

  2. Insira uma condição de destino para determinar quais dispositivos ou módulos serão direcionados com essa configuração. A condição é baseada em tags gêmeas ou propriedades relatadas de gêmeos e deve corresponder ao formato da expressão.

    Para a configuração automática do dispositivo, você pode especificar apenas a tag ou a propriedade relatada para o destino. Por exemplo, tags.environment='test' ou properties.reported.chillerProperties.model='4000x'. Você pode especificar * para direcionar todos os dispositivos.

    Para configuração automática de módulos, use uma consulta para especificar tags ou propriedades relatadas dos módulos registrados no hub IoT. Por exemplo, from devices.modules where tags.environment='test' ou from devices.modules where properties.reported.chillerProperties.model='4000x'. O curinga não pode ser usado para direcionar todos os módulos.

Métricas do

As métricas fornecem contagens resumidas dos vários estados que um dispositivo ou módulo pode relatar após a aplicação do conteúdo de configuração. Por exemplo, você pode criar uma métrica para alterações de configurações pendentes, uma métrica para erros e uma métrica para alterações de configurações bem-sucedidas.

Cada configuração pode ter até cinco métricas personalizadas.

  1. Insira um nome para Nome da métrica.

  2. Insira uma consulta para Critérios de métrica. A consulta é baseada em propriedades relatadas de gêmeos de dispositivo. A métrica representa o número de linhas retornadas pela consulta.

    Por exemplo:

    SELECT deviceId FROM devices 
      WHERE properties.reported.chillerWaterSettings.status='pending'
    

    Você pode incluir uma cláusula de que a configuração foi aplicada, por exemplo:

    /* Include the double brackets. */
    SELECT deviceId FROM devices 
      WHERE configurations.[[yourconfigname]].status='Applied'
    

    Se você estiver criando uma métrica para gerar relatórios sobre módulos configurados, selecione moduleId em devices.modules. Por exemplo:

    SELECT deviceId, moduleId FROM devices.modules
      WHERE properties.reported.lastDesiredStatus.code = 200
    

Rever a configuração

Reveja as informações de configuração e, em seguida, selecione Submeter.

Monitorar uma configuração

Para exibir os detalhes de uma configuração e monitorar os dispositivos que a executam, use as seguintes etapas:

  1. No portal do Azure, vá para seu hub IoT.

  2. Selecione Configurações em Gerenciamento de dispositivos.

  3. Inspecione a lista de configurações. Para cada configuração, você pode exibir os seguintes detalhes:

    • ID - o nome da configuração.

    • Condição de destino - a consulta usada para definir dispositivos ou módulos de destino.

    • Prioridade - o número de prioridade atribuído à configuração.

    • Hora de criação - o carimbo de data/hora de quando a configuração foi criada. Esse carimbo de data/hora é usado para quebrar laços quando duas configurações têm a mesma prioridade.

    • Métricas do sistema - métricas que são calculadas pelo Hub IoT e não podem ser personalizadas pelos desenvolvedores. Target especifica o número de gêmeos de dispositivo que correspondem à condição de destino. Aplica-se especificado o número de gêmeos de dispositivo que foram modificados pela configuração, que pode incluir modificações parciais no caso de uma configuração separada e de prioridade mais alta também fazer alterações.

    • Métricas personalizadas - métricas que foram especificadas pelo desenvolvedor como consultas em propriedades geminadas relatadas. Até cinco métricas personalizadas podem ser definidas por configuração.

  4. Selecione a configuração que você deseja monitorar.

  5. Inspecione os detalhes da configuração. Você pode usar guias para exibir detalhes específicos sobre os dispositivos que receberam a configuração.

    • Dispositivos de Destino ou Módulos de Destino - os dispositivos ou módulos que correspondem à condição de destino.

    • Métricas - uma lista de métricas do sistema e métricas personalizadas. Você pode exibir uma lista de dispositivos ou módulos que são contados para cada métrica selecionando a métrica na lista suspensa e, em seguida, selecionando Exibir dispositivos ou Exibir módulos.

    • Rótulos - pares chave-valor usados para descrever uma configuração. Os rótulos não têm impacto na funcionalidade.

    • Configurações de gêmeos de dispositivo ou configurações de gêmeos de módulo - as configurações gêmeas que são definidas pela configuração, se houver.

Modificar uma configuração

Quando você modifica uma configuração, as alterações são replicadas imediatamente para todos os dispositivos ou módulos de destino.

Se você atualizar a condição de destino, as seguintes atualizações ocorrerão:

  • Se um gêmeo não atendesse à condição de destino antigo, mas atendesse à nova condição de destino e essa configuração fosse a prioridade mais alta para esse gêmeo, essa configuração seria aplicada.

  • Se um gêmeo atualmente executando essa configuração não atender mais à condição de destino, as configurações da configuração serão removidas e o gêmeo será modificado pela próxima configuração de prioridade mais alta.

  • Se um gêmeo atualmente executando essa configuração não atender mais à condição de destino e não atender à condição de destino de nenhuma outra configuração, as configurações da configuração serão removidas e nenhuma outra alteração será feita no gêmeo.

Para modificar uma configuração, use as seguintes etapas:

  1. No portal do Azure, vá para seu hub IoT.

  2. Selecione Configurações + Implantações em Gerenciamento de dispositivos.

  3. Selecione a configuração que deseja modificar.

  4. Você pode fazer atualizações nos seguintes campos:

    • Prioridade
    • Métricas do
    • Condição-alvo
    • Etiquetas
  5. Selecione Guardar.

  6. Siga as etapas em Monitorar uma configuração para observar a implantação das alterações.

Excluir uma configuração

Quando você exclui uma configuração, qualquer dispositivo gêmeo assume sua próxima configuração de prioridade mais alta. Se os gêmeos de dispositivo não atenderem à condição de destino de qualquer outra configuração, nenhuma outra configuração será aplicada.

  1. No portal do Azure, vá para seu hub IoT.

  2. Selecione Configurações + Implantações em Gerenciamento de dispositivos.

  3. Use a caixa de seleção para selecionar a configuração que você deseja excluir.

  4. Selecione Eliminar.

  5. Um prompt solicitará que você confirme.

Próximos passos

Neste artigo, você aprendeu como configurar e monitorar dispositivos IoT em escala.

Para saber como gerenciar identidades de dispositivo do Hub IoT em massa, consulte Importar e exportar identidades de dispositivo do Hub IoT em massa