Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.5
Importante
O IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS está em fim de vida útil a partir de 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 virtual Linux 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, use uma máquina virtual do Azure para seu dispositivo IoT Edge. Ele permite que você crie rapidamente uma máquina de teste e a exclua quando terminar.
Neste início rápido, vai aprender a:
- Criar um Hub IoT.
- Registar um dispositivo IoT Edge no seu hub IoT.
- Instale e inicie o tempo de execução do IoT Edge em um dispositivo virtual.
- Implante um módulo remotamente em um dispositivo IoT Edge.
Este guia de início rápido orienta você na criação de uma máquina virtual Linux configurada para ser um dispositivo IoT Edge. Em seguida, você implanta um módulo do portal do Azure em seu dispositivo. Este guia de início rápido usa um módulo de sensor simulado que gera dados de temperatura, umidade e pressão. Os outros tutoriais do Azure IoT Edge se baseiam no trabalho que você faz aqui, implantando módulos adicionais 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
Configure seu ambiente para a CLI do Azure.
Use o ambiente Bash no Azure Cloud Shell. Para mais informações, veja Get started with 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 Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre extensões, consulte Usar e gerenciar extensões com a 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.
Um grupo de recursos para gerir todos os recursos que utilizar neste início rápido. Este início rápido e os tutoriais a seguir usam o nome de grupo de recursos de exemplo IoTEdgeResources.
az group create --name IoTEdgeResources --location westus2
Criar um Hub IoT
Inicie o início rápido criando um Hub IoT com a CLI do Azure.
A camada gratuita do Hub IoT funciona para esse 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 seguinte cria um hub F1 gratuito no grupo de recursos IoTEdgeResources. Substitua <hub-name> por um nome exclusivo para seu Hub IoT. Criar um Hub IoT pode levar alguns minutos.
az iot hub create --resource-group IoTEdgeResources --name <hub-name> --sku F1 --partition-count 2
Se você receber um erro porque já há um Hub IoT gratuito em sua assinatura, altere o SKU para S1. Cada subscrição só pode ter um Hub IoT gratuito. Se você receber um erro informando que o nome do Hub IoT não está disponível, isso significa que outra pessoa já tem um hub com esse nome. Experimente um novo nome.
Registar um dispositivo do IoT Edge
Registre um dispositivo IoT Edge com o hub IoT que você acabou de criar.
Crie uma identidade de dispositivo para seu dispositivo IoT Edge para que ele possa se comunicar com seu hub IoT. A identidade do dispositivo reside na cloud, e utilizará uma cadeia de ligação única do dispositivo para associar um dispositivo físico a uma identidade do dispositivo.
Como os dispositivos IoT Edge se comportam e são gerenciados de forma diferente dos dispositivos IoT típicos, declare essa identidade como um dispositivo IoT Edge usando o --edge-enabled sinalizador.
Insira o seguinte comando no Azure Cloud Shell 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 chaves de política iothubowner , verifique se o Cloud Shell está executando a versão mais recente da extensão azure-iot .
Verifique a cadeia de conexão do seu dispositivo, que vincula o dispositivo físico à sua identidade no Hub IoT. Ele inclui o nome do seu Hub IoT, o nome do seu dispositivo e uma chave compartilhada que autentica conexões entre eles. Use essa cadeia de conexão novamente na próxima seção para configurar seu dispositivo IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <hub-name>Por exemplo, a cadeia de conexão deve ser semelhante a
HostName=contoso-hub.azure-devices.net;DeviceId=myEdgeDevice;SharedAccessKey=<DEVICE-SHARED-ACCESS-KEY>.
Configurar seu dispositivo IoT Edge
Crie uma máquina virtual com o tempo de execução do Azure IoT Edge.
O runtime do IoT Edge é implementado em todos os dispositivos IoT Edge e tem três componentes. O daemon de segurança do IoT Edge inicia sempre que um dispositivo IoT Edge arranca e configura o dispositivo ao iniciar o agente do IoT Edge. O agente do IoT Edge facilita a implementação e a monitorização de módulos no dispositivo IoT Edge, incluindo o hub do IoT Edge. O hub do IoT Edge gere as comunicações entre os módulos no dispositivo do IoT Edge e entre o dispositivo e o Hub IoT.
Durante a configuração de tempo de execução, forneça uma cadeia de conexão de dispositivo. Essa cadeia de caracteres é recuperada da CLI do Azure. Essa cadeia associa o dispositivo físico à identidade do dispositivo IoT Edge no Azure.
Implantar o dispositivo IoT Edge
Esta seção usa um modelo do Azure Resource Manager para criar uma nova máquina virtual e instalar o tempo de execução do IoT Edge nela. Se você quiser usar seu próprio dispositivo Linux em vez disso, você pode seguir as etapas de instalação em Provisionar manualmente um único dispositivo Linux IoT Edge e, em seguida, retornar a este início rápido.
Use o botão Implantar no Azure ou os comandos da CLI para criar um dispositivo IoT Edge com base no modelo iotedge-vm-deploy pré-construído .
Implante usando o modelo do IoT Edge Azure Resource Manager.
Para usuários bash ou Cloud Shell, copie o seguinte comando em um editor de texto, substitua o texto do espaço reservado por suas informações e, em seguida, copie para sua janela bash ou Cloud Shell:
az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' \ --parameters adminUsername='azureUser' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"Para usuários do PowerShell, copie o seguinte comando na janela do PowerShell e substitua o texto do espaço reservado por suas próprias informações:
az deployment group create ` --resource-group IoTEdgeResources ` --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" ` --parameters dnsLabelPrefix='<REPLACE_WITH_VM_NAME>' ` --parameters adminUsername='azureUser' ` --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) ` --parameters authenticationType='password' ` --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"
Este modelo usa os seguintes parâmetros:
| Parâmetro | Descrição |
|---|---|
| grupo de recursos | O grupo de recursos no qual os recursos são criados. Use o IoTEdgeResources padrão que usamos ao longo deste artigo ou forneça o nome de um grupo de recursos existente em sua assinatura. |
| modelo-uri | Um ponteiro para o modelo do Resource Manager que estamos usando. |
| dnsLabelPrefix | Uma cadeia de caracteres que é usada para criar o nome de host da máquina virtual. Substitua o texto do espaço reservado por um nome para sua máquina virtual. |
| adminNome de utilizador | Um nome de usuário para a conta de administrador da máquina virtual. Use o exemplo azureUser ou forneça um novo nome de usuário. |
| deviceConnectionString | A cadeia de conexão da identidade do dispositivo no Hub IoT, que é usada para configurar o tempo de execução do IoT Edge na máquina virtual. O comando CLI dentro desse parâmetro captura a cadeia de conexão para você. Substitua o texto do espaço reservado pelo nome do hub IoT. |
| tipo de autenticação | O método de autenticação para a conta de administrador. Este guia de início rápido usa autenticação de senha , mas você também pode definir esse parâmetro como sshPublicKey. |
| adminPasswordOrKey | A senha ou o valor da chave SSH para a conta de administrador. Substitua o texto do espaço reservado por uma senha segura. Sua senha deve ter pelo menos 12 caracteres e três dos quatro seguintes: caracteres minúsculos, caracteres maiúsculos, dígitos e caracteres especiais. |
Após a conclusão da implantação, a saída formatada em JSON na CLI contém as informações de SSH para se conectar à máquina virtual. Copie o valor da entrada SSH pública da seção de saídas. Por exemplo, o comando SSH deve ser semelhante ao ssh azureUser@edge-vm.westus2.cloudapp.azure.com.
Ver o estado de runtime do IoT Edge
O restante dos comandos neste início rápido ocorre no próprio dispositivo IoT Edge, para que você possa ver o que está acontecendo no dispositivo. Se você estiver usando uma máquina virtual, conecte-se a essa máquina agora usando o nome de usuário admin que você configurou e o nome DNS que foi gerado pelo comando de implantação. Você também pode encontrar o nome DNS na página de visão geral da sua máquina virtual no portal do Azure. Utilize o seguinte comando para se ligar à máquina virtual. Substitua <admin-username> e <DNS-name> com os seus próprios valores.
ssh <admin-username>@<DNS-name>
Assim que estiver ligado à sua máquina virtual, verifique se o runtime foi instalado e configurado com êxito no dispositivo IoT Edge.
Verifique se o IoT Edge está em execução. O seguinte comando retorna um status de Ok se o IoT Edge estiver em execução ou indicar quaisquer erros de serviço.
sudo iotedge system statusGorjeta
Precisa de privilégios elevados para executar os comandos
iotedge. Depois de terminar sessão do seu computador e iniciar sessão novamente pela primeira vez depois de instalar o runtime do IoT Edge, as suas permissões são atualizadas automaticamente. Até lá, usesudona frente dos comandos.Se precisar de resolver problemas relacionados com o serviço, obtenha os registos do serviço.
sudo iotedge system logsVeja todos os módulos em execução no seu dispositivo IoT Edge. Uma vez que o serviço foi iniciado pela primeira vez, deverá ver apenas o módulo edgeAgent em execução. O módulo edgeAgent é executado por padrão e ajuda a instalar e iniciar quaisquer módulos adicionais que você implantar em seu dispositivo.
sudo iotedge list
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 a partir da nuvem para implantar um módulo que envia dados de telemetria do dispositivo para o Hub IoT.
Um recurso importante 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 secção, implemente um módulo pré-criado a partir da secção de Módulos 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.
Use estas etapas para implantar seu primeiro módulo.
Entre no portal do Azure e vá para seu Hub IoT.
No menu à esquerda, em Gerenciamento de dispositivos, selecione Dispositivos.
Selecione o ID do dispositivo IoT Edge de destino na lista.
Quando você cria um novo dispositivo IoT Edge, ele exibe o código
417 -- The device's deployment configuration is not setde 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.
Selecione os módulos que deseja executar no seu dispositivo. Você pode escolher entre módulos que você mesmo criou ou imagens em um registro de contêiner. Neste início rápido, você implanta um módulo do registro de contêiner da Microsoft.
Na seção Módulos do IoT Edge, selecione Adicionar e escolha Módulo IoT Edge.
Atualize as seguintes configurações do módulo:
Configuração Valor Nome do módulo IoT SimulatedTemperatureSensorURI da Imagem mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestPolítica de reinício sempre Status desejado a correr 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.
Configuração Valor Nome SimulatedTemperatureSensorToIoTHubValor FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamSelecione 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. 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 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 atualize a página.
Se você tiver problemas para implantar módulos, saiba mais em Solucionar problemas de dispositivos IoT Edge no portal do Azure.
Ver os dados gerados
Neste início rápido, você cria um novo dispositivo IoT Edge e instala o tempo de execução do IoT Edge nele. Em seguida, use o portal do Azure para implantar um módulo IoT Edge para ser executado no dispositivo sem fazer alterações no próprio dispositivo.
Nesse caso, o módulo que você enviou por push 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 pode estar numa sala de servidores, num chão de fábrica ou numa turbina eólica. A mensagem inclui temperatura ambiente e humidade, temperatura e pressão do computador 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.
Abra a linha de comandos no seu dispositivo do IoT Edge ou utilize a ligação SSH a partir da CLI do Azure. Confirme se o módulo implantado a partir da nuvem está em execução no dispositivo IoT Edge:
sudo iotedge list
Veja as mensagens enviadas a partir do módulo do sensor de temperatura:
sudo iotedge logs SimulatedTemperatureSensor -f
Gorjeta
Os comandos do IoT Edge são sensíveis a maiúsculas quando se referem a nomes de módulos.
Limpar recursos
Para continuar com os tutoriais do IoT Edge, use o dispositivo que você registrou e configurou neste início rápido. Caso contrário, exclua os recursos do Azure que você 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. Verifique novamente o conteúdo do grupo de recursos para garantir que não há nada que você queira manter. Se não quiser excluir todo o grupo, você pode excluir recursos individuais.
Importante
A eliminação de um grupo de recursos é irreversível.
Exclua o grupo IoTEdgeResources . A exclusão de um grupo de recursos pode levar alguns minutos.
az group delete --name IoTEdgeResources --yes
Confirme se o grupo de recursos foi excluído exibindo a lista de grupos de recursos.
az group list
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ê usa um dispositivo de teste que gera 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.