Guia de Início Rápido: implantar seu primeiro módulo do IoT Edge em um dispositivo do Windows
Aplica-se a: IoT Edge 1.5
IoT Edge 1.4
Importante
O IoT Edge 1.5 LTS e o IoT Edge 1.4 LTS são versões com suporte. O IoT Edge 1.4 LTS chegará ao fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o IoT Edge.
Experimente o Azure IoT Edge neste guia de início rápido implantando um código em contêineres em um dispositivo IoT Edge do Linux no Windows. O IoT Edge permite que você gerencie remotamente o código em seus dispositivos para que você possa enviar mais cargas de trabalho para a borda. Para este guia de início rápido, recomendamos usar seu dispositivo Windows Client para ver como é fácil usar o Azure IoT Edge para Linux no Windows. Se você quiser usar o Windows Server ou uma VM do Azure para criar sua implantação, siga as etapas no guia de instruções de como instalar e provisionar o Azure IoT Edge para Linux em um dispositivo Windows.
Neste início rápido, você aprenderá a:
- Crie um Hub IoT.
- Registrar um dispositivo IoT Edge em seu Hub IoT.
- Instalar e iniciar o runtime do IoT Edge para Linux no Windows no seu dispositivo.
- Implantar remotamente um módulo em um dispositivo IoT Edge e enviar a telemetria.
Este guia de início rápido explica como configurar seu dispositivo Azure IoT Edge para Linux no 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. Os outros tutoriais do Azure IoT Edge se baseiam no trabalho feito aqui com a implantação de módulos que analisam os dados simulados para obter informações de negócios.
Se você não tiver uma assinatura do Azure ativa, 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, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Crie um grupo de recursos de nuvem para gerenciar todos os recursos que você usará neste início rápido.
az group create --name IoTEdgeResources --location westus2
Verifique se o dispositivo IoT Edge atende aos seguintes requisitos:
Requisitos do 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 em disco livre mínimo: 10 GB
Crie um hub IoT
Comece criando um hub IoT com a CLI do Azure.
O nível gratuito do Hub IoT do Azure funciona para este guia de início rápido. Se você tiver usado o Hub IoT antes e já tiver um hub criado, poderá usar esse Hub IoT.
O código a seguir cria um hub F1 disponível no grupo de recursos IoTEdgeResources
. Substitua {hub_name}
por um nome exclusivo para o 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á existe um hub gratuito na sua assinatura, altere o SKU para S1
. Caso você receba um erro porque o nome do Hub IoT não está disponível, isso significa que alguém já tem um hub com esse nome. Tente usar um novo nome.
Registrar um dispositivo IoT Edge
Registre um dispositivo IoT Edge no Hub IoT recém-criado.
Crie uma identidade de dispositivo para seu dispositivo simulado para que ele possa se comunicar com o hub IoT. A identidade do dispositivo reside na nuvem e você usa uma cadeia de conexão de dispositivo exclusiva para associar um dispositivo físico a uma identidade do dispositivo.
Os dispositivos do IoT Edge se comportam e podem ser gerenciados diferentemente dos dispositivos IoT comuns. Use o sinalizador --edge-enabled
para declarar que essa identidade é para um dispositivo IoT Edge.
No Azure Cloud Shell, digite o comando a seguir para criar um dispositivo denominado myEdgeDevice no seu hub.
az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name {hub_name}
Se você receber um erro sobre as chaves de política do
iothubowner
, verifique se o Cloud Shell está executando a última versão da extensão de IoT do Azure.Veja a cadeia de conexão para o seu dispositivo, o que vincula o 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 as conexões entre os dois.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
Copie o valor da chave
connectionString
da saída JSON e salve-o. Esse valor é a cadeia de conexão do dispositivo. Você o usará para configurar o runtime do IoT Edge na próxima seção.Por exemplo, a cadeia de conexão deve parecer com
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 no seu dispositivo e configure-o com a cadeia de conexão do dispositivo.
Execute os comandos do PowerShell a seguir no dispositivo de destino no qual 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 executar esses comandos remotamente no dispositivo.
Em uma sessão do PowerShell com privilégios elevados, execute o comando a seguir para habilitar o Hyper-V. Para obter mais informações, verifique Hyper-V no Windows 10.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
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
Instale o IoT Edge para Linux no Windows em seu dispositivo.
Start-Process -Wait msiexec -ArgumentList "/i","$([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi'))","/qn"
Defina a política de execução no dispositivo de destino como
AllSigned
, se ainda não estiver definida. 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
local machine
não forAllSigned
, você poderá definir a política de execução usando:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Crie a implantação do IoT Edge para Linux no Windows.
Deploy-Eflow
Insira "Y" para aceitar os termos de licença.
Insira "O" ou "R" para ativar ou desativar Dados de diagnóstico opcionais, dependendo de sua preferência. Uma implantação bem-sucedida está exibida abaixo.
Provisione seu dispositivo usando a cadeia de conexão de dispositivo que você recuperou na seção anterior. Substitua o texto do espaço reservado pelos seus próprios valores.
Provision-EflowVm -provisioningType ManualConnectionString -devConnString "<CONNECTION_STRING_HERE>"
Seu dispositivo IoT Edge agora está configurado. Ele está pronto para executar os módulos implantados na nuvem.
Implantar um módulo
Gerencie o dispositivo Azure IoT Edge na nuvem para implantar um módulo que envia dados telemétricos ao Hub IoT.
Uma das principais funcionalidades do Azure IoT Edge é a implantação do código nos seus dispositivos IoT Edge por meio da nuvem. Módulos do IoT Edge são pacotes executáveis implementados como contêineres. Nesta seção, você implantará um módulo pré-criado na seção Módulos do IoT Edge do Registro de Artefato da Microsoft.
O módulo que você implanta nesta seção simula um sensor e envia os dados gerados. Esse módulo é uma informação útil de código quando você estiver começando a usar o IoT Edge porque você pode usar os dados simulados para desenvolvimento e teste. Se quiser ver exatamente o que esse módulo faz, você poderá exibir o código-fonte do sensor de temperatura simulado.
Siga estas etapas para implantar seu primeiro módulo.
Entre no portal do Azure e acesse o Hub IoT.
No menu à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.
Selecione a identificação do dispositivo de destino da lista de dispositivos.
Observação
Quando você criar um novo dispositivo do IoT Edge, ele exibirá o código de status
417 -- The device's deployment configuration is not set
no portal do Azure. Esse status é normal e significa que o dispositivo está pronto para receber uma implantação do módulo.Na barra superior, selecione Definir Módulos.
Escolha quais módulos deseja executar no dispositivo. Você pode escolher entre módulos que já tenha criado, módulos do Registro de Artefato da Microsoft ou módulos que você mesmo tenha criado. Neste início rápido, você implantará um módulo do Registro de Artefato da Microsoft.
Na seção Módulos do IoT Edge, escolha Adicionar e escolha Módulo do IoT Edge.
Atualize as seguintes configurações de 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 reinicialização always Status desejado executando Selecione Avançar: Rotas para continuar a configurar rotas.
Adicione uma rota que envia todas as mensagens do módulo de temperatura simulado para o Hub IoT.
Configuração Valor Nome SimulatedTemperatureSensorToIoTHub
Valor FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Selecione Avançar: Revisar + criar.
Examine o arquivo JSON e selecione Criar. O arquivo JSON define todos os módulos que você implanta no seu dispositivo IoT Edge.
Observação
Quando você envia uma nova implantação para um dispositivo IoT Edge, nada é enviado por push para o seu dispositivo. Em vez disso, o dispositivo consulta o Hub IoT regularmente para verificar se há novas instruções. Se o dispositivo encontrar um manifesto de implantação atualizada, ele usará as informações sobre a nova implantação para efetuar pull das imagens de módulo da nuvem e, em seguida, começa a executar os módulos localmente. Esse processo pode levar alguns minutos.
Depois que você criar os detalhes de implantação do módulo, o assistente direcionará você à página de detalhes do dispositivo. Veja o status da implantação na guia Módulos.
Você verá três módulos: $edgeAgent, $edgeHub e SimulatedTemperatureSensor. Se um ou mais módulos mostrarem Sim em Especificado na Implantação, mas não em Relatado pelo Dispositivo, isso indicará que o dispositivo IoT Edge ainda está iniciando os módulos. Aguarde alguns minutos e atualize a página.
Se tiver problemas para implantar módulos, consulte Solucionar problemas de dispositivos do IoT Edge no portal do Azure.
Exibir os dados gerados
Neste guia de início rápido, você criou um novo dispositivo IoT Edge e instalou o runtime do IoT Edge nele. Em seguida, você usou o portal do Azure para implantar um módulo do IoT Edge para ser executado no dispositivo sem precisar fazer alterações no dispositivo propriamente dito.
O módulo enviado por push gera dados de ambiente de exemplo que você pode usar para testar mais tarde. O sensor simulado está monitorando um computador e o ambiente em torno do computador. Por exemplo, esse sensor pode estar em uma sala de servidor, em um chão de fábrica ou em uma turbina eólica. As mensagens que ele envia incluem temperatura ambiente e umidade, temperatura do computador e pressão e um carimbo de data/hora. Os tutoriais do IoT Edge usam os dados criados por esse módulo de dados de teste para análise.
Faça logon em sua máquina virtual IoT Edge para Linux no Windows usando o seguinte comando em sua sessão do PowerShell:
Connect-EflowVm
Observação
A única conta permitida para o SSH da máquina virtual é o usuário que a criou.
Depois de fazer logon, você poderá verificar a lista de módulos do IoT Edge em execução usando o seguinte comando do Linux:
sudo iotedge list
Visualize as mensagens que estão sendo enviadas do módulo sensor de temperatura para a nuvem usando o seguinte comando do Linux:
sudo iotedge logs SimulatedTemperatureSensor -f
Dica
Ao fazer referência a nomes de módulo, os comandos do IoT Edge diferenciam maiúsculas de minúsculas.
Limpar os recursos
Se desejar continuar com os tutoriais do IoT Edge, ignore esta etapa. Você pode usar o dispositivo que você registrou e configurou neste guia de início rápido. Caso contrário, você pode excluir os recursos do Azure que criou para evitar encargos.
Se você tiver criado a sua máquina virtual e o Hub IoT em um novo grupo de recursos, é possível excluir esse grupo e todos os recursos associados. Caso não queira excluir o grupo inteiro, é possível excluir recursos individuais em vez disso.
Importante
Verifique o conteúdo do grupo de recursos para ter certeza de que não haja nada que você queira manter. A exclusão de um grupo de recursos é irreversível.
Use o comando a seguir para remover o grupo IoTEdgeResources. A exclusão pode levar alguns minutos.
az group delete --name IoTEdgeResources
É possível confirmar se esse grupo de recursos foi removido usando este comando para exibir a lista dos 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 dispositivo, use os comandos a seguir.
- Abra as Configurações no Windows
- Selecione Adicionar ou remover programas
- Selecione o aplicativo Azure IoT Edge
- Selecionar Desinstalar
Próximas etapas
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 que gera dados brutos sobre o respectivo ambiente.
No próximo tutorial, você aprenderá a monitorar a atividade e a integridade do seu dispositivo no portal do Azure.