Infraestrutura e conectividade do dispositivo

Esta visão geral apresenta os principais conceitos sobre como os dispositivos se conectam à nuvem em uma solução típica do Azure IoT. 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 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 na conectividade entre os dispositivos e os serviços de nuvem IoT, incluindo gateways e pontes, mostrados no diagrama.

Diagrama que mostra a arquitetura da solução de IoT de alto nível destacando as áreas de conectividade do dispositivo.

Primitivos

Os dispositivos IoT do Azure usam as seguintes primitivas para trocar dados com serviços de nuvem. Utilização dos dispositivos:

  • Mensagens de dispositivo para nuvem para enviar telemetria de séries cronológicas para a nuvem. Por exemplo, dados de temperatura coletados de um sensor conectado ao dispositivo.
  • 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.
  • Upload 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 uploads para economizar 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 o dispositivo recebem notificações unidirecionais da nuvem. Por exemplo, uma notificação de que uma atualização está pronta para download.

Para saber mais, consulte Diretrizes de comunicações de dispositivo para nuvem e Diretrizes de comunicações de nuvem para dispositivo.

Pontos finais na nuvem voltados para dispositivos

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. Estes parâmetros de avaliação incluem:

  • Envie mensagens do dispositivo para a nuvem. Um dispositivo usa esse ponto de extremidade para enviar mensagens do dispositivo para a nuvem.
  • Recupere e atualize as propriedades gêmeas do dispositivo. Um dispositivo usa esse ponto de extremidade para acessar suas propriedades gêmeas do dispositivo.
  • Receba solicitações diretas de método. Um dispositivo usa esse ponto de extremidade para ouvir solicitações diretas de método.

Cada hub IoT tem um nome de host exclusivo que você usa para conectar dispositivos ao hub. O nome do host está no formato iothubname.azure-devices.net. Se você usar um dos SDKs de 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 DPS, caso em que o dispositivo se conecta a um ponto de extremidade DPS conhecido para recuperar a cadeia de conexão para o 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 conectarem a um ponto de extremidade DPS comum e conhecido, onde eles descobrem seus detalhes de conexão. Para saber mais, consulte Serviço de provisionamento de dispositivos.

Para saber mais sobre como implementar reconexões automáticas para pontos de extremidade, consulte Gerenciar reconexões de dispositivos para criar aplicativos resilientes.

Cadeias de conexão de dispositivo

Uma cadeia de conexão de 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.
  • O ID do dispositivo registrado 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 IoT do Azure usam TLS para verificar a autenticidade do hub IoT ou ponto de extremidade DPS ao qual estão se conectando. Os SDKs de dispositivo incluem o certificado TLS DigiCert Global Root G2 de que precisam atualmente para estabelecer uma conexão segura com o hub IoT. Para saber mais, consulte Suporte a TLS (Transport Layer Security) no Hub IoT e Suporte a TLS no DPS (Serviço de Provisionamento de Dispositivo) do Hub IoT do Azure.

Os dispositivos IoT do Azure podem usar tokens de assinatura de acesso compartilhado (SAS) ou certificados X.509 para se autenticarem em um hub IoT. Os certificados X.509 são recomendados em um ambiente de produção. Para saber mais sobre a autenticação de dispositivos, consulte:

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, consulte Arquitetura de segurança para soluções de IoT.

Protocolos

Um dispositivo IoT pode usar um dos vários protocolos de rede quando se conecta a um ponto de extremidade do Hub IoT ou DPS:

Nota

O Hub IoT tem suporte limitado a recursos para MQTT. Se sua solução precisar de suporte a MQTT v3.1.1 ou v5, recomendamos o suporte a MQTT na Grade de Eventos do Azure. Para obter mais informações, consulte Comparar o suporte MQTT no Hub IoT e na Grade de Eventos.

Para saber mais sobre como escolher um protocolo para que seus dispositivos se conectem à nuvem, consulte:

Os cenários de IoT industrial geralmente usam a interface aberta padrão do setor de arquitetura unificada de comunicações de plataforma aberta (OPC UA). Para habilitar a conectividade com a nuvem do Azure, use as Operações do Azure IoT. Para saber mais, consulte O que é o Azure IoT Operations?.

Padrões de conexão

Há duas grandes categorias de padrões de conexão que os dispositivos IoT usam para se conectar à nuvem:

Conexões persistentes

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 de 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 de dispositivo persistentes com um hub IoT. Os SDKs de 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 descarta a conexão. O dispositivo se reconecta quando tem mais telemetria para enviar. 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 perto de 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:

  • Faça tradução de protocolo. Por exemplo, permitir que dispositivos habilitados para Bluetooth se conectem à nuvem.
  • Gerencie cenários offline e desconectados. Por exemplo, a telemetria em buffer quando o ponto de extremidade da nuvem está inacessível.
  • Filtre, compacte ou agregue a telemetria antes de enviá-la para a nuvem.
  • Execute a lógica na borda para remover a latência associada à lógica de execução em nome de dispositivos na nuvem. Por exemplo, detetar 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, consulte 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 IoT Edge.

Bridges

Uma ponte de dispositivo permite que dispositivos conectados a uma nuvem que não seja da Microsoft se conectem à sua solução de IoT. Exemplos de nuvens que não são da Microsoft incluem Sigfox, Particle Device Cloud e The Things Network.

O IoT Central Device Bridge de código aberto atua como um tradutor que encaminha a telemetria para um aplicativo do IoT Central. Para saber mais, consulte Azure IoT Central Device Bridge. Existem soluções de ponte que não são da Microsoft, como o Tartabit IoT Bridge, para conectar dispositivos a um hub IoT.

Próximos passos

Agora que você viu uma visão geral da conectividade de dispositivos nas soluções do Azure IoT, algumas próximas etapas sugeridas incluem: