Gestão e controlo de dispositivos
Esta visão geral apresenta os principais conceitos sobre gerenciamento e controle de dispositivos em uma solução típica do Azure IoT. Cada seção inclui links para conteúdo que fornece mais detalhes e orientações.
Os aplicativos do IoT Central usam o Hub IoT e os serviços DPS (Device Provisioning Service) internamente. Portanto, os conceitos neste artigo se aplicam se você estiver usando o IoT Central para explorar um cenário de IoT ou criando sua solução usando o Hub IoT e o DPS.
O diagrama a seguir mostra uma visã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 IoT.
No Azure IoT, o gerenciamento de dispositivos refere-se a processos como provisionamento e atualização de dispositivos. O gerenciamento de dispositivos inclui as seguintes tarefas:
- Registo de dispositivos
- Provisionamento de dispositivos
- Implementação de dispositivos
- Atualizações do dispositivo
- Gerenciamento e rotação de chaves de dispositivo
- Monitorização de dispositivos
- Ativar e desativar dispositivos
No Azure IoT, comando e controle refere-se aos processos que permitem enviar comandos para dispositivos e receber respostas deles. Por exemplo, você pode enviar um comando para um dispositivo para:
- Defina uma temperatura alvo.
- Solicite valores máximos e mínimos de temperatura para as últimas duas horas.
- Defina o intervalo de telemetria para 10 segundos.
Primitivos
As soluções do Azure IoT podem usar as seguintes primitivas para gerenciamento de dispositivos e comando e controle:
- Gêmeos de dispositivo 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 controla para a nuvem e para receber uma temperatura alvo 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, suas capacidades e seus relacionamentos com outros dispositivos. Para saber mais sobre as diferenças entre gêmeos de dispositivo e gêmeos digitais, consulte Compreender os gêmeos digitais 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 que o dispositivo seja reinicializado em 30 segundos.
- Mensagens da nuvem para o dispositivo para receber notificações unidirecionais da nuvem. Por exemplo, uma notificação de que uma atualização está pronta para download.
Para saber mais, consulte Orientações de comunicações entre a nuvem e o dispositivo.
Registo de dispositivos
Antes que um dispositivo possa se conectar a um hub IoT, ele deve ser registrado. O registro de 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:
- Um ID 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 achar que um dispositivo está comprometido ou não está a funcionar corretamente, pode desativá-lo no registo do dispositivo para impedir que se ligue à nuvem. Para permitir que um dispositivo se conecte novamente a uma nuvem depois que o problema for resolvido, você pode reativá-lo no registro do dispositivo. Você também pode remover permanentemente um dispositivo do registro do dispositivo para impedir completamente que ele se conecte à nuvem.
Para saber mais, consulte Compreender o registro de identidade em seu hub IoT.
O IoT Central fornece uma interface do usuário para gerenciar o registro do 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 Serviço de Provisionamento de Dispositivo (DPS) 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 sua solução de IoT usa vários hubs IoT, você pode usar o DPS para provisionar dispositivos para um hub com base em critérios como qual é 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 sua solução de IoT usa o Hub IoT, o uso do DPS é opcional. Se você estiver usando o IoT Central, sua solução usará automaticamente uma instância do DPS gerenciada pelo IoT Central.
Para saber mais, consulte Visão geral do serviço de provisionamento de dispositivos.
Implementação de dispositivos
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, consulte 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 que não seja IoT Edge, você precisa ter uma maneira de atualizar o firmware do dispositivo. Esse processo de atualização pode usar uma mensagem da nuvem para o 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 o Hub IoT fornece uma solução gerenciada para atualizar dispositivos. Ele permite que você carregue atualizações de firmware para a nuvem e, em seguida, distribua-as para os 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 sua solução IoT, talvez seja necessário rolar as chaves usadas para autenticar dispositivos. Por exemplo, talvez seja necessário rolar as chaves se suspeitar que uma chave está comprometida ou se um certificado expirar:
- Passe as chaves usadas para autenticar dispositivos no Hub IoT e no DPS
- Passar as chaves usadas para autenticar dispositivos no IoT Central
Monitorização de dispositivos
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 detetar quando um dispositivo não está mais conectado à nuvem. As opções para dispositivos de monitorização incluem:
- Os dispositivos usam o gêmeo de dispositivo para relatar seu estado atual para a nuvem. Por exemplo, um dispositivo pode informar sua temperatura interna atual ou seu nível atual de bateria.
- 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 são atendidos.
- Use ferramentas de aprendizado de máquina para analisar fluxos de telemetria do dispositivo para identificar anomalias que indicam um problema com o dispositivo.
Para saber mais, consulte Monitorar o status da conexão do dispositivo (Hub IoT).
Migração de dispositivos
Se você precisar migrar um dispositivo do IoT Central para o Hub IoT, poderá usar a ferramenta de migração de dispositivo. Para saber mais, consulte Migrar dispositivos do IoT Central para o Hub IoT.
Comando e controlo
Para enviar comandos para seus dispositivos para controlar seu comportamento, use:
Métodos diretos para comunicações que requerem uma confirmação imediata do resultado. Métodos diretos são frequentemente usados para controle interativo de dispositivos, como ligar um ventilador.
Propriedades desejadas do gêmeo do dispositivo para comandos de longa execução destinados a colocar o dispositivo em um determinado estado desejado. Por exemplo, defina o intervalo de envio de telemetria para 30 minutos.
Mensagens da nuvem para o dispositivo para notificações unidirecionais para o dispositivo.
Para saber mais, consulte Orientações de comunicações entre a nuvem e o dispositivo.
Em alguns cenários, você pode automatizar o controle de dispositivos com base em loops de feedback. Por exemplo, se a temperatura do dispositivo for muito alta, a lógica em execução na nuvem pode enviar um comando para ligar um ventilador. O processo de nuvem pode então enviar um comando para desligar 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 o IoT Edge para implementar seu dispositivo de gateway, poderá executar a lógica que controla o dispositivo em um módulo do IoT Edge. Executar esse tipo de lógica na borda pode reduzir a latência e fornecer resiliência se houver uma interrupção da rede.
Tarefas
Você pode usar métodos diretos, propriedades desejadas e mensagens da nuvem para o dispositivo para enviar comandos para 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 propriedades 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 saber mais, veja:
- Agendar trabalhos em vários dispositivos (Hub IoT)
- Gerenciar dispositivos em massa em seu aplicativo do Azure IoT Central
Próximos passos
Agora que você viu uma visão geral do gerenciamento e controle de dispositivos nas soluções do Azure IoT, algumas próximas etapas sugeridas incluem: