Partilhar via


Quickstart: Implemente o seu primeiro módulo IoT Edge num dispositivo Windows

Aplica-se a:IoT Edge 1.5 IoT Edge 1.5

Importante

IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS atingiu o fim de vida útil a 12 de novembro de 2024. Se estiveres a usar uma versão anterior, vê Update IoT Edge.

Experimente o Azure IoT Edge neste início rápido, implementando código containerizado num dispositivo IoT Edge do Windows que executa Linux. O IoT Edge permite-lhe gerir código remotamente nos seus dispositivos para que possa enviar mais cargas de trabalho para a edge. Para este início rápido, recomenda-se que utilize o seu próprio dispositivo cliente Windows para ver quão fácil é utilizar o Azure IoT Edge para Linux no Windows. Se quiser usar Windows Server ou uma VM Azure para criar a sua implementação, siga os passos do guia prático sobre instalar e provisionar Azure IoT Edge para Linux num dispositivo Windows.

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

  • Crie um hub IoT.
  • Registe um dispositivo IoT Edge no seu hub IoT.
  • Instale e inicie o serviço IoT Edge para Linux no ambiente Windows no seu dispositivo.
  • Implante remotamente um módulo num dispositivo IoT Edge e envie telemetria.

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

Este quickstart explica-te como configurar o teu Azure IoT Edge para Linux num dispositivo Windows. Depois, implementa um módulo do portal do Azure para o seu dispositivo. O módulo que usas é um sensor simulado que gera dados de temperatura, humidade e pressão. Outros tutoriais do Azure IoT Edge baseiam-se no trabalho que faz aqui, implementando módulos que analisam os dados simulados para obter insights empresariais.

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

Pré-requisitos

Prepare o seu ambiente para a Azure CLI.

Crie um grupo de recursos na cloud para gerir todos os recursos que utiliza neste quickstart.

az group create --name IoTEdgeResources --location westus2

Certifique-se de que o seu dispositivo IoT Edge cumpre os seguintes requisitos:

  • Requisitos de sistema

    • Windows 101/11 (Pro, Enterprise, IoT Enterprise) 1 com a build mínima do Windows 10 17763 e 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 por criar um hub IoT usando a Azure CLI.

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

A versão gratuita do Azure IoT Hub funciona para este guia de início rápido. Se já usou o IoT Hub e já tem um hub, pode usar esse IoT hub.

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 IoT Edge

Registe um dispositivo IoT Edge no seu novo hub IoT.

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 está na cloud, e usas uma connection string única para associar um dispositivo físico a uma identidade de dispositivo.

Os dispositivos IoT Edge comportam-se e podem ser geridos de forma diferente dos dispositivos IoT típicos. Use a flag --edge-enabled para declarar que esta identidade é para um dispositivo IoT Edge.

  1. Em Azure Cloud Shell, introduza o seguinte comando para criar um dispositivo chamado myEdgeDevice no seu hub.

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

    Se receber um erro sobre iothubowner chaves de política, certifique-se de que o Cloud Shell está a correr a versão mais recente da extensão Azure IoT.

  2. Veja a cadeia de conexão do seu dispositivo, que liga o seu dispositivo físico à sua identidade no IoT Hub. 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 string de conexão do dispositivo. Use-o para configurar o runtime do IoT Edge na secção seguinte.

    Por exemplo, o seu connection string deve parecer semelhante a HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE_SHARED_ACCESS_KEY>.

Instale e inicie o runtime do IoT Edge

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

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

Execute os seguintes comandos PowerShell no dispositivo de destino onde pretende implementar o Azure IoT Edge para Linux no Windows. Para implantar num dispositivo de destino remoto usando o PowerShell, utilize PowerShell Remoto para estabelecer uma conexão com um dispositivo remoto e executar esses comandos remotamente nesse dispositivo.

  1. Numa sessão PowerShell elevada, execute o comando seguinte para ativar o Hyper-V. Para mais informações, consulte Hyper-V em Windows 10.

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
    
  2. Numa sessão PowerShell elevada, execute cada um dos seguintes comandos para descarregar 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_5_LTS_X64" -OutFile $msiPath
      
    • ARM64

      $msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))
      $ProgressPreference = 'SilentlyContinue'
      Invoke-WebRequest "https://aka.ms/AzEFLOWMSI_1_5_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. Define a política de execução no dispositivo alvo para AllSigned caso ainda não esteja. Pode verificar a política de execução atual num prompt PowerShell elevado utilizando:

    Get-ExecutionPolicy -List
    

    Se a política de execução de local machine não for AllSigned, defina a política de execução usando o seguinte comando:

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

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

  7. Introduza O ou R para ativar ou desativar dados de diagnóstico opcionais , dependendo da sua preferência. Uma implementação bem-sucedida é mostrada na imagem seguinte.

    Captura de ecrã que mostra que uma implantação bem-sucedida terá a mensagem

  8. Provisione o seu dispositivo usando a connection string do dispositivo que recuperou na secçã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 já está configurado. Está pronto para executar módulos implementados na cloud.

Implementar um módulo

Gere o seu dispositivo Azure IoT Edge a partir da cloud para implementar um módulo que envie dados de telemetria para o IoT Hub.

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

Uma das principais capacidades do Azure IoT Edge é implementar código para os seus dispositivos IoT Edge a partir da cloud. Módulos IoT Edge são pacotes executáveis implementados em contentores. Nesta secção, irá implementar um módulo pré-construído da secção IoT Edge Módulos do Microsoft Artifact Registry.

O módulo implantado nesta seção simula um sensor e envia os dados gerados. Este módulo é um código útil quando se começa com o IoT Edge porque pode usar os dados simulados para desenvolvimento e testes. Se quiseres ver exatamente o que este módulo faz, podes ver o códigofonte do sensor de temperatura simulado.

Siga estas etapas para implantar seu primeiro módulo.

  1. Inicia sessão no portal Azure e vai ao teu IoT Hub.

  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 crias um novo dispositivo IoT Edge, ele mostra o código de estado 417 -- The device's deployment configuration is not set no portal de 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. Podes escolher entre módulos que já criaste, módulos do Microsoft Artifact Registry ou módulos que criaste tu próprio. Neste quickstart, implementa um módulo do Microsoft Artifact Registry.

  5. Na secção IoT Edge módulos, selecione Add depois escolha IoT Edge Módulo.

  6. Atualize as seguintes configurações do módulo:

    Configuração Valor
    Nome do módulo IoT SimulatedTemperatureSensor
    URI da Imagem mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
    Política de reinício sempre
    Status desejado em execução
  7. Selecione Next: Routes para continuar a configurar rotas.

  8. Adicione uma rota que envie todas as mensagens do módulo de temperatura simulada para o IoT Hub.

    Configuração Valor
    Nome SimulatedTemperatureSensorToIoTHub
    Valor FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  9. Selecione Seguinte: Revisar + criar.

  10. Revise o arquivo JSON e selecione Criar. O ficheiro JSON define todos os módulos que implementa no seu dispositivo IoT Edge.

    Nota

    Quando submete uma nova implementação para um dispositivo IoT Edge, nada é enviado para o seu dispositivo. Em vez disso, o dispositivo consulta regularmente o IoT Hub para quaisquer novas instruções. Se o dispositivo encontrar um manifesto de implementação atualizado, utiliza a informação sobre a nova implementação para extrair as imagens dos módulos da cloud e depois 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. Veja o estado da implementação no separador Módulos.

Você deve ver três módulos: $edgeAgent, $edgeHub e SimulatedTemperatureSensor. Se um ou mais módulos tiverem Sim sob Especificado em Deployment mas não sob Reportado por Dispositivo, o seu dispositivo IoT Edge continua a iniciá-los. Aguarde alguns minutos e, em seguida, atualize a página.

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

Se tiver problemas a implementar módulos, consulte Solucionar problemas de dispositivos IoT Edge no portal do Azure.

Ver os dados gerados

Neste quickstart, criaste um novo dispositivo IoT Edge e instalaste o runtime IoT Edge nele. Depois usaste o portal do Azure para implementar um módulo IoT Edge para correr no dispositivo sem teres de fazer alterações ao próprio dispositivo.

O módulo que envias gera dados de ambiente de amostra que podes usar para testes mais tarde. O sensor simulado monitoriza tanto uma máquina como o ambiente à sua volta. 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 IoT Edge utilizam os dados criados por este módulo como dados de teste para análises.

  1. Inicie sessão no seu IoT Edge para Linux na máquina virtual Windows usando o seguinte comando na sua sessão PowerShell:

    Connect-EflowVm
    

    Nota

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

  2. Depois de iniciar sessão, verifique a lista de módulos IoT Edge em execução usando o seguinte comando 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 enviadas do módulo do sensor de temperatura para a nuvem usando o seguinte comando 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 IoT Edge diferenciam maiúsculas de minúsculas quando se referem a nomes de módulos.

Limpar recursos

Se quiseres continuar com os tutoriais do IoT Edge, salta este passo. Pode utilizar o dispositivo que registou e configurou neste início rápido. Caso contrário, apague os recursos do Azure que criou para evitar cobranças.

Se criaste a tua máquina virtual e o hub IoT num novo grupo de recursos, elimina esse grupo e todos os recursos associados. Se não quiseres eliminar o grupo todo, apaga recursos individuais em vez disso.

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 seguinte comando 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

Para remover a instalação do Azure IoT Edge para Linux no Windows do seu dispositivo, utilize os seguintes passos.

  1. Abra Configurações no Windows.
  2. Selecione Adicionar ou remover programas.
  3. Selecione a aplicação Azure IoT Edge.
  4. Selecione Desinstalar.

Próximos passos

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

No próximo tutorial, aprende a monitorizar a atividade e a saúde do seu dispositivo a partir do portal Azure.