Gerenciamento e controle de dispositivo
Essa visão geral apresenta os principais conceitos sobre como gerenciar e controlar dispositivos em uma solução típica de IoT do Azure. Cada seção inclui links para conteúdos que fornecem mais detalhes e diretrizes.
Os aplicativos de IoT Central usam os serviços do Hub IoT e Serviço de Provisionamento de Dispositivos (DPS) internamente. Portanto, os conceitos nesse artigo se aplicam se você estiver usando o IoT Central para explorar um cenário de IoT ou criar sua solução usando Hub IoT e DPS.
O diagrama a seguir mostra uma exibição de alto nível dos componentes em uma solução de IoT típica. Este artigo se concentra nos componentes de gerenciamento e controle de dispositivos de uma solução de IoT.
Na Internet das Coisas do Azure o gerenciamento de dispositivos refere-se a processos como provisionamento e atualização de dispositivos. O gerenciamento de dispositivo inclui as seguintes tarefas:
- Registro de dispositivos
- Provisionamento de dispositivos
- Implantação de dispositivo
- Atualizações do dispositivo
- Gerenciamento e rotação de chaves de dispositivo
- Monitoramento de dispositivo
- Habilitar e desabilitar dispositivos
No Azure IoT, o comando e o controle referem-se aos processos que permitem enviar comandos para dispositivos e receber respostas deles. Por exemplo, você pode enviar um comando para um dispositivo para:
- Definir uma temperatura de destino.
- Solicitar valores de temperatura máxima e mínima nas últimas duas horas.
- Definir o intervalo de telemetria como 10 segundos.
Primitivos
As soluções da Internet das Coisas do Azure podem usar os seguintes primitivos para gerenciamento de dispositivos e comando e controle:
- Dispositivos gêmeos para compartilhar e sincronizar dados de estado com a nuvem. Por exemplo, um dispositivo pode usar o dispositivo gêmeo para relatar o estado atual de uma válvula que ele controla para a nuvem e receber uma temperatura de destino desejada da nuvem.
- Gêmeos digitais para representar um dispositivo no mundo digital. Por exemplo, um gêmeo digital pode representar a localização física de um dispositivo, seus recursos e suas relações com outros dispositivos. Para saber mais sobre as diferenças entre dispositivos gêmeos e gêmeos digitais, confira Entender gêmeos digitais do IoT Plug and Play.
- Métodos diretos para receber comandos da nuvem. Um método direto pode ter parâmetros e retornar uma resposta. Por exemplo, a nuvem pode chamar um método direto para solicitar a reinicialização do dispositivo em 30 segundos.
- Mensagens da nuvem para dispositivo para receber notificações unidirecionais da nuvem. Por exemplo, uma notificação de que uma atualização está pronta para ser baixada.
Para saber mais, confira Diretrizes de comunicação de nuvem para dispositivo.
Registro de dispositivos
Antes que um dispositivo possa se conectar a um hub IoT, ele deve ser registrado. O registro do dispositivo é o processo de criação de uma identidade de dispositivo na nuvem. Cada hub IoT tem seu próprio registro de dispositivo interno. A identidade do dispositivo é usada para autenticar o dispositivo quando ele se conecta ao Azure IoT. Uma entrada de registro de dispositivo inclui as seguintes propriedades:
- Uma identificação de dispositivo exclusivo.
- Informações de autenticação, como chaves simétricas ou certificados X.509.
- O tipo de dispositivo. É um dispositivo IoT Edge ou não?
Se você acha que um dispositivo está comprometido ou não está funcionando corretamente, você pode desabilitá-lo no registro do dispositivo para impedir que ele se conecte à nuvem. Para permitir que um dispositivo se conecte novamente a uma nuvem depois que o problema for resolvido, você pode habilitá-lo novamente no registro do dispositivo. Você também pode remover permanentemente um dispositivo do registro de dispositivo para impedir completamente que ele se conecte à nuvem.
Para saber mais, consulte Entender o registro de identidade no Hub IoT.
O IoT Central fornece uma interface do usuário para gerenciar o registro de dispositivo no hub IoT subjacente. Para saber mais, consulte Adicionar um dispositivo (IoT Central).
Provisionamento de dispositivos
Você deve configurar cada dispositivo em sua solução com os detalhes do hub IoT ao qual ele deve se conectar. Você pode configurar manualmente cada dispositivo em sua solução, mas essa abordagem pode não ser prática para um grande número de dispositivos. Para contornar esse problema, você pode usar o DPS (Serviço de Provisionamento de Dispositivos) para registrar automaticamente cada dispositivo com um hub IoT e, em seguida, provisionar cada dispositivo com as informações de conexão necessárias. Se a solução IoT usar vários hubs IoT, você poderá usar o DPS para provisionar dispositivos em um hub com base em critérios como o hub mais próximo do dispositivo. Você pode configurar seu DPS com regras para registrar e provisionar seus dispositivos antes de implantar fisicamente o dispositivo no campo.
Se a solução de IoT usar Hub IoT, o uso do DPS será opcional. Se você estiver usando o IoT Central, sua solução usará automaticamente uma instância DPS gerenciada pelo IoT Central.
Para saber mais, confira visão geral do Serviço de Provisionamento de Dispositivos.
Implantação de dispositivo
No Azure IoT, a implantação de dispositivo normalmente se refere ao processo de instalação de software em um dispositivo IoT Edge. Quando um dispositivo IoT Edge se conecta a um hub IoT, ele recebe um manifesto de implantação que contém detalhes dos módulos a serem executados no dispositivo. O manifesto de implantação também contém informações de configuração para os módulos. Há vários módulos padrão disponíveis para dispositivos IoT Edge. Você também pode criar seus próprios módulos personalizados.
Para saber mais, confira O que é o azure IoT Edge?
Se você estiver usando o IoT Central, poderá gerenciar seus manifestos de implantação usando a interface do usuário do IoT Central.
Atualizações do dispositivo
Normalmente, sua solução de IoT deve incluir uma maneira de atualizar o software do dispositivo. Para um dispositivo IoT Edge, você pode atualizar os módulos executados no dispositivo atualizando o manifesto de implantação.
Para um dispositivo não IoT Edge, você precisa ter uma maneira de atualizar o firmware do dispositivo. Esse processo de atualização pode usar uma mensagem de nuvem para dispositivo para notificar o dispositivo de que uma atualização de firmware está disponível. Em seguida, o dispositivo executa o código personalizado para baixar e instalar a atualização.
O serviço Atualização de Dispositivo para Hub IoT fornece uma solução gerenciada para atualizar dispositivos. Ele permite carregar atualizações de firmware na nuvem e distribuí-las para dispositivos. Ele também permite que você monitore o processo de atualização e reverta para uma versão anterior se a atualização falhar.
Gerenciamento e rotação de chaves de dispositivo
Durante o ciclo de vida da solução de IoT, talvez seja necessário rolar as chaves usadas para autenticar dispositivos. Por exemplo, talvez seja necessário rolar suas chaves se suspeitar que uma chave foi comprometida ou se um certificado expirar:
- Rolar as chaves usadas para autenticar dispositivos no Hub IoT e no DPS
- Rolar as chaves usadas para autenticar dispositivos no IoT Central
Monitoramento de dispositivo
Como parte do monitoramento geral da solução, talvez você queira monitorar a integridade de seus dispositivos. Por exemplo, talvez você queira monitorar a integridade de seus dispositivos ou detectar quando um dispositivo não está mais conectado à nuvem. As opções para monitorar dispositivos incluem:
- Os dispositivos usam o dispositivo gêmeo para relatar seu estado atual à nuvem. Por exemplo, um dispositivo pode relatar sua temperatura interna atual ou seu nível de bateria atual.
- Os dispositivos podem gerar alertas enviando mensagens de telemetria para a nuvem.
- O Hub IoT pode gerar eventos quando os dispositivos se conectam ou se desconectam da nuvem.
- O IoT Central pode usar regras para executar ações quando os critérios especificados forem atendidos.
- Use ferramentas de aprendizado de máquina para analisar fluxos de telemetria do dispositivo e identificar anomalias que indicam um problema com o dispositivo.
Para saber mais, confira Monitorar status de conexão de dispositivo (Hub IoT).
Migração de dispositivo
Se você precisar migrar um dispositivo do IoT Central para Hub IoT, poderá usar a ferramenta Migração de Dispositivo. Para saber mais, consulte Migrar dispositivos do IoT Central para IoT Hub.
Comando e controle
Para enviar comandos para seus dispositivos e controlar o comportamento deles, use:
Métodos diretos para comunicações que exigem confirmação imediata do resultado. Direcionar métodos é muitas vezes usado para controle interativo de dispositivos, como ativar um ventilador.
Propriedades desejadas do dispositivo gêmeo para comandos de longa duração que têm o objetivo de colocar o dispositivo em determinado estado desejado. Por exemplo, defina o intervalo de envio de telemetria como 30 minutos.
Mensagens da nuvem para o dispositivo para notificações unidirecionais para o dispositivo.
Para saber mais, confira Diretrizes de comunicação de nuvem para dispositivo.
Em alguns cenários, você pode automatizar o controle de dispositivo com base em loops de comentários. Por exemplo, se a temperatura do dispositivo for muito alta, a lógica em execução na nuvem poderá enviar um comando para ativar um ventilador. Em seguida, o processo de nuvem pode enviar um comando para desativar o ventilador quando a temperatura voltar ao normal.
Também é possível executar esse tipo de automação localmente. Por exemplo, se você estiver usando IoT Edge para implementar seu dispositivo de gateway, poderá executar a lógica que controla o dispositivo em um módulo IoT Edge. Executar esse tipo de lógica na borda pode reduzir a latência e fornecer resiliência se houver uma interrupção de rede.
Trabalhos
Você pode usar métodos diretos, propriedades desejadas e mensagens da nuvem para o dispositivo para enviar comandos a dispositivos individuais. Se você precisar enviar comandos para vários dispositivos, poderá usar trabalhos. Os trabalhos permitem agendar e enviar comandos e atualizações de propriedade desejadas para vários dispositivos ao mesmo tempo. Você também pode usar trabalhos para monitorar o progresso dos comandos e reverter para um estado anterior se os comandos falharem.
Para obter mais informações, consulte:
- Agendar trabalhos em vários dispositivos (IoT Hub)
- Gerenciar dispositivos em massa no aplicativo do Azure IoT Central
Próximas etapas
Agora que você teve uma visão geral do gerenciamento e controle de dispositivos nas soluções de Internet das Coisas do Azure, entre algumas das próximas sugestões de etapas estão: