Ligar dispositivos Azure IoT Edge a uma aplicação do Azure IoT Central

O Azure IoT Edge move a análise da nuvem e a lógica de negócios personalizada da nuvem para os seus dispositivos. Essa abordagem permite que sua solução de nuvem se concentre em insights de negócios em vez de gerenciamento de dados. Expanda sua solução de IoT empacotando sua lógica de negócios em contêineres padrão, implante esses contêineres em seus dispositivos e monitore-os a partir da nuvem.

Este artigo descreve:

  • Padrões de gateway do IoT Edge com o IoT Central.
  • Como os dispositivos IoT Edge se conectam a um aplicativo do IoT Central.
  • Como usar o IoT Central para gerenciar seus dispositivos IoT Edge.

Para saber mais sobre o IoT Edge, consulte O que é o Azure IoT Edge?

IoT Edge

Azure IoT Central with Azure IoT Edge

O IoT Edge é composto por três componentes:

  • Os módulos do IoT Edge são contêineres que executam serviços do Azure, serviços de parceiros ou seu próprio código. Os módulos são implantados em dispositivos IoT Edge e executados localmente nesses dispositivos. Um manifesto de implantação especifica os módulos a serem implantados em um dispositivo IoT Edge.
  • O tempo de execução do IoT Edge é executado em cada dispositivo IoT Edge e gerencia os módulos implantados em cada dispositivo. O tempo de execução consiste em dois módulos do IoT Edge: agente do IoT Edge e hub do IoT Edge.
  • Uma interface baseada em nuvem permite monitorar e gerenciar remotamente dispositivos IoT Edge. O IoT Central é um exemplo de interface na nuvem.

O IoT Central habilita os seguintes recursos para dispositivos IoT Edge:

  • Gerenciamento de manifesto de implantação. Um aplicativo IoT Central pode gerenciar uma coleção de manifestos de implantação e atribuí-los a dispositivos.
  • Modelos de dispositivo para descrever os recursos de um dispositivo IoT Edge, como:
    • A telemetria que cada módulo do IoT Edge envia.
    • As propriedades que cada módulo do IoT Edge relata.
    • Os comandos aos quais cada módulo do IoT Edge responde.
    • As relações entre um dispositivo de gateway IoT Edge e um dispositivo downstream.
    • Propriedades de nuvem que não são armazenadas no dispositivo IoT Edge.
    • Modos de exibição e formulários do dispositivo.
  • A capacidade de provisionar dispositivos IoT Edge em escala usando o serviço de provisionamento de dispositivo IoT do Azure.
  • Regras e ações.
  • Painéis e análises personalizados.
  • Exportação contínua de dados de telemetria de dispositivos IoT Edge.

Um dispositivo IoT Edge pode ser:

  • Um dispositivo independente composto por módulos personalizados.
  • Um dispositivo de gateway, com dispositivos downstream se conectando a ele. Um dispositivo de gateway pode incluir módulos personalizados.

Dispositivos IoT Edge e IoT Central

Os dispositivos IoT Edge podem usar tokens de assinatura de acesso compartilhado ou certificados X.509 para autenticar com o IoT Central. Você pode registrar manualmente seus dispositivos IoT Edge no IoT Central antes que eles se conectem pela primeira vez ou usar o Serviço de Provisionamento de Dispositivos para lidar com o registro. Para saber mais, consulte Como os dispositivos se conectam.

Opcionalmente, o IoT Central usa modelos de dispositivo para definir como o IoT Central interage com um dispositivo IoT Edge. Por exemplo, um modelo de dispositivo especifica:

  • Os tipos de telemetria e propriedades que um dispositivo IoT Edge envia para que o IoT Central possa interpretá-los e criar visualizações.
  • Os comandos aos quais um dispositivo IoT Edge responde para que o IoT Central possa exibir uma interface do usuário para um operador usar para chamar os comandos.

Se não houver nenhum modelo de dispositivo associado a um dispositivo, os valores de telemetria e propriedade serão exibidos como dados não modelados . No entanto, você ainda pode usar os recursos de exportação de dados do IoT Central para encaminhar valores de telemetria e propriedade para outros serviços de back-end.

Manifestos de implantação do IoT Edge

No IoT Edge, você implanta e gerencia a lógica de negócios na forma de módulos. Os módulos do IoT Edge são a menor unidade de computação gerenciada pelo IoT Edge e podem conter serviços do Azure, como o Azure Stream Analytics, ou seu próprio código específico da solução.

Um manifesto de implantação do IoT Edge lista os módulos do IoT Edge a serem implantados no dispositivo e como configurá-los.

No Azure IoT Central, navegue até Manifestos de Borda para importar e gerenciar os manifestos de implantação para os dispositivos IoT Edge em sua solução.

O trecho de código a seguir mostra um exemplo de manifesto de implantação do IoT Edge:

{
  "modulesContent": {
    "$edgeAgent": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "runtime": {
          "type": "docker",
          "settings": {
            "minDockerVersion": "v1.25",
            "loggingOptions": "",
            "registryCredentials": {}
          }
        },
        "systemModules": {
          "edgeAgent": {
            "type": "docker",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-agent:1.0.9",
              "createOptions": "{}"
            }
          },
          "edgeHub": {
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-hub:1.0.9",
              "createOptions": "{}"
            }
          }
        },
        "modules": {
          "SimulatedTemperatureSensor": {
            "version": "1.0",
            "type": "docker",
            "status": "running",
            "restartPolicy": "always",
            "settings": {
              "image": "mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0",
              "createOptions": "{}"
            }
          }
        }
      }
    },
    "$edgeHub": {
      "properties.desired": {
        "schemaVersion": "1.0",
        "routes": {
            "route": "FROM /* INTO $upstream"
        },
        "storeAndForwardConfiguration": {
          "timeToLiveSecs": 7200
        }
      }
    },
    "SimulatedTemperatureSensor": {
      "properties.desired": {
           "SendData": true,
           "SendInterval": 10
      }
    }
  }
}

No trecho anterior, você pode ver:

  • Existem três módulos. O agente do IoT Edge e os módulos do sistema do hub IoT Edge que estão presentes em todos os manifestos de implantação. O módulo personalizado SimulatedTemperatureSensor .
  • As imagens do módulo público são extraídas de um repositório do Registro de Contêiner do Azure que não requer credenciais para se conectar. Para imagens de módulo privado, defina as credenciais do Registro de contêiner a serem usadas na configuração do registryCredentials módulo do agente do IoT Edge.
  • O módulo personalizado SimulatedTemperatureSensor tem duas propriedades "SendData": true graváveis e "SendInterval": 10.

A captura de tela a seguir mostra esse manifesto de implantação importado para o IoT Central:

Screenshot that shows the imported Environmental sensor deployment manifest.

Se seu aplicativo usa organizações, você pode atribuir seus manifestos de implantação a organizações específicas. A captura de tela anterior mostra o manifesto de implantação atribuído à organização Store Manager / Americas .

Para saber como usar a página Manifestos de Borda e atribuir manifestos de implantação a dispositivos IoT Edge, consulte Gerenciar manifestos de implantação do IoT Edge em seu aplicativo do IoT Central.

Gerir um dispositivo não atribuído

Um dispositivo IoT Edge que não tem um modelo de dispositivo associado é conhecido como um dispositivo não atribuído . Não é possível usar recursos do IoT Central, como painéis, grupos de dispositivos, análises, regras e trabalhos com dispositivos não atribuídos. No entanto, você pode usar os seguintes recursos com dispositivos não atribuídos:

  • Exiba dados brutos, como telemetria e propriedades.
  • Chamar comandos do dispositivo.
  • Propriedades de leitura e gravação.

Screenshot that shows unassigned device capabilities.

Você também pode gerenciar módulos individuais em dispositivos não atribuídos:

Screenshot that shows the options for managing modules on unassigned devices.

Modelos de dispositivo IoT Edge

Os modelos de dispositivo do IoT Central usam modelos para descrever os recursos dos dispositivos IoT Edge. Os modelos de dispositivo são opcionais para dispositivos IoT Edge. O modelo de dispositivo permite que você interaja com telemetria, propriedades e comandos usando recursos do IoT Central, como painéis e análises. O diagrama a seguir mostra a estrutura do modelo para um dispositivo IoT Edge:

Diagram that shows the model structure for an IoT Edge device connected to IoT Central.

O IoT Central modela um dispositivo IoT Edge da seguinte maneira:

  • Cada modelo de dispositivo IoT Edge tem um modelo de capacidade.
  • Para cada módulo personalizado listado no manifesto de implantação, adicione uma definição de módulo se quiser usar o IoT Central para interagir com esse módulo.
  • Um modelo de capacidade de módulo implementa uma ou mais interfaces de módulo.
  • Cada interface de módulo contém telemetria, propriedades e comandos.

Você pode gerar o modelo de capacidade básica com base nos módulos e propriedades definidos no manifesto do dispositivo. Para saber mais, consulte Adicionar módulos e propriedades a modelos de dispositivo.

Padrões de gateway IoT Edge

O IoT Central suporta os seguintes padrões de dispositivo IoT Edge:

IoT Edge como um gateway transparente

Os dispositivos downstream se conectam ao IoT Central por meio do gateway com sua própria identidade.

IoT Edge as transparent gateway

O dispositivo IoT Edge é provisionado no IoT Central junto com os dispositivos downstream conectados ao dispositivo IoT Edge. O suporte de tempo de execução para provisionamento de dispositivos downstream por meio do gateway não é suportado no momento.

O módulo de hub IoT Edge se comporta como o IoT Central e lida com conexões de dispositivos registrados no IoT Central. As mensagens passam de dispositivos downstream para o IoT Central como se não houvesse um gateway entre eles. Em um gateway transparente, você não pode usar módulos personalizados para manipular as mensagens dos dispositivos downstream.

Nota

Atualmente, o IoT Central não suporta a conexão de um dispositivo IoT Edge como um dispositivo downstream a um gateway transparente do IoT Edge. Isso ocorre porque todos os dispositivos que se conectam ao IoT Central são provisionados usando o Serviço de Provisionamento de Dispositivo (DPS) e o DPS atualmente não oferece suporte a cenários aninhados do IoT Edge.

IoT Edge como gateway de tradução de protocolo

Esse padrão permite que você conecte dispositivos que não podem usar nenhum dos protocolos suportados pelo IoT Central.

IoT Edge as protocol translation gateway

O dispositivo IoT Edge é provisionado no IoT Central e qualquer telemetria de seus dispositivos downstream é representada como proveniente do dispositivo IoT Edge. Os dispositivos downstream conectados ao dispositivo IoT Edge não são provisionados no IoT Central.

IoT Edge como um gateway de tradução de identidade

Os dispositivos downstream se conectam a um módulo no gateway que fornece identidades de dispositivo do IoT Central para eles.

IoT Edge as identity translation gateway

O dispositivo IoT Edge é provisionado no IoT Central junto com os dispositivos downstream conectados ao dispositivo IoT Edge. Atualmente, o IoT Central não tem suporte de tempo de execução para um gateway fornecer uma identidade e provisionar dispositivos downstream. Se você trouxer seu próprio módulo de tradução de identidade, o IoT Central poderá oferecer suporte a esse padrão.

Relações de dispositivos downstream com um gateway e módulos

Se os dispositivos downstream se conectarem a um dispositivo de gateway IoT Edge por meio do módulo de hub IoT Edge, o dispositivo IoT Edge será um gateway transparente:

Diagram of transparent gateway

Se os dispositivos downstream se conectarem a um dispositivo de gateway IoT Edge por meio de um módulo personalizado, o dispositivo IoT Edge será um gateway de tradução. No exemplo a seguir, os dispositivos downstream se conectam por meio de um módulo personalizado Modbus que faz a conversão de protocolo:

Diagram of custom module connection

O diagrama a seguir mostra conexões com um dispositivo de gateway IoT Edge por meio de ambos os tipos de módulos. Nesse cenário, o dispositivo IoT Edge é um gateway transparente e de tradução:

Diagram of connecting using both connection modules

Os dispositivos downstream podem se conectar a um dispositivo de gateway IoT Edge por meio de vários módulos personalizados. O diagrama a seguir mostra dispositivos downstream se conectando por meio de um módulo personalizado Modbus, um módulo personalizado BLE e o módulo hub IoT Edge:

Diagram of connecting using multiple custom modules

Para saber mais sobre os padrões de gateway do IoT Edge, consulte Como um dispositivo IoT Edge pode ser usado como um gateway.

Implantar o tempo de execução do IoT Edge

Para saber onde você pode executar o tempo de execução do IoT Edge, consulte Sistemas suportados do Azure IoT Edge.

Você também pode instalar o tempo de execução do IoT Edge nos seguintes ambientes:

Monitore seus dispositivos IoT Edge

Para saber como monitorar remotamente sua frota do IoT Edge, consulte Coletar e transportar métricas.

Próximos passos

Um próximo passo sugerido é aprender a desenvolver seus próprios módulos do IoT Edge.