Guia de início rápido: implante seu primeiro módulo IoT Edge em um dispositivo Windows
Aplica-se a: IoT Edge 1.5 IoT Edge 1.4
Importante
IoT Edge 1.5 LTS e IoT Edge 1.4 LTS são versões suportadas. O IoT Edge 1.4 LTS termina a vida útil em 12 de novembro de 2024. 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.
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.
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 IoTEdgeResources
de 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.
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.
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.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}
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.
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.
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
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 no 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. 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
AllSigned
for , você poderá definir a política delocal machine
execução usando:Set-ExecutionPolicy -ExecutionPolicy AllSigned -Force
Crie a implantação do IoT Edge para Linux no Windows.
Deploy-Eflow
Digite 'Y' para aceitar os termos da licença.
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.
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.
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 do IoT Edge do Microsoft Artifact Registry.
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 estas etapas para implantar seu primeiro módulo.
Entre no portal do Azure e vá para seu Hub IoT.
No menu à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.
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.Na barra superior, selecione Definir módulos.
Escolha quais módulos você deseja executar no seu dispositivo. Você pode escolher entre módulos que você já criou, módulos do Microsoft Artifact Registry ou módulos que você mesmo criou. Neste início rápido, você implantará um módulo do Microsoft Artifact Registry.
Na seção Módulos do IoT Edge, selecione Adicionar e escolha Módulo IoT Edge.
Atualize as seguintes configurações do módulo:
Definição Value 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 Selecione Next: Routes para continuar a configurar rotas.
Adicione uma rota que envie todas as mensagens do módulo de temperatura simulada para o Hub IoT.
Definição Valor Nome SimulatedTemperatureSensorToIoTHub
Valor FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Selecione Seguinte: Rever + criar.
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.
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.
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.
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
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
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.
- Abrir Definições no Windows
- Selecione Adicionar ou remover programas
- Selecione o aplicativo Azure IoT Edge
- 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.