Guia de início rápido: implante seu primeiro módulo IoT Edge em um dispositivo Windows

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

Importante

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

Experimente o Azure IoT Edge neste início rápido implantando código em contêineres em um dispositivo Linux no Windows IoT Edge. O IoT Edge permite que você gerencie remotamente o código em seus dispositivos para que você possa enviar mais de suas cargas de trabalho para a borda. Para este início rápido, recomendamos usar seu próprio dispositivo Cliente Windows para ver como é fácil usar o Azure IoT Edge para Linux no Windows. Se você deseja usar o Windows Server ou uma VM do Azure para criar sua implantação, siga as etapas no guia de instruções sobre como instalar e provisionar o Azure IoT Edge para Linux em um dispositivo Windows.

Neste início rápido, vai aprender a:

  • Crie um hub IoT.
  • Registar um dispositivo IoT Edge no seu hub IoT.
  • Instale e inicie o tempo de execução do IoT Edge para Linux no Windows em seu dispositivo.
  • Implante remotamente um módulo em um dispositivo IoT Edge e envie telemetria.

Diagrama que mostra a arquitetura deste início rápido para o seu dispositivo e nuvem.

Este guia de início rápido orienta você sobre como configurar seu Azure IoT Edge para Linux no dispositivo Windows. Em seguida, você implantará um módulo do portal do Azure em seu dispositivo. O módulo que você usará é um sensor simulado que gera dados de temperatura, umidade e pressão. Outros tutoriais do Azure IoT Edge se baseiam no trabalho que você faz aqui, implantando módulos que analisam os dados simulados para insights de negócios.

Se não tiver uma subscrição ativa do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Prepare seu ambiente para a CLI do Azure.

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Crie um grupo de recursos na nuvem para gerenciar todos os recursos que você usará neste início rápido.

az group create --name IoTEdgeResources --location westus2

Verifique se seu dispositivo IoT Edge atende aos seguintes requisitos:

  • Requisitos de Sistema

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 Windows 10 compilação mínima 17763 com todas as atualizações cumulativas atuais instaladas.
  • Requisitos de Hardware

    • Memória livre mínima: 1 GB
    • Espaço livre mínimo em disco: 10 GB

Criar um hub IoT

Comece criando um hub IoT com a CLI do Azure.

Diagrama que mostra a etapa para criar um hub I o T.

O nível gratuito do Hub IoT do Azure funciona para este início rápido. Se você usou o Hub IoT no passado e já tem um hub criado, pode usar esse hub IoT.

O código a seguir cria um hub F1 livre no grupo IoTEdgeResourcesde recursos. Substitua {hub_name} por um nome exclusivo para seu hub IoT. Pode levar alguns minutos para criar um hub IoT.

az iot hub create --resource-group IoTEdgeResources --name {hub_name} --sku F1 --partition-count 2

Se você receber um erro porque já tem um hub gratuito em sua assinatura, altere a SKU para S1. Se você receber um erro informando que o nome do hub IoT não está disponível, outra pessoa já tem um hub com esse nome. Experimente um novo nome.

Registar um dispositivo do IoT Edge

Registe um dispositivo do IoT Edge no seu hub IoT recentemente criado.

Diagrama que mostra a etapa para registrar um dispositivo com uma identidade de hub de I o T.

Crie uma identidade de dispositivo para o seu dispositivo simulado para que este consiga comunicar com o seu hub IoT. A identidade do dispositivo reside na cloud e verá uma cadeia de ligação do dispositivo única para associar um dispositivo físico a uma identidade do dispositivo.

Os dispositivos IoT Edge se comportam e podem ser gerenciados de forma diferente dos dispositivos IoT típicos. Use o --edge-enabled sinalizador para declarar que essa identidade é para um dispositivo IoT Edge.

  1. No Azure Cloud Shell, insira o seguinte comando para criar um dispositivo chamado myEdgeDevice em seu hub.

    az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
    

    Se você receber um erro sobre iothubowner chaves de política, verifique se o Cloud Shell está executando a versão mais recente da extensão do Azure IoT.

  2. Exiba a cadeia de conexão do seu dispositivo, que vincula seu dispositivo físico à sua identidade no Hub IoT. Ele contém o nome do seu hub IoT, o nome do seu dispositivo e uma chave compartilhada que autentica conexões entre os dois.

    az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
    
  3. Copie o valor da chave connectionString da saída em JSON e guarde-o. Este valor é a cadeia de ligação do dispositivo. Você o usará para configurar o tempo de execução do IoT Edge na próxima seção.

    Por exemplo, sua cadeia de conexão deve ser semelhante a HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

Instalar e iniciar o runtime do IoT Edge

Instale o IoT Edge para Linux no Windows em seu dispositivo e configure-o com a cadeia de conexão do dispositivo.

Diagrama que mostra a etapa para iniciar o tempo de execução do I o T Edge.

Execute os seguintes comandos do PowerShell no dispositivo de destino onde você deseja implantar o Azure IoT Edge para Linux no Windows. Para implantar em um dispositivo de destino remoto usando o PowerShell, use o PowerShell Remoto para estabelecer uma conexão com um dispositivo remoto e execute esses comandos remotamente nesse dispositivo.

  1. Em uma sessão elevada do PowerShell, execute o seguinte comando para habilitar o Hyper-V. Para obter mais informações, verifique Hyper-V no Windows 10.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Em uma sessão do PowerShell com privilégios elevados, execute cada um dos comandos a seguir para baixar o IoT Edge para Linux no Windows.

    • X64/AMD64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_4_LTS_ARM64" -OutFile $msiPath
      
  3. Instale o IoT Edge para Linux no Windows no seu dispositivo.

    Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
    
  4. Defina a política de execução no dispositivo de destino como AllSigned se ainda não estiver. Você pode verificar a política de execução atual em um prompt do PowerShell com privilégios elevados usando:

    Get-ExecutionPolicy -List
    

    Se a política de execução do não AllSignedfor , você poderá definir a política de local machine execução usando:

    Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
    
  5. Crie a implantação do IoT Edge para Linux no Windows.

    Deploy-Eflow
    
  6. Digite 'Y' para aceitar os termos da licença.

  7. Digite 'O' ou 'R' para ativar ou desativar os dados de diagnóstico opcionais, dependendo da sua preferência. Uma implantação bem-sucedida é mostrada abaixo.

    Captura de tela que mostra que uma implantação bem-sucedida dirá Implantação bem-sucedida no final das mensagens no console.

  8. Provisione seu dispositivo usando a cadeia de conexão de dispositivo recuperada na seção anterior. Substitua o texto do espaço reservado pelo seu próprio valor.

    Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
    

O seu dispositivo IoT Edge está agora configurado. Está pronto para executar módulos implementados na cloud.

Implementar um módulo

Gerencie seu dispositivo Azure IoT Edge da nuvem para implantar um módulo que envia dados de telemetria para o Hub IoT.

Diagrama que mostra a etapa para implantar um módulo.

Um dos principais recursos do Azure IoT Edge é implantar código em seus dispositivos IoT Edge a partir da nuvem. Os módulos do IoT Edge são pacotes executáveis implementados como contêineres. Nesta seção, você implantará um módulo pré-criado da seção Módulos de Borda IoT do Azure Marketplace diretamente do Hub IoT do Azure.

O módulo implantado nesta seção simula um sensor e envia os dados gerados. Este módulo é uma parte útil do código quando você está começando a usar o IoT Edge porque você pode usar os dados simulados para desenvolvimento e teste. Se você quiser ver exatamente o que este módulo faz, você pode visualizar o código-fonte simulado do sensor de temperatura.

Siga estes passos para implementar o seu primeiro módulo a partir do Azure Marketplace.

  1. Entre no portal do Azure e vá para seu hub IoT.

  2. No menu à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.

  3. Selecione o ID do dispositivo de destino na lista de dispositivos.

    Nota

    Quando você cria um novo dispositivo IoT Edge, ele exibirá o código 417 -- The device's deployment configuration is not set de status no portal do Azure. Esse status é normal e significa que o dispositivo está pronto para receber uma implantação de módulo.

  4. Na barra superior, selecione Definir módulos.

    Escolha quais módulos você deseja executar no seu dispositivo. Pode escolher entre módulos que já criou, módulos do Azure Marketplace ou módulos que criou por si próprio. Neste início rápido, você implantará um módulo do Azure Marketplace.

  5. Em Módulos do IoT Edge, abra o menu suspenso Adicionar e selecione Módulo do Marketplace.

  6. No IoT Edge Module Marketplace, pesquise e selecione o Simulated Temperature Sensor módulo. O módulo é adicionado à seção Módulos do IoT Edge com o status de execução desejado.

  7. Selecione Next: Routes para continuar a configurar rotas.

    Uma rota chamada SimulatedTemperatureSensorToIoTHub foi criada automaticamente quando você adicionou o módulo do Azure Marketplace. Essa rota envia todas as mensagens do módulo de temperatura simulada para o Hub IoT.

  8. Selecione Seguinte: Rever + criar.

  9. Revise o arquivo JSON e selecione Criar. O arquivo JSON define todos os módulos que você implanta em seu dispositivo IoT Edge.

    Nota

    Quando submete uma implementação nova para um dispositivo do IoT Edge, nada é enviado para o seu dispositivo. Em vez disso, o dispositivo consulta regularmente o Hub IoT para obter novas instruções. Se o dispositivo encontrar um manifesto de implementação atualizado, este irá utilizar as informações sobre a nova implementação para obter as imagens do módulo da cloud e, em seguida, começa a executar os módulos localmente. Este processo pode demorar alguns minutos.

Depois de criar os detalhes de implantação do módulo, o assistente retorna você à página de detalhes do dispositivo. Exiba o status da implantação na guia Módulos .

Você deve ver três módulos: $edgeAgent, $edgeHub e SimulatedTemperatureSensor. Se um ou mais dos módulos tiver Sim em Especificado em Implantação , mas não em Relatado por Dispositivo, seu dispositivo IoT Edge ainda os iniciará. Aguarde alguns minutos e, em seguida, atualize a página.

Captura de tela que mostra o SimulatedTemperatureSensor na lista de módulos implantados.

Se você tiver problemas para implantar módulos, consulte Solucionar problemas de dispositivos IoT Edge no portal do Azure.

Ver os dados gerados

Neste início rápido, criou um novo dispositivo IoT Edge e instalou o runtime do IoT Edge no mesmo. Em seguida, você usou o portal do Azure para implantar um módulo IoT Edge para ser executado no dispositivo sem precisar fazer alterações no próprio dispositivo.

O módulo que você enviou gera dados de ambiente de exemplo que você pode usar para testar mais tarde. O sensor simulado está monitorando tanto uma máquina quanto o ambiente ao redor da máquina. Por exemplo, este sensor poderá estar num espaço de servidor, numa fábrica ou numa turbina eólica. As mensagens que ele envia incluem temperatura e umidade ambiente, temperatura e pressão da máquina e um carimbo de data/hora. Os tutoriais do IoT Edge usam os dados criados por este módulo como dados de teste para análise.

  1. Faça login na máquina virtual do IoT Edge para Linux no Windows usando o seguinte comando na sessão do PowerShell:

    Connect-EflowVm
    

    Nota

    A única conta permitida para SSH para a máquina virtual é o usuário que a criou.

  2. Depois de fazer login, você pode verificar a lista de módulos do IoT Edge em execução usando o seguinte comando do Linux:

    sudo iotedge list
    

    Captura de tela que mostra onde verificar se os módulos do sensor de temperatura, agente e hub estão em execução.

  3. Veja as mensagens que estão sendo enviadas do módulo do sensor de temperatura para a nuvem usando o seguinte comando do Linux:

    sudo iotedge logs SimulatedTemperatureSensor -f
    

    Captura de tela que mostra os logs de saída do módulo Sensor de Temperatura Simulado quando ele está em execução.

    Gorjeta

    Os comandos do IoT Edge diferenciam maiúsculas de minúsculas quando se referem a nomes de módulos.

Clean up resources (Limpar recursos)

Se quiser continuar com os tutoriais do IoT Edge, ignore esta etapa. Pode utilizar o dispositivo que registou e configurou neste início rápido. Caso contrário, você pode excluir os recursos do Azure que criou para evitar cobranças.

Se tiver criado a sua máquina virtual e o hub IoT num novo grupo de recursos, pode eliminar esse grupo e todos os recursos associados. Se não quiser excluir todo o grupo, você pode excluir recursos individuais.

Importante

Verifique o conteúdo do grupo de recursos para se certificar de que não há nada que você queira manter. A eliminação de um grupo de recursos é irreversível.

Use o comando a seguir para remover o grupo IoTEdgeResources . A eliminação pode demorar alguns minutos.

az group delete --name IoTEdgeResources

Você pode confirmar que o grupo de recursos foi removido usando este comando para exibir a lista de grupos de recursos.

az group list

Desinstalar o IoT Edge para Linux no Windows

Se você quiser remover a instalação do Azure IoT Edge para Linux no Windows do seu dispositivo, use os comandos a seguir.

  1. Abrir Definições no Windows
  2. Selecione Adicionar ou remover programas
  3. Selecione o aplicativo Azure IoT Edge
  4. Selecione Desinstalar

Próximos passos

Neste início rápido, você criou um dispositivo IoT Edge e usou a interface de nuvem do Azure IoT Edge para implantar código no dispositivo. Agora você tem um dispositivo de teste gerando dados brutos sobre seu ambiente.

No próximo tutorial, você aprenderá a monitorar a atividade e a integridade do seu dispositivo no portal do Azure.