De que forma um dispositivo IoT Edge pode ser utilizado como gateway

Aplica-se a:IoT Edge 1.4 checkmark IoT Edge 1.4

Importante

O IoT Edge 1.4 é a versão suportada. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

Os dispositivos IoT Edge podem operar como gateways, fornecendo uma conexão entre outros dispositivos na rede e o Hub IoT.

O módulo de hub IoT Edge age como Hub IoT, para que possa lidar com conexões de outros dispositivos que têm uma identidade com o mesmo hub IoT. Esse tipo de padrão de gateway é chamado de transparente porque as mensagens podem passar de dispositivos downstream para o Hub IoT como se não houvesse um gateway entre eles.

Para dispositivos que não se conectam ou não podem se conectar ao Hub IoT por conta própria, os gateways do IoT Edge podem fornecer essa conexão. Esse tipo de padrão de gateway é chamado de tradução porque o dispositivo IoT Edge precisa executar o processamento em mensagens de dispositivo downstream recebidas antes que elas possam ser encaminhadas para o Hub IoT. Esses cenários exigem módulos adicionais no gateway IoT Edge para lidar com as etapas de processamento.

Os padrões transparentes e de gateway de tradução não se excluem mutuamente. Um único dispositivo IoT Edge pode funcionar como um gateway transparente e um gateway de tradução.

Todos os padrões de gateway oferecem os seguintes benefícios:

  • Análise na borda - Use serviços de IA localmente para processar dados provenientes de dispositivos downstream sem enviar telemetria de fidelidade total para a nuvem. Encontre e reaja a insights localmente e envie apenas um subconjunto de dados para o Hub IoT.
  • Isolamento de dispositivos a jusante - O dispositivo de gateway pode proteger todos os dispositivos a jusante da exposição à Internet. Ele pode ficar entre uma rede de tecnologia operacional (OT) que não tem conectividade e uma rede de tecnologia da informação (TI) que fornece acesso à web. Da mesma forma, os dispositivos que não têm a capacidade de se conectar ao Hub IoT por conta própria podem se conectar a um dispositivo de gateway.
  • Multiplexação de conexão - Todos os dispositivos que se conectam ao Hub IoT por meio de um gateway IoT Edge podem usar a mesma conexão subjacente. Esse recurso de multiplexação requer que o gateway IoT Edge use AMQP como seu protocolo upstream.
  • Suavização de tráfego - O dispositivo IoT Edge implementará automaticamente um backoff exponencial se o Hub IoT limitar o tráfego, enquanto persiste as mensagens localmente. Esse benefício torna sua solução resiliente a picos de tráfego.
  • Suporte offline - O dispositivo de gateway armazena mensagens e atualizações gêmeas que não podem ser entregues ao Hub IoT.

Gateways transparentes

No padrão de gateway transparente, os dispositivos que teoricamente poderiam se conectar ao Hub IoT podem se conectar a um dispositivo de gateway. Os dispositivos downstream têm suas próprias identidades de Hub IoT e se conectam usando protocolos MQTT ou AMQP. O gateway simplesmente transmite as comunicações entre os dispositivos e o Hub IoT. Tanto os dispositivos quanto os usuários que interagem com eles por meio do Hub IoT não sabem que um gateway está mediando suas comunicações. Esta falta de sensibilização significa que o portal é considerado transparente.

Para obter mais informações sobre como o hub IoT Edge gerencia a comunicação entre dispositivos downstream e a nuvem, consulte Compreender o tempo de execução do Azure IoT Edge e sua arquitetura.

A partir da versão 1.2 do IoT Edge, gateways transparentes podem lidar com conexões de dispositivos IoT Edge downstream.

Relações entre pais e filhos

Você declara relações de gateway transparentes no Hub IoT definindo o gateway de Borda da IoT como o pai de um filho de dispositivo downstream que se conecta a ele.

Nota

Um dispositivo downstream emite dados diretamente para a Internet ou para dispositivos de gateway (habilitado para IoT Edge ou não). Um dispositivo filho pode ser um dispositivo downstream ou um dispositivo gateway em uma topologia aninhada.

A relação pai/filho é estabelecida em três pontos na configuração do gateway:

Identidades na nuvem

Todos os dispositivos em um cenário de gateway transparente precisam de identidades de nuvem para que possam se autenticar no Hub IoT. Ao criar ou atualizar uma identidade de dispositivo, você pode definir os dispositivos pai ou filho do dispositivo. Essa configuração autoriza o dispositivo de gateway pai a manipular a autenticação para seus dispositivos filho.

Nota

A configuração do dispositivo pai no Hub IoT costumava ser uma etapa opcional para dispositivos downstream que usam autenticação de chave simétrica. No entanto, a partir da versão 1.1.0, cada dispositivo downstream deve ser atribuído a um dispositivo pai.

Você pode configurar o hub IoT Edge para voltar ao comportamento anterior definindo a variável de ambiente AuthenticationMode como o valor CloudAndScope.

Os dispositivos subordinados só podem ter um elemento principal. Por predefinição, um encarregado de educação pode ter até 100 filhos. Você pode alterar esse limite definindo a variável de ambiente MaxConnectedClients no módulo edgeHub do dispositivo pai.

IoT Edge dispositivos podem ser pais e crianças em relações de gateway transparentes. Pode ser criada uma hierarquia de vários IoT Edge dispositivos que comunicam entre si. O nó superior de uma hierarquia de gateway pode ter até cinco gerações de crianças. Por exemplo, um dispositivo IoT Edge pode ter cinco camadas de dispositivos IoT Edge ligados como crianças abaixo do mesmo. Mas o dispositivo IoT Edge na quinta geração não pode ter filhos, IoT Edge ou de outra forma.

Descoberta de gateway

Um dispositivo filho precisa ser capaz de encontrar seu dispositivo pai na rede local. Configure dispositivos de gateway com um nome de host, um nome de domínio totalmente qualificado (FQDN) ou um endereço IP, que seus dispositivos filho usarão para localizá-lo.

Em dispositivos IoT downstream, use o parâmetro gatewayHostname na cadeia de conexão para apontar para o dispositivo pai.

Em dispositivos IoT Edge downstream, use o parâmetro parent_hostname no arquivo de configuração para apontar para o dispositivo pai.

Ligação segura

Os dispositivos pai e filho também precisam autenticar suas conexões entre si. Cada dispositivo precisa de uma cópia de um certificado de autoridade de certificação raiz compartilhado que os dispositivos filho usam para verificar se estão se conectando ao gateway adequado.

Quando vários gateways de Borda IoT se conectam entre si em uma hierarquia de gateway, todos os dispositivos na hierarquia devem usar uma única cadeia de certificados.

Recursos do dispositivo por trás de gateways transparentes

Todas as primitivas do Hub IoT que funcionam com o pipeline de mensagens do IoT Edge também oferecem suporte a cenários de gateway transparentes. Cada gateway do IoT Edge tem recursos de armazenamento e encaminhamento para mensagens que chegam por ele.

Use a tabela a seguir para ver como diferentes recursos do Hub IoT são suportados para dispositivos em comparação com dispositivos atrás de gateways.

Funcionalidade Dispositivo IoT IoT atrás de um gateway Dispositivo do IoT Edge IoT Edge atrás de um gateway
Mensagens de dispositivo para nuvem (D2C) Yes - IoT D2C Yes - child IoT D2C Yes - IoT Edge D2C Yes - child IoT Edge D2C
Mensagens da nuvem para o dispositivo (C2D) Yes - IoT C2D Yes - IoT child C2D No - IoT Edge C2D No - IoT Edge child C2D
Métodos diretos Yes - IoT direct method Yes - child IoT direct method Yes - IoT Edge direct method Yes - child IoT Edge direct method
Gêmeos de dispositivo e gêmeos de módulo Yes - IoT twins Yes - child IoT twins Yes - IoT Edge twins Yes - child IoT Edge twins
Upload de arquivo Yes - IoT file upload No - IoT child file upload No - IoT Edge file upload No - IoT Edge child file upload
A imagem do contêiner puxa Yes - IoT Edge container pull Yes - child IoT Edge container pull
Carregamento de Blob Yes - IoT Edge blob upload Yes - child IoT Edge blob upload

As imagens de contêiner podem ser baixadas, armazenadas e entregues de dispositivos pai para dispositivos filho.

Blobs, incluindo pacotes de suporte e logs, podem ser carregados de dispositivos filho para dispositivos pai.

Gateways de tradução

