Partilhar via


Compreender os recursos offline estendidos para dispositivos, módulos e dispositivos filhos do IoT Edge

Aplica-se a:Marca de verificação do IoT Edge 1.5 IoT Edge 1.5

Importante

O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 12 de novembro de 2024. Se tiver uma versão anterior, consulte Atualizar IoT Edge.

O Azure IoT Edge permite que seus dispositivos IoT Edge trabalhem offline por longos períodos e permite que dispositivos downstream também trabalhem offline. Depois que um dispositivo IoT Edge se conecta ao Hub IoT uma vez, o dispositivo e qualquer dispositivo downstream podem continuar trabalhando com conexão intermitente ou sem conexão com a Internet.

Como funciona

Quando um dispositivo do IoT Edge entra no modo offline, o hub do IoT Edge assume três funções:

  • Armazena todas as mensagens que vão para cima e salva-as até que o dispositivo se reconecte.
  • Atua em nome do Hub IoT para autenticar módulos e dispositivos downstream para que possam continuar operando.
  • Permite a comunicação entre dispositivos downstream que normalmente passam pelo Hub IoT.

O exemplo a seguir mostra como um cenário do IoT Edge opera no modo offline:

  1. Configurar dispositivos

    Os dispositivos IoT Edge têm recursos offline habilitados por padrão. Para estender esse recurso a outros dispositivos, configure os dispositivos downstream para confiar no dispositivo pai atribuído e rotear as comunicações do dispositivo para a nuvem por meio do pai como um gateway.

  2. Sincronizar com o Hub IoT

    Certifique-se de que, após instalar o runtime do IoT Edge, o dispositivo IoT Edge esteja online pelo menos uma vez para sincronizar com o IoT Hub. Durante essa sincronização, o dispositivo IoT Edge obtém detalhes sobre quaisquer dispositivos downstream atribuídos a ele. O dispositivo IoT Edge também atualiza com segurança seu cache local para habilitar operações offline e obtém configurações para armazenamento local de mensagens de telemetria.

  3. Ficar offline

    Embora desconectado do Hub IoT, o dispositivo IoT Edge, seus módulos implantados e quaisquer dispositivos downstream podem continuar operando indefinidamente. Os módulos e dispositivos downstream podem iniciar e reiniciar autenticando-se com o hub IoT Edge enquanto estiverem offline. A telemetria de dispositivo vinculada upstream ao Hub IoT é armazenada localmente. A comunicação entre módulos ou entre dispositivos a jusante é mantida através de métodos diretos ou mensagens.

  4. Reconectar e ressincronizar com o Hub IoT

    Quando a conexão com o Hub IoT é restaurada, o dispositivo IoT Edge é sincronizado novamente. As mensagens armazenadas localmente são entregues ao Hub IoT imediatamente, mas a entrega depende da velocidade da conexão, da latência do Hub IoT e de fatores relacionados. As mensagens são entregues na mesma ordem em que foram armazenadas.

    Quaisquer diferenças entre as propriedades desejadas e relatadas dos módulos e dispositivos são reconciliadas. O dispositivo IoT Edge atualiza todas as alterações em seu conjunto de dispositivos downstream atribuídos.

Restrições e limites

Os dispositivos IoT Edge e seus dispositivos downstream atribuídos podem funcionar indefinidamente offline após a sincronização inicial única. No entanto, o armazenamento de mensagens depende da configuração de tempo de vida (TTL) e do espaço em disco disponível.

O EdgeAgent de um dispositivo atualiza as suas propriedades relatadas sempre que o estado da implementação muda, como uma implementação nova ou falhada. Quando um dispositivo está offline, o EdgeAgent não pode relatar o status para o portal do Azure. Portanto, o status do dispositivo no portal do Azure pode permanecer 200 OK quando o dispositivo IoT Edge não tem conectividade com a Internet.

Configurar dispositivos pai e filho

Por padrão, um dispositivo pai pode ter até 100 filhos. Altere esse limite definindo a variável de ambiente MaxConnectedClients no módulo edgeHub. Um dispositivo filho tem apenas um pai.

Nota

Um dispositivo downstream envia 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.

Um dispositivo downstream pode ser qualquer dispositivo, IoT Edge ou não-IoT Edge, registrado no mesmo Hub IoT.

Para obter mais informações sobre como criar uma relação pai-filho entre um dispositivo IoT Edge e um dispositivo IoT, consulte Autenticar um dispositivo downstream no Hub IoT do Azure. As seções chave simétrica, X.509 autoassinada e X.509 assinada pela CA mostram exemplos de como usar o portal do Azure e a CLI do Azure para definir as relações pai-filho ao criar dispositivos. Para dispositivos existentes, declare a relação na página de detalhes do dispositivo no portal do Azure, seja ele o dispositivo principal ou subordinado.

Para obter mais informações sobre como criar uma relação pai-filho entre dois dispositivos IoT Edge, consulte Conectar um dispositivo IoT Edge downstream a um gateway do Azure IoT Edge.

Configurar o dispositivo pai como um gateway

Pense em uma relação pai/filho como um gateway transparente, onde o dispositivo filho tem sua própria identidade no Hub IoT, mas se comunica através da nuvem por meio de seu pai. Para uma comunicação segura, o dispositivo filho precisa verificar se o dispositivo pai vem de uma fonte confiável. Caso contrário, terceiros podem configurar dispositivos maliciosos para se passar pelos pais e intercetar comunicações.

Uma maneira de criar essa relação de confiança é descrita em detalhes nos seguintes artigos:

Especificar servidores DNS

Para melhorar a robustez, especifique os endereços de servidor DNS usados em seu ambiente. Para definir seu servidor DNS para IoT Edge, consulte a resolução para relatórios do módulo do Agente de Borda 'arquivo de configuração vazio' e nenhum módulo iniciado no dispositivo no artigo de solução de problemas.

Configurações offline opcionais

Se seus dispositivos ficarem offline, o dispositivo pai do IoT Edge armazenará todas as mensagens do dispositivo para a nuvem até que a conexão seja restabelecida. O módulo de hub IoT Edge gerencia o armazenamento e o encaminhamento de mensagens offline.

Para dispositivos que podem ficar offline por muito tempo, otimize o desempenho definindo duas opções de hub IoT Edge:

  • Aumente a configuração de tempo de vida para que o hub IoT Edge mantenha as mensagens até que seu dispositivo se reconecte.
  • Adicione mais espaço em disco para armazenamento de mensagens.

Tempo de viver

A configuração de tempo de vida é quanto tempo (em segundos) uma mensagem espera para ser entregue antes de expirar. O padrão é 7.200 segundos (duas horas). O valor máximo é limitado pelo valor máximo de uma variável inteira, que é de cerca de 2 bilhões.

Essa configuração é uma propriedade desejada do hub IoT Edge, armazenada no módulo gêmeo. Configure-o no portal do Azure ou diretamente no manifesto de implantação.

"$edgeHub": {
    "properties.desired": {
        "schemaVersion": "1.1",
        "routes": {},
        "storeAndForwardConfiguration": {
            "timeToLiveSecs": 7200
        }
    }
}

Armazenamento de host para módulos do sistema

Por padrão, o hub IoT Edge armazena mensagens e o estado do módulo em seu sistema de arquivos de contêiner local. Para maior confiabilidade, especialmente quando offline, dedique armazenamento no dispositivo host IoT Edge. Para obter mais informações, consulte Conceder aos módulos acesso ao armazenamento local de um dispositivo.

Próximos passos

Saiba mais sobre como configurar um gateway transparente para suas conexões de dispositivo pai/filho: