Partilhar via


Crie e provisione dispositivos IoT Edge em escala no Windows usando chaves simétricas

Aplica-se a: ícone sim IoT Edge 1.1

Importante

A data de fim do suporte do IoT Edge 1.1 foi 13 de dezembro de 2022. Consulte o Ciclo de Vida de Produtos da Microsoft para obter informações sobre como é suportado este produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Atualizar o IoT Edge.

Este artigo fornece instruções completas para o provisionamento automático de um ou mais dispositivos Windows IoT Edge usando chaves simétricas. Você pode provisionar automaticamente dispositivos do Azure IoT Edge com o serviço de provisionamento de dispositivo (DPS) do Hub IoT do Azure. Se você não estiver familiarizado com o processo de provisionamento automático, revise a visão geral do provisionamento antes de continuar.

Nota

O Azure IoT Edge com contêineres do Windows não terá suporte a partir da versão 1.2 do Azure IoT Edge.

Considere usar o novo método para executar o IoT Edge em dispositivos Windows, Azure IoT Edge para Linux no Windows.

Se quiser usar o Azure IoT Edge para Linux no Windows, siga as etapas no guia de instruções equivalente.

As tarefas são as seguintes:

  1. Crie um registro individual para um único dispositivo ou um registro de grupo para um conjunto de dispositivos.
  2. Instale o tempo de execução do IoT Edge e conecte-se ao Hub IoT.

O atestado de chave simétrica é uma abordagem simples para autenticar um dispositivo com uma instância de serviço de provisionamento de dispositivo. Esse método de atestado representa uma experiência de "Olá mundo" para desenvolvedores que são novos no provisionamento de dispositivos ou não têm requisitos de segurança rigorosos. O atestado de dispositivo usando um certificado TPM ou X.509 é mais seguro e deve ser usado para requisitos de segurança mais rigorosos.

Pré-requisitos

Recursos na nuvem

  • Um hub IoT ativo
  • Uma instância do serviço de provisionamento de dispositivo do Hub IoT no Azure, vinculada ao seu hub IoT
    • Se você não tiver uma instância de serviço de provisionamento de dispositivo, poderá seguir as instruções nas seções Criar um novo serviço de provisionamento de dispositivo do Hub IoT e Vincular o hub IoT e o serviço de provisionamento de dispositivo do início rápido do serviço de provisionamento de dispositivos do Hub IoT.
    • Depois de executar o serviço de provisionamento de dispositivo, copie o valor de ID Scope da página de visão geral. Você usa esse valor ao configurar o tempo de execução do IoT Edge.

Requisitos do dispositivo

Um dispositivo Windows físico ou virtual para ser o dispositivo IoT Edge.

Você precisará definir um ID de registro exclusivo para identificar cada dispositivo. Você pode usar o endereço MAC, número de série ou qualquer informação exclusiva do dispositivo. Por exemplo, você pode usar uma combinação de um endereço MAC e um número de série formando a seguinte cadeia de caracteres para uma ID de registro: sn-007-888-abc-mac-a1-b2-c3-d4-e5-f6. Os caracteres válidos são alfanuméricos minúsculos e travessão (-).

Criar um registro DPS

Crie um registro para provisionar um ou mais dispositivos por meio do DPS.

Se você deseja provisionar um único dispositivo IoT Edge, crie um registro individual. Se você precisar de vários dispositivos provisionados, siga as etapas para criar um registro de grupo DPS.

Ao criar um registro no DPS, você tem a oportunidade de declarar um estado gêmeo inicial do dispositivo. No gêmeo de dispositivo, você pode definir tags para agrupar dispositivos por qualquer métrica necessária em sua solução, como região, ambiente, local ou tipo de dispositivo. Essas tags são usadas para criar implantações automáticas.

Para obter mais informações sobre inscrições no serviço de provisionamento de dispositivos, consulte Como gerenciar registros de dispositivos.

Criar uma inscrição individual do DPS

Gorjeta

As etapas neste artigo são para o portal do Azure, mas você também pode criar inscrições individuais usando a CLI do Azure. Para obter mais informações, consulte az iot dps enrollment. Como parte do comando CLI, use o sinalizador habilitado para borda para especificar que o registro é para um dispositivo IoT Edge.

  1. No portal do Azure, navegue até sua instância do serviço de provisionamento de dispositivo do Hub IoT.

  2. Em Configurações, selecione Gerenciar inscrições.

  3. Selecione Adicionar inscrição individual e conclua as seguintes etapas para configurar o registro:

    1. Em Mecanismo, selecione Chave simétrica.

    2. Forneça um ID de registo exclusivo para o seu dispositivo.

    3. Opcionalmente, forneça um ID de dispositivo do Hub IoT para o seu dispositivo. Você pode usar IDs de dispositivo para direcionar um dispositivo individual para implantação de módulo. Se você não fornecer um ID de dispositivo, o ID de registro será usado.

    4. Selecione True para declarar que o registro é para um dispositivo IoT Edge.

    5. Opcionalmente, adicione um valor de tag ao estado gêmeo inicial do dispositivo. Você pode usar tags para segmentar grupos de dispositivos para implantação de módulos. Por exemplo:

      {
         "tags": {
            "environment": "test"
         },
         "properties": {
            "desired": {}
         }
      }
      
    6. Selecione Guardar.

  4. Copie o valor da Chave Primária do registro individual para usar ao instalar o tempo de execução do IoT Edge.

Agora que existe um registro para esse dispositivo, o tempo de execução do IoT Edge pode provisionar automaticamente o dispositivo durante a instalação.

Instalar o IoT Edge

Nesta seção, você prepara sua VM do Windows ou dispositivo físico para o IoT Edge. Em seguida, instale o IoT Edge.

O Azure IoT Edge depende de um tempo de execução de contêiner compatível com OCI. Moby, um mecanismo baseado em Moby, está incluído no script de instalação, o que significa que não há etapas adicionais para instalar o mecanismo.

Para instalar o tempo de execução do IoT Edge:

  1. Execute o PowerShell como um administrador.

    Use uma sessão AMD64 do PowerShell, não o PowerShell(x86). Se não tiver certeza de qual tipo de sessão está usando, execute o seguinte comando:

    (Get-Process -Id $PID).StartInfo.EnvironmentVariables["PROCESSOR_ARCHITECTURE"]
    
  2. Execute o comando Deploy-IoTEdge , que executa as seguintes tarefas:

    • Verifica se a sua máquina Windows está numa versão suportada
    • Ativa o recurso de contêineres
    • Baixa o mecanismo moby e o tempo de execução do IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Reinicie o dispositivo, se solicitado.

Ao instalar o IoT Edge em um dispositivo, você pode usar parâmetros adicionais para modificar o processo, incluindo:

  • Tráfego direto para passar por um servidor proxy
  • Aponte o instalador para um diretório local para instalação offline

Para obter mais informações sobre esses parâmetros adicionais, consulte Scripts do PowerShell para IoT Edge com contêineres do Windows.

Provisionar o dispositivo com sua identidade na nuvem

Depois que o tempo de execução estiver instalado em seu dispositivo, configure o dispositivo com as informações que ele usa para se conectar ao serviço de provisionamento do dispositivo e ao Hub IoT.

Tenha as seguintes informações prontas:

  • O valor DPS ID Scope
  • O ID de registo do dispositivo que criou
  • A Chave Primária de um registro individual ou uma chave derivada para dispositivos que usam um registro de grupo.
  1. Abra uma janela do PowerShell no modo de administrador. Certifique-se de usar uma sessão AMD64 do PowerShell ao instalar o IoT Edge, não o PowerShell (x86).

  2. O comando Initialize-IoTEdge configura o tempo de execução do IoT Edge em sua máquina. O comando assume como padrão o provisionamento manual com contêineres do Windows, portanto, use o sinalizador para usar o -DpsSymmetricKey provisionamento automático com autenticação de chave simétrica.

    Substitua os valores de espaço reservado para paste_scope_id_here, paste_registration_id_heree paste_symmetric_key_here pelos dados coletados anteriormente.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -DpsSymmetricKey -ScopeId paste_scope_id_here -RegistrationId paste_registration_id_here -SymmetricKey paste_symmetric key_here
    

Verificar se a instalação foi bem-sucedida

Se o tempo de execução tiver sido iniciado com êxito, você poderá entrar no Hub IoT e começar a implantar módulos do IoT Edge no seu dispositivo.

Você pode verificar se o registro individual criado no serviço de provisionamento de dispositivo foi usado. Navegue até a instância do serviço de provisionamento de dispositivo no portal do Azure. Abra os detalhes de inscrição para o registro individual que você criou. Observe que o status do registro é atribuído e o ID do dispositivo está listado.

Use os seguintes comandos em seu dispositivo para verificar se o IoT Edge foi instalado e iniciado com êxito.

Verifique o estado do serviço IoT Edge.

Get-Service iotedge

Examine os logs de serviço.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; Get-IoTEdgeLog

Listar módulos em execução.

iotedge list

Próximos passos

O processo de registro do serviço de provisionamento de dispositivos permite definir a ID do dispositivo e as tags gêmeas do dispositivo ao mesmo tempo em que provisiona o novo dispositivo. Você pode usar esses valores para segmentar dispositivos individuais ou grupos de dispositivos usando o gerenciamento automático de dispositivos. Saiba como Implantar e monitorar módulos do IoT Edge em escala usando o portal do Azure ou usando a CLI do Azure.