Se os dispositivos downstream não puderem se conectar ao Hub IoT, o gateway do IoT Edge precisará atuar como um tradutor. Muitas vezes, esse padrão é necessário para dispositivos que não suportam MQTT, AMQP ou HTTP. Como esses dispositivos não podem se conectar ao Hub IoT, eles também não podem se conectar ao módulo do hub IoT Edge sem algum pré-processamento.

Módulos personalizados ou de terceiros que geralmente são específicos para o hardware ou protocolo do dispositivo downstream precisam ser implantados no gateway IoT Edge. Esses módulos de tradução pegam as mensagens recebidas e as transformam em um formato que pode ser entendido pelo Hub IoT.

Existem dois padrões para gateways de tradução: tradução de protocolo e tradução de identidade.

Diagram showing translation gateway patterns.

Tradução de protocolos

No padrão de gateway de conversão de protocolo, apenas o gateway IoT Edge tem uma identidade com o Hub IoT. O módulo de tradução recebe mensagens de dispositivos downstream, converte-as em um protocolo suportado e, em seguida, o dispositivo IoT Edge envia as mensagens em nome dos dispositivos downstream. Todas as informações parecem vir de um dispositivo, o gateway. Os dispositivos a jusante devem incorporar informações de identificação adicionais nas suas mensagens se as aplicações na cloud quiserem analisar os dados por dispositivo. Além disso, primitivos do Hub IoT, como gêmeos e métodos diretos, são suportados apenas para o dispositivo de gateway, não para dispositivos downstream. Os gateways neste padrão são considerados opacos em contraste com os gateways transparentes, porque obscurecem as identidades dos dispositivos a jusante.

A conversão de protocolo suporta dispositivos com restrição de recursos. Muitos dispositivos existentes estão produzindo dados que podem impulsionar insights de negócios; no entanto, eles não foram projetados com a conectividade em nuvem em mente. Gateways opacos permitem que esses dados sejam desbloqueados e usados em uma solução de IoT.

Conversão de identidades

O padrão de gateway de conversão de identidade se baseia na conversão de protocolo, mas o gateway IoT Edge também fornece uma identidade de dispositivo do Hub IoT em nome dos dispositivos downstream. O módulo de tradução é responsável por entender o protocolo usado pelos dispositivos downstream, fornecer-lhes identidade e traduzir suas mensagens em primitivos do Hub IoT. Os dispositivos a jusante aparecem no Hub IoT como dispositivos de primeira classe com duplos e métodos. Um utilizador pode interagir com os dispositivos no Hub IoT e não tem conhecimento do dispositivo do gateway intermédio.

A tradução de identidade fornece os benefícios da tradução de protocolos e, adicionalmente, permite a capacidade de gerenciamento total de dispositivos downstream a partir da nuvem. Todos os dispositivos em sua solução de IoT aparecem no Hub IoT, independentemente do protocolo que usam.

Recursos do dispositivo por trás dos gateways de tradução

A tabela a seguir explica como os recursos do Hub IoT são estendidos a dispositivos downstream em ambos os padrões de gateway de tradução.

Funcionalidade Tradução de protocolos Conversão de identidades
Identidades armazenadas no registro de identidade do Hub IoT Somente a identidade do dispositivo de gateway Identidades de todos os dispositivos conectados
Dispositivo duplo Apenas o gateway tem um dispositivo e módulos gêmeos Cada dispositivo conectado tem seu próprio dispositivo gêmeo
Métodos diretos e mensagens da nuvem para o dispositivo A nuvem só pode endereçar o dispositivo de gateway A nuvem pode abordar cada dispositivo conectado individualmente
Limitações e cotas do Hub IoT Aplicar ao dispositivo de gateway Aplicar a cada dispositivo

Ao usar o padrão de conversão de protocolo, todos os dispositivos que se conectam por meio desse gateway compartilham a mesma fila de nuvem para dispositivo, que pode conter no máximo 50 mensagens. Use esse padrão apenas quando poucos dispositivos estiverem se conectando por meio de cada gateway de campo e seu tráfego de nuvem para dispositivo estiver baixo.

O tempo de execução do IoT Edge não inclui recursos de conversão de protocolo ou identidade. Esses padrões exigem módulos personalizados ou de terceiros que geralmente são específicos para o hardware e o protocolo usados. O Azure Marketplace contém vários módulos de tradução de protocolo para escolher. Para obter um exemplo que usa o padrão de conversão de identidade, consulte Azure IoT Edge LoRaWAN Starter Kit.

Próximos passos

Conheça as três etapas para configurar um gateway transparente: