Criar e aprovisionar um dispositivo IoT Edge no Windows com chaves simétricas

Aplica-se a:sim ícone IoT Edge 1.1

Importante

IoT Edge 1,1 data de fim do suporte 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 IoT Edge.

Este artigo fornece instruções ponto a ponto para registar e aprovisionar um dispositivo Windows IoT Edge.

Nota

O Azure IoT Edge com contentores do Windows não será suportado a partir da versão 1.2 do Azure IoT Edge.

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

Se quiser utilizar o Azure IoT Edge para Linux no Windows, pode seguir os passos no guia de procedimentos equivalente.

Todos os dispositivos que se ligam a um hub IoT têm um ID de dispositivo que é utilizado para monitorizar comunicações da cloud para o dispositivo ou do dispositivo para a cloud. Configure um dispositivo com as respetivas informações de ligação, incluindo o nome do anfitrião do hub IoT, o ID do dispositivo e as informações que o dispositivo utiliza para autenticar para Hub IoT.

Os passos neste artigo explicam um processo chamado aprovisionamento manual, onde liga um único dispositivo ao respetivo hub IoT. Para o aprovisionamento manual, tem duas opções para autenticar dispositivos IoT Edge:

  • Chaves simétricas: quando cria uma nova identidade de dispositivo no Hub IoT, o serviço cria duas chaves. Coloca uma das teclas no dispositivo e esta apresenta a chave para Hub IoT durante a autenticação.

    Este método de autenticação é mais rápido de começar, mas não tão seguro.

  • X.509 autoassinado: cria dois certificados de identidade X.509 e coloca-os no dispositivo. Quando cria uma nova identidade de dispositivo no Hub IoT, fornece thumbprints de ambos os certificados. Quando o dispositivo é autenticado para Hub IoT, apresenta um certificado e Hub IoT verifica se o certificado corresponde ao thumbprint.

    Este método de autenticação é mais seguro e recomendado para cenários de produção.

Este artigo aborda a utilização de chaves simétricas como método de autenticação. Se quiser utilizar certificados X.509, consulte Criar e aprovisionar um dispositivo IoT Edge no Windows com certificados X.509.

Nota

Se tiver muitos dispositivos para configurar e não quiser aprovisionar manualmente cada um deles, utilize um dos seguintes artigos para saber como IoT Edge funciona com o serviço de aprovisionamento de dispositivos Hub IoT:

Pré-requisitos

Este artigo aborda o registo do seu dispositivo IoT Edge e a instalação de IoT Edge no mesmo. Estas tarefas têm diferentes pré-requisitos e utilitários utilizados para as realizar. Certifique-se de que tem todos os pré-requisitos abrangidos antes de continuar.

Ferramentas de gestão de dispositivos

Pode utilizar a portal do Azure, o Visual Studio Code ou a CLI do Azure para obter os passos para registar o seu dispositivo. Cada utilitário tem os seus próprios pré-requisitos:

Um hub IoT gratuito ou standard na sua subscrição do Azure.

Requisitos dos dispositivos

Um dispositivo Windows.

IoT Edge com contentores do Windows requer a versão 1809/compilação 17763 do Windows, que é a compilação de suporte de longo prazo mais recente do Windows. Certifique-se de que revê a lista de sistemas suportados para obter uma lista de SKUs suportados.

Tenha em atenção que as versões do Windows no contentor e no anfitrião têm de corresponder. Para obter mais informações, veja Não foi possível iniciar o módulo devido a um erro de correspondência do SO.

Registar o seu dispositivo

Pode utilizar o portal do Azure, o Visual Studio Code ou a CLI do Azure para registar o seu dispositivo, consoante a sua preferência.

No seu hub IoT no portal do Azure, IoT Edge dispositivos são criados e geridos separadamente dos dispositivos IoT que não estão ativados no Edge.

  1. Inicie sessão no portal do Azure e navegue para o seu hub IoT.

  2. No painel esquerdo, selecione Dispositivos no menu e, em seguida, selecione Adicionar Dispositivo.

  3. Na página Criar um dispositivo , forneça as seguintes informações:

    • Crie um ID de dispositivo descritivo. Tome nota deste ID do dispositivo, pois irá utilizá-lo mais tarde.
    • Selecione a caixa de verificação IoT Edge Dispositivo.
    • Selecione Chave simétrica como o tipo de autenticação.
    • Utilize as predefinições para gerar automaticamente chaves de autenticação e ligar o novo dispositivo ao hub.
  4. Selecione Guardar.

Agora que tem um dispositivo registado no Hub IoT, obtenha as informações que utiliza para concluir a instalação e o aprovisionamento do IoT Edge runtime.

Ver dispositivos registados e obter informações de aprovisionamento

Os dispositivos que utilizam a autenticação de chave simétrica precisam das respetivas cadeias de ligação para concluir a instalação e o aprovisionamento do IoT Edge runtime.

Os dispositivos com capacidade edge que se ligam ao seu hub IoT estão listados na página Dispositivos . Pode filtrar a lista por tipo Dispositivo Iot Edge.

Captura de ecrã a mostrar como ver os seus dispositivos no portal do Azure, Hub IoT.

Quando estiver pronto para configurar o seu dispositivo, precisa da cadeia de ligação que liga o dispositivo físico à respetiva identidade no hub IoT.

Os dispositivos que se autenticam com chaves simétricas têm as respetivas cadeias de ligação disponíveis para cópia no portal.

  1. Na página Dispositivos no portal, selecione o IoT Edge ID do dispositivo na lista.
  2. Copie o valor da Cadeia de Ligação Primária ou da Cadeia de Ligação Secundária.

Instalar IoT Edge

Nesta secção, vai preparar a VM do Windows ou o dispositivo físico para IoT Edge. Em seguida, instale IoT Edge.

O Azure IoT Edge depende de um runtime de contentor compatível com o OCI. O Moby, um motor baseado no Moby, está incluído no script de instalação, o que significa que não existem passos adicionais para instalar o motor.

Para instalar o runtime do IoT Edge:

  1. Execute o PowerShell como um administrador.

    Utilize uma sessão AMD64 do PowerShell e não do PowerShell(x86). Se não souber que tipo de sessão está a utilizar, 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 o seu computador Windows está numa versão suportada
    • Ativa a funcionalidade contentores
    • Transfere o motor moby e o runtime IoT Edge
    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Deploy-IoTEdge
    
  3. Reinicie o dispositivo, se lhe for pedido.

Quando instala IoT Edge num dispositivo, pode utilizar parâmetros adicionais para modificar o processo, incluindo:

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

Para obter mais informações sobre estes parâmetros adicionais, veja Scripts do PowerShell para IoT Edge com contentores do Windows.

Aprovisionar o dispositivo com a respetiva identidade na cloud

Agora que o motor de contentor e o IoT Edge runtime estão instalados no seu dispositivo, está pronto para o próximo passo, que consiste em configurar o dispositivo com as respetivas informações de identidade e autenticação na cloud.

  1. No dispositivo IoT Edge, execute o PowerShell como administrador.

  2. Utilize o comando Initialize-IoTEdge para configurar o IoT Edge runtime no seu computador. O comando é predefinido para o aprovisionamento manual com contentores do Windows.

    . {Invoke-WebRequest -useb https://aka.ms/iotedge-win} | Invoke-Expression; `
    Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
    
    • Se transferiu o script IoTEdgeSecurityDaemon.ps1 para o seu dispositivo para instalação offline ou de versão específica, certifique-se de que referencia a cópia local do script.

      . <path>/IoTEdgeSecurityDaemon.ps1
      Initialize-IoTEdge -ManualConnectionString -ContainerOs Windows
      
  3. Quando lhe for pedido, indique a cadeia de ligação do dispositivo que obteve na secção anterior. A cadeia de ligação do dispositivo associa o dispositivo físico a um ID de dispositivo no Hub IoT e fornece informações de autenticação.

    A cadeia de ligação do dispositivo utiliza o seguinte formato e não deve incluir aspas: HostName={IoT_hub_name}.azure-devices.net;DeviceId={device_name};SharedAccessKey={key}

Quando aprovisiona um dispositivo manualmente, pode utilizar parâmetros adicionais para modificar o processo, incluindo:

  • Direcionar o tráfego para passar por um servidor proxy
  • Declarar uma imagem de contentor edgeAgent específica e fornecer credenciais se estiver num registo privado

Para obter mais informações sobre estes parâmetros adicionais, veja Scripts do PowerShell para IoT Edge com contentores do Windows.

Verificar a configuração com êxito

Verifique se o runtime foi instalado e configurado com êxito no seu dispositivo IoT Edge.

Verifique o estado do serviço IoT Edge.

Get-Service iotedge

Examine os registos do serviço.

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

Listar módulos em execução.

iotedge list

Instalação de versões offline ou específica (opcional)

Os passos nesta secção destinam-se a cenários não abrangidos pelos passos de instalação padrão. Isto pode incluir:

  • Instalar IoT Edge offline
  • Instalar uma versão candidata à versão
  • Instalar uma versão diferente da mais recente

Durante a instalação, são transferidos três ficheiros:

  • Um script do PowerShell, que contém as instruções de instalação
  • Cab do Microsoft Azure IoT Edge, que contém o daemon de segurança IoT Edge (iotedged), o motor de contentor moby e a CLI moby
  • Instalador do pacote redistribuível do Visual C++ (runtime do VC)

Se o seu dispositivo estiver offline durante a instalação ou se quiser instalar uma versão específica do IoT Edge, pode transferir estes ficheiros com antecedência para o dispositivo. Quando for altura de instalar, aponte o script de instalação para o diretório que contém os ficheiros transferidos. O instalador verifica primeiro esse diretório e, em seguida, apenas transfere os componentes que não são encontrados. Se todos os ficheiros estiverem disponíveis offline, pode instalar sem ligação à Internet.

  1. Para obter os ficheiros de instalação de IoT Edge mais recentes, juntamente com versões anteriores, veja Versões do Azure IoT Edge.

  2. Localize a versão que pretende instalar e transfira os seguintes ficheiros da secção Recursos das notas de versão para o seu dispositivo IoT:

    • IoTEdgeSecurityDaemon.ps1
    • Microsoft-Azure-IoTEdge-amd64.cab do canal de lançamento 1.1.

    É importante utilizar o script do PowerShell a partir da mesma versão que o ficheiro de .cab que utiliza porque a funcionalidade é alterada para suportar as funcionalidades em cada versão.

  3. Se o ficheiro de .cab que transferiu tiver um sufixo de arquitetura, mude o nome do ficheiro para apenas Microsoft-Azure-IoTEdge.cab.

  4. Opcionalmente, transfira um instalador para Visual C++ redistribuível. Por exemplo, o script do PowerShell utiliza esta versão: vc_redist.x64.exe. Guarde o instalador na mesma pasta no seu dispositivo IoT que o IoT Edge ficheiros.

  5. Para instalar com componentes offline, dot origem a cópia local do script do PowerShell.

  6. Execute o comando Deploy-IoTEdge com o -OfflineInstallationPath parâmetro . Indique o caminho absoluto para o diretório de ficheiros. Por exemplo,

    . path_to_powershell_module_here\IoTEdgeSecurityDaemon.ps1
    Deploy-IoTEdge -OfflineInstallationPath path_to_file_directory_here
    

    O comando de implementação utilizará todos os componentes encontrados no diretório de ficheiros local fornecido. Se o ficheiro .cab ou o instalador do Visual C++ estiver em falta, tentará transferi-los.

Desinstalar IoT Edge

Se quiser remover a instalação IoT Edge do seu dispositivo Windows, utilize o comando Desinstalar-IoTEdge a partir de uma janela administrativa do PowerShell. Este comando remove o IoT Edge runtime, juntamente com a configuração existente e os dados do motor Moby.

. {Invoke-WebRequest -useb aka.ms/iotedge-win} | Invoke-Expression; `
Uninstall-IoTEdge

Para obter mais informações sobre as opções de desinstalação, utilize o comando Get-Help Uninstall-IoTEdge -full.

Passos seguintes

Continue a implementar IoT Edge módulos para saber como implementar módulos no seu dispositivo.