Infraestrutura e conectividade do dispositivo
Essa visão geral apresenta os principais conceitos sobre como os dispositivos se conectam à nuvem em uma solução típica da Internet das Coisas do Azure. O artigo também apresenta elementos de infraestrutura opcionais, como gateways e pontes. Cada seção inclui links para conteúdo que fornece 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 típica de IoT. Esse artigo se concentra na conectividade entre os dispositivos e os serviços de nuvem IoT, incluindo gateways e pontes, mostrados no diagrama.
Primitivos
Os dispositivos da Internet das Coisas do Azure usam os seguintes primitivos para trocar dados com os serviços de nuvem. Os dispositivos usam:
- Mensagens de dispositivo para a nuvem para enviar telemetria de série temporal para a nuvem. Por exemplo, dados de temperatura coletados de um sensor anexado ao dispositivo.
- 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.
- Carregamentos de arquivos para arquivos de mídia, como imagens e vídeos capturados. Dispositivos conectados intermitentemente podem enviar lotes de telemetria. Os dispositivos podem compactar carregamentos para salvar a largura de banda.
- 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.
- As mensagens da nuvem para dispositivo recebem notificações unidirecionais da nuvem. Por exemplo, uma notificação de que uma atualização está pronta para ser baixada.
Para saber mais, confira Orientação de comunicações de dispositivo para nuvem e Orientação de comunicações de nuvem para dispositivo.
Pontos de extremidade na nuvem voltados para o dispositivo
Um hub IoT do Azure expõe uma coleção de pontos de extremidade por dispositivo que permitem que os dispositivos troquem dados com a nuvem. Esses pontos de extremidade incluem:
- Enviar mensagens do dispositivo para a nuvem. Um dispositivo usa esse ponto de extremidade para enviar mensagens do dispositivo para nuvem.
- Recupere e atualize as propriedades do dispositivo gêmeo. Um dispositivo usa esse ponto de extremidade para acessar suas propriedades de dispositivo gêmeo.
- Receber solicitações de métodos diretos. Um dispositivo usa esse ponto de extremidade para escutar as solicitações do método direto.
Cada hub IoT tem um nome do host exclusivo usado para conectar dispositivos ao hub. O nome do host está no formato iothubname.azure-devices.net
. Se você usar um dos SDKs do dispositivo, não precisará saber os nomes completos dos pontos de extremidade individuais porque os SDKs fornecem abstrações de nível superior. No entanto, o dispositivo precisa saber o nome do host do hub IoT ao qual está se conectando.
Um dispositivo pode estabelecer uma conexão segura com um hub IoT:
- Diretamente, nesse caso, você deve fornecer ao dispositivo uma cadeia de conexão que inclua o nome do host.
- Indiretamente usando o DPS, nesse caso, o dispositivo se conecta a um ponto de extremidade do DPS conhecido para recuperar a cadeia de conexão do hub IoT ao qual está atribuído.
A vantagem de usar o DPS é que você não precisa configurar todos os seus dispositivos com cadeias de conexão específicas para seu hub IoT. Em vez disso, você configura seus dispositivos para se conectar a um ponto de extremidade do DPS comum e conhecido, onde eles descobrem os detalhes da conexão. Para saber mais, confira Serviço de Provisionamento de Dispositivos.
Para saber mais sobre como implementar reconexões automáticas a pontos de extremidade, confira Gerenciar reconexões de dispositivo para criar aplicativos resilientes.
Cadeias de conexão do dispositivo
Uma cadeia de conexão do dispositivo fornece a um dispositivo as informações necessárias para se conectar com segurança a um hub IoT. A cadeia de conexão inclui as seguintes informações:
- O nome do host do hub IoT.
- A ID do dispositivo registrada no hub IoT.
- As informações de segurança de que o dispositivo precisa para estabelecer uma conexão segura com o hub IoT.
Autenticação
Os dispositivos da Internet das Coisas do Azure usam o TLS para verificar a autenticidade do hub IoT ou do ponto de extremidade do DPS ao qual estão se conectando. Os SDKs do dispositivo dependem do repositório de certificados confiável do dispositivo para incluir o certificado TLS DigiCert Global Root G2 de que precisam atualmente para estabelecer uma conexão segura com o hub IoT. Para saber mais, confira o suporte de TLS (Transport Layer Security) no Hub IoT e o suporte de TLS no Serviço de Provisionamento de Dispositivo (DPS) no Hub IoT do Azure.
Os dispositivos da Internet das Coisas do Azure podem usar tokens de assinatura de acesso compartilhado (SAS) ou certificados X.509 para se autenticar em um hub IoT. Os certificados X.509 são recomendados para um ambientes de produção. Para saber mais sobre autenticação de dispositivos, confira:
- Autenticar dispositivos no Hub IoT usando certificados de autoridade de certificação X.509
- Autenticar dispositivos no Hub IoT usando tokens SAS
- Atestado de chave simétrica do DPS
- Atestado de certificado X.509 do DPS
- Atestado trusted platform module do DPS
- Conceitos de autenticação de dispositivo no IoT Central
Todos os dados trocados entre um dispositivo e um hub IoT são criptografados.
Para saber mais sobre segurança em sua solução de IoT, confira Arquitetura de segurança para soluções de IoT.
Protocolos
Um dispositivo IoT pode usar um dos vários protocolos de rede ao se conectar a um Hub IoT ou ponto de extremidade do DPS:
- MQTT
- MQTT sobre WebSockets
- Advanced Message Queuing Protocol (AMQP)
- AMQP sobre WebSockets
- HTTPS
Observação
O Hub IoT tem suporte limitado a recursos para MQTT. Se a sua solução precisar de suporte para MQTT v3.1.1 ou v5, recomendamos o suporte ao MQTT na Grade de Eventos do Azure. Para obter mais informações, confira Comparar o suporte ao MQTT no Hub IoT e na Grade de Eventos.
Para saber mais sobre como escolher um protocolo para seus dispositivos se conectarem à nuvem, confira:
- Suporte ao protocolo no Hub IoT do Azure
- Comunique-se com o DPS usando o protocolo MQTT
- Comunique-se com o DPS usando o protocolo HTTPS (chaves simétricas)
- Comunique-se com o DPS usando o protocolo HTTPS (X.509)
Os cenários de IoT industrial geralmente usam a arquitetura unificada de comunicações de plataforma aberta (OPC UA) interface aberta padrão do setor. Para habilitar a conectividade com a nuvem do Azure, use as Operações do Azure IoT. Para saber mais, confira O que são as Operações do Azure IoT?.
Padrões de conexão
Há duas categorias amplas de padrões de conexão que os dispositivos IoT usam para se conectar à nuvem:
Conexões persistentes
As conexões persistentes são necessárias quando sua solução precisa de recursos de comando e controle. Em cenários de comando e controle, sua solução IoT envia comandos aos dispositivos para controlar seu comportamento quase em tempo real. As conexões persistentes mantêm uma conexão de rede com a nuvem e se reconectam sempre que há uma interrupção. Use o protocolo MQTT ou AMQP para conexões do dispositivo persistentes a um hub IoT. Os SDKs do dispositivo IoT habilitam os protocolos MQTT e AMQP para criar conexões persistentes com um hub IoT.
Conexões efêmeras
Conexões efêmeras são conexões breves para dispositivos enviarem telemetria para seu hub IoT. Depois que um dispositivo envia a telemetria, ele remove a conexão. O dispositivo se reconecta quando tem mais telemetria a ser enviada. As conexões efêmeras não são adequadas para cenários de comando e controle. Um cliente de dispositivo pode usar a API HTTP se tudo o que precisa fazer é enviar telemetria.
Gateways de campo
Os gateways de campo (às vezes chamados de gateways de borda) geralmente são implantados no local e próximos aos seus dispositivos IoT. Os gateways de campo lidam com a comunicação com a nuvem em nome de seus dispositivos IoT. Os gateways de campo podem:
- Fazer a tradução de protocolo. Por exemplo, permitir que dispositivos habilitados para Bluetooth se conectem à nuvem.
- Gerenciar cenários offline e desconectados. Por exemplo, fazer buffer de telemetria quando o ponto de extremidade na nuvem estiver inacessível.
- Filtrar, compactar ou agregar telemetria antes enviar isso para a nuvem.
- Executar a lógica na borda para remover a latência associada à execução da lógica em nome dos dispositivos na nuvem. Por exemplo, detectar um pico de temperatura e abrir uma válvula em resposta.
Você pode usar o Azure IoT Edge para implantar um gateway de campo em seu ambiente local. O IoT Edge fornece um conjunto de recursos que permitem implantar e gerenciar gateways de campo em escala. O IoT Edge também fornece um conjunto de módulos que você pode usar para implementar cenários de gateway comuns. Para saber mais, confira O que é o Azure IoT Edge?
Um dispositivo IoT Edge pode manter uma conexão persistente com um hub IoT. O gateway encaminha a telemetria do dispositivo para o Hub IoT. Essa opção permite o comando e o controle dos dispositivos downstream conectados ao dispositivo do IoT Edge.
Pontes
Uma ponte de dispositivo permite que dispositivos conectados a uma nuvem de fora da Microsoft se conectem à sua solução IoT. Exemplos de nuvens de fora da Microsoft incluem Sigfox, Particle Device Cloud e The Things Network.
A Ponte de Dispositivo do Azure IoT Central de software livre atua como um tradutor que encaminha a telemetria para um aplicativo IoT Central. Para saber mais, confira Ponte de Dispositivo do Azure IoT Central. Há soluções de pontes de fora da Microsoft, como Tartabit IoT Bridge, para conectar dispositivos a um hub IoT.
Próximas etapas
Agora que você viu uma visão geral da conectividade do dispositivo nas soluções da Internet das Coisas do Azure, algumas das próximas etapas sugeridas incluem: