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.1
Importante
IoT Edge 1.1 a data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste 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 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.
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
Observação
Este guia de início rápido usa o PowerShell para criar uma implantação de IoT Edge para Linux no Windows. Você também pode usar o Windows Admin Center. Se você quiser usar o Windows Admin Center 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.
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.
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.
$msiPath = $([io.Path]::Combine($env:TEMP, 'AzureIoTEdge.msi')) $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest "https://aka.ms/AzEflowMSI" -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 predefinido na seção Módulos do IoT Edge do Azure Marketplace diretamente no Hub IoT do Azure.
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 do Azure Marketplace.
Entre no portal do Azure e acesse seu hub IoT.
No menu à esquerda, selecione Dispositivos no menu Gerenciamento de dispositivos.
Selecione a identificação do dispositivo de destino da lista de dispositivos.
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.
Em Módulos do IoT Edge, abra o menu suspenso Adicionar e selecione Módulo do Marketplace.
Em Marketplace do Módulo do IoT Edge, procure e selecione o módulo
Simulated Temperature Sensor
.O módulo será adicionado à seção Módulos do IoT Edge com o status em execução desejado.
Selecione Avançar: Rotas para prosseguir para a próxima etapa do assistente.
Na guia Rotas , remova a rota padrão, a rota e selecione Avançar: Examinar + criar para continuar para a próxima etapa do assistente.
Observação
As rotas são construídas usando pares de nome e valor. Você verá duas rotas nessa página. A rota padrão, route, envia todas as mensagens ao Hub IoT (que é chamado
$upstream
). Uma segunda rota, 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. Você pode excluir a rota padrão porque ela é redundante nesse caso.Examine o arquivo JSON e selecione Criar. O arquivo JSON define todos os módulos que você implanta no seu dispositivo IoT Edge. Você verá o módulo SimulatedTemperatureSensor e os dois módulos de runtime, edgeAgent e edgeHub.
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.
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
Importante
Ao fazer referência a nomes de módulo, os comandos do IoT Edge diferenciam maiúsculas de minúsculas.
Você também pode usar a Extensão do Hub IoT do Azure para o Visual Studio Code para ver as mensagens que são recebidas pelo seu hub IoT.
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 LTS
- 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.