Como funciona o Hub IoT

Concluído

O Hub IoT é o principal PaaS (Plataforma como Serviço) do Azure que permite comunicações bidirecionais entre dispositivos IoT e uma solução na cloud. O Hub IoT é o ponto de partida para qualquer solução IoT, visto que implementa algumas funções essenciais comuns a todas as implementações IoT. Essas funções incluem redes, computação, armazenamento, funcionalidades e segurança. Descrevemos essas funcionalidades abaixo.

Protocolos suportados: o Hub IoT permite que os dispositivos usem os seguintes protocolos para comunicações do lado do dispositivo: MQTT, MQTT sobre WebSockets, AMQP, AMQP sobre WebSockets e HTTPS

Registro de identidade do dispositivo: o Hub IoT mantém um registro de identidade. O registo de identidades armazena informações acerca dos dispositivos e módulos permitidos para estabelecer ligação ao Hub IoT. Tem de existir uma entrada de registo de identidades associada ao dispositivo ou módulo para que a entidade possa estabelecer ligação ao Hub IoT. Um dispositivo ou módulo também tem de ser autenticado no Hub IoT através de credenciais baseadas armazenadas no registo de identidades.

Autenticação: o Hub IoT do Azure concede acesso a pontos de extremidade verificando um token em relação às políticas de acesso compartilhado e credenciais de segurança do Registro de identidade. Pode utilizar qualquer certificado X.509 para autenticar um dispositivo com o Hub IoT. Os certificados suportados incluem um certificado X.509 existente, um certificado X.509 assinado por uma AC e um certificado X.509 gerado e assinado automaticamente.

Gêmeos de dispositivo: gêmeos de dispositivo são documentos JSON que armazenam informações de estado do dispositivo, incluindo metadados, configurações e condições. O Hub IoT do Azure mantém um dispositivo duplo para cada dispositivo que ligar ao serviço. Os dispositivos duplos armazenam informações sobre o dispositivo que o mesmo e os back-ends podem utilizar para sincronizar as condições e a configuração do dispositivo.

Pontos de extremidade que o Hub IoT expõe: Para cada dispositivo no registro de identidade, o Hub IoT expõe um conjunto de pontos de extremidade: Enviar mensagens do dispositivo para a nuvem; Receber mensagens da nuvem para o dispositivo; Iniciar carregamentos de ficheiros; Recuperar e atualizar propriedades gêmeas do dispositivo; Receba solicitações diretas de método. Atualmente, o Hub IoT dá suporte aos seguintes serviços do Azure como pontos de extremidade adicionais (personalizados): contêineres de Armazenamento do Azure, Hubs de Eventos, Filas do Barramento de Serviço, Tópicos do Barramento de Serviço.

Provisionando dispositivos com o Serviço de Provisionamento de Dispositivo do Hub IoT do Azure: o Serviço de Provisionamento de Dispositivo do Hub IoT é um serviço auxiliar para o Hub IoT. O serviço de aprovisionamento de dispositivos permite o aprovisionamento sem toques e just-in-time no Hub IoT certo sem que seja necessária intervenção humana, o que permite aos clientes aprovisionar milhões de dispositivos de forma segura e dimensionável.

A função de telemetria é o componente essencial do Hub IoT. A função de telemetria envolve o registo e a transmissão de valores recebidos por um dispositivo IoT. No entanto, o Hub IoT é muito mais do que a função básica de telemetria. A funcionalidade de dimensionamento do Hub IoT permite-lhe ajustar o âmbito da solução. A capacidade de dimensionar uma solução depende de duas considerações: as funcionalidades que planeia utilizar e a quantidade de dados que planeia mover diariamente. Quando planear a implementação de dispositivos em escala, terá de gerir esses dispositivos. A função de aprovisionamento do hub IoT permite-lhe gerir dispositivos durante todo o respetivo ciclo de vida. O aprovisionamento também estabelece os protocolos de segurança do dispositivo, bem como os respetivos direitos de acesso e privilégios. Os requisitos de segurança podem ser vistos como parte de uma função de segurança que gere a autenticação e o acesso por dispositivo através de múltiplos tipos de autenticação. Com base nas funções de segurança, a função de encaminhamento determina o fluxo de uma mensagem, bem como os respetivos destinatários. Por fim, pode estabelecer ligação a dispositivos externos de forma nativa através da funcionalidade do SDK e integrar outros serviços ao utilizar a funcionalidade de integração de serviços.

Se considerar o cenário descrito anteriormente acerca dos programadores de soluções a trabalhar em vários sensores na cidade, o protótipo teria sido criado através de uma função de telemetria básica. No entanto, para realizar uma implementação em toda a cidade, são necessários muitos mais elementos. Esses elementos incluem a capacidade de implementar e aprovisionar dispositivos em escala, implementar segurança ao nível do dispositivo e assegurar o encaminhamento ao nível das mensagens. Dada a diversidade de dispositivos numa cidade, a capacidade de estabelecer ligação de forma nativa através de um SDK irá expandir a base de utilizadores da solução. Sem a funcionalidade do Hub IoT, seria difícil implementar a solução como algo mais do que uma função básica de telemetria.