Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS é a versão suportada. IoT Edge 1.4 LTS atingiu o fim da vida útil em 12 de novembro de 2024. Se você estiver usando uma versão anterior, consulte Update IoT Edge.
Experimente Azure IoT Edge neste início rápido implantando código em contêineres em um dispositivo IoT Edge linux virtual. IoT Edge permite gerenciar o código remotamente em seus dispositivos, permitindo enviar mais cargas de trabalho para a periferia. Para este início rápido, use uma máquina virtual Azure para seu dispositivo IoT Edge. Ele permite que você crie rapidamente um computador de teste e exclua-o quando terminar.
Neste guia de início rápido, você aprende a:
- Crie um IoT Hub.
- Registre um dispositivo IoT Edge no hub IoT.
- Instale e inicie o IoT Edge runtime em um dispositivo virtual.
- Implante um módulo remotamente em um dispositivo IoT Edge.
Diagrama da arquitetura Quickstart para dispositivo e nuvem.
Este guia de início rápido explica como criar 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 início rápido usa um módulo de sensor simulado que gera dados de temperatura, umidade e pressão. Os outros tutoriais Azure IoT Edge baseiam-se no trabalho que você faz aqui implantando módulos adicionais que analisam os dados simulados para insights de negócios.
Se você não tiver uma assinatura do Azure ativa, crie uma conta gratuita antes de começar.
Pré-requisitos
Configure seu ambiente para o Azure CLI.
Use o ambiente bash em Azure Cloud Shell. Para obter mais informações, consulte Get iniciado com Azure Cloud Shell.
Se você preferir executar comandos de referência da CLI localmente, instalar o Azure CLI. Se você estiver executando em Windows ou macOS, considere executar Azure CLI em um contêiner do Docker. Para obter mais informações, consulte Como executar o Azure CLI em um contêiner do Docker.
Se você estiver usando uma instalação local, entre no Azure CLI usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para obter outras opções de entrada, consulte Authenticate para Azure usando Azure CLI.
Quando for solicitado, instale a extensão Azure CLI no primeiro uso. Para obter mais informações sobre extensões, consulte Use e gerencie extensões com o Azure CLI.
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.
Um grupo de recursos para gerenciar todos os recursos que você usará neste início rápido. Este início rápido e os tutoriais a seguir usam o nome do grupo de recursos de exemplo IoTEdgeResources.
az group create --name IoTEdgeResources --location westus2
Criar um IoT Hub
Inicie o início rápido criando um IoT Hub com o Azure CLI.
A camada gratuita do Hub IoT funciona para este guia de início rápido. Se você usou IoT Hub no passado e já criou um hub, pode usar esse IoT hub.
O código a seguir cria um hub F1 gratuito no grupo de recursos IoTEdgeResources. Substitua <hub-name> por um nome exclusivo para sua IoT Hub. A criação de um IoT Hub 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á existe um IoT Hub gratuito na sua assinatura, altere a SKU para S1. Cada assinatura pode ter somente um hub IoT gratuito. Se você receber um erro informando que o nome do IoT Hub não está disponível, isso significa que outra pessoa já tem um hub com esse nome. Tente usar um novo nome.
Registrar um dispositivo 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 o hub IoT. A identidade do dispositivo reside na nuvem, e você usa uma cadeia de conexão única do dispositivo para associar um dispositivo físico a uma identidade de dispositivo.
Como IoT Edge dispositivos se comportam e são gerenciados de forma diferente dos dispositivos IoT típicos, declare essa identidade como um dispositivo IoT Edge usando o sinalizador --edge-enabled.
Insira o comando a seguir 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 de iothubowner, certifique-se de que o Cloud Shell esteja executando a versão mais recente da extensão azure-iot.
Verifique a cadeia de conexão do dispositivo, que vincula o dispositivo físico à sua identidade no IoT Hub. Ele inclui o nome do seu IoT Hub, o nome do dispositivo e uma chave compartilhada que autentica conexões entre eles. Você usará essa connection string 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, o connection string 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 runtime do Azure IoT Edge.
Diagrama de como iniciar o runtime em um dispositivo.
O runtime IoT Edge é implantado em todos os dispositivos IoT Edge e tem três componentes. O daemon de segurança do IoT Edge é iniciado sempre que um dispositivo IoT Edge é iniciado e inicializa o dispositivo inicializando o agente do IoT Edge. O agente IoT Edge facilita a implantação e o monitoramento de módulos no dispositivo IoT Edge, incluindo o hub IoT Edge. O IoT Edge hub gerencia as comunicações entre módulos no dispositivo IoT Edge e entre o dispositivo e o IoT Hub.
Durante a configuração de tempo de execução, forneça uma string de conexão do dispositivo. Essa cadeia de caracteres é recuperada do Azure CLI. Essa cadeia de caracteres associa seu dispositivo físico à identidade do dispositivo IoT Edge no Azure.
Implantar o dispositivo IoT Edge
Esta seção usa um modelo de Azure Resource Manager para criar uma nova máquina virtual e instalar o IoT Edge runtime nela. Se você quiser usar seu próprio dispositivo Linux em vez disso, siga as etapas de instalação em Provisionar manualmente um único dispositivo Linux IoT Edge, depois volte a este início rápido.
Use o botão Deploy para Azure ou comandos da CLI para criar um dispositivo IoT Edge com base no modelo iotedge-vm-deploy pré-construído.
Implante usando o modelo de 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 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 para a janela do PowerShell e substitua o texto do espaço reservado pelas suas 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 |
|---|---|
| resource-group | O grupo de recursos no qual os recursos são criados. Use o IoTEdgeResources padrão que usamos neste artigo ou forneça o nome de um grupo de recursos em sua assinatura. |
| template-uri | Um ponteiro para o modelo de Resource Manager que estamos usando. |
| dnsLabelPrefix | Uma cadeia de caracteres usada para criar o nome do host da máquina virtual. Substitua o texto do espaço reservado por um nome para a sua máquina virtual. |
| adminUsername | Um nome de usuário para a conta do administrador da máquina virtual. Use o exemplo azureUser ou fornecer um novo nome de usuário. |
| deviceConnectionString | A cadeia de conexão da identidade do dispositivo no Hub IoT, que é usada para configurar o runtime do IoT Edge na máquina virtual. O comando da CLI dentro desse parâmetro captura a cadeia de conexão para você. Substitua o texto do espaço reservado pelo nome do seu hub IoT. |
| tipoDeAutenticação | O método de autenticação para a conta do administrador. Este guia de início rápido usa autenticação por senha, mas você também pode definir esse parâmetro como sshPublicKey. |
| adminPasswordOrKey | A senha ou o valor da chave SSH para a conta do administrador. Substitua o texto do espaço reservado por uma senha segura. Sua senha deve ter pelo menos 12 caracteres e ter três dos quatro seguintes itens: 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 de SSH pública da seção saídas. Por exemplo, seu comando SSH deve se assemelhar a .
Exibir o status do tempo de execução do IoT Edge
O restante dos comandos neste início rápido ocorre em seu 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 esse computador agora usando o nome de usuário do administrador que você configurou e o nome DNS que foi apresentado pelo comando de implantação. Você também pode encontrar o nome DNS na página de visão geral da máquina virtual no portal do Azure. Use o comando a seguir para se conectar à sua máquina virtual. Substitua e pelos seus próprios valores.
ssh <admin-username>@<DNS-name>
Depois de conectado à sua máquina virtual, verifique se o runtime foi instalado e configurado com êxito em seu dispositivo IoT Edge.
Verifique se IoT Edge está em execução. O comando a seguir retorna um status de Ok se o IoT Edge estiver em execução ou relatar erros de serviço.
sudo iotedge system statusDica
Você precisa de privilégios elevados para executar comandos . Depois de sair do computador e entrar novamente na primeira vez depois de instalar o runtime do IoT Edge, suas permissões serão atualizadas automaticamente. Até lá, use na frente dos comandos.
Se você precisar solucionar problemas do serviço, recupere os logs de serviço.
sudo iotedge system logsExiba todos os módulos em execução em seu dispositivo IoT Edge. Como o serviço acabou de ser iniciado pela primeira vez, você só verá o módulo edgeAgent em execução. O módulo edgeAgent é executado por padrão e ajuda a instalar e a iniciar quaisquer módulos adicionais que você implante em seu dispositivo.
sudo iotedge list
Seu dispositivo IoT Edge agora está configurado. Ele está pronto para executar os módulos implantados na nuvem.
Implantar um módulo
Gerencie seu dispositivo Azure IoT Edge da nuvem para implantar um módulo que envia dados de telemetria do dispositivo para IoT Hub.
Diagrama de como implantar um módulo da nuvem para o dispositivo.
Uma das principais funcionalidades do Azure IoT Edge é implantar código em seus dispositivos IoT Edge da nuvem. IoT Edge módulos são pacotes executáveis implementados como contêineres. Nesta seção, você implantará um módulo pré-criado na seção módulos IoT Edge do Registro de Artefatos da Microsoft.
O módulo que você implanta nesta seção simula um sensor e envia os dados gerados. Este módulo é um código útil quando você está começando a usar IoT Edge porque você pode usar os dados simulados para desenvolvimento e teste. Se você quiser ver exatamente o que este módulo faz, poderá exibir o código-fonte do sensor de temperatura simulado.
Use estas etapas para implantar seu primeiro módulo.
Entre no portal Azure e vá para o IoT Hub.
No menu à esquerda, em Device Management, selecione Devices.
Selecione o ID do dispositivo IoT Edge de destino na lista.
Quando você cria um novo dispositivo IoT Edge, ele exibe o código de status
417 -- The device's deployment configuration is not setno portal 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.
Selecione os módulos que você deseja executar em seu dispositivo. Você pode escolher entre módulos criados por você mesmo ou imagens em um registro de contêineres. Neste início rápido, você implantará um módulo do registro de contêiner da Microsoft.
Na seção IoT Edge módulos, selecione Add e escolha IoT Edge Module.
Atualize as seguintes configurações de módulo:
Configuração Valor Nome do módulo IoT SimulatedTemperatureSensorURI da imagem mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestPolítica de reinicialização sempre 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 IoT Hub.
Configuração Valor Nome SimulatedTemperatureSensorToIoTHubValor FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstreamSelecione Avançar: Revisar + criar.
Examine o arquivo JSON e selecione Criar. O arquivo JSON define todos os módulos que você implanta em 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 IoT Hub regularmente para qualquer nova instrução. Se o dispositivo encontrar um manifesto de implantação atualizado, ele usará as informações sobre a nova implantação para obter as imagens de módulo da nuvem e, em seguida, começar 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 tiverem Yes em Specified in Deployment mas não em Reportado pelo Dispositivo, seu dispositivo IoT Edge ainda os iniciará. Aguarde alguns minutos e atualize a página.
Captura de tela que mostra o SimulatedTemperatureSensor na lista de módulos implantados.
Se você tiver problemas ao implantar módulos, saiba mais em Solucionar problemas de dispositivos IoT Edge no portal do Azure.
Exibir os dados gerados
Neste início rápido, você criará um novo dispositivo IoT Edge e instalará o IoT Edge runtime nele. Em seguida, use o portal 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 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. A mensagem inclui a temperatura ambiente e umidade, temperatura do computador, pressão e um carimbo de data/hora. Os tutoriais de IoT Edge usam os dados criados por este módulo como dados de teste para análise.
Abra o prompt de comando em seu dispositivo IoT Edge ou use a conexão SSH de Azure CLI. Confirme se o módulo implantado na nuvem está em execução em seu dispositivo IoT Edge:
sudo iotedge list
Captura de tela que mostra três módulos no seu dispositivo.
Exiba as mensagens enviadas do módulo do sensor de temperatura:
sudo iotedge logs SimulatedTemperatureSensor -f
Captura de tela que mostra os dados do módulo no console de saída.
Dica
Ao fazer referência a nomes de módulo, comandos do IoT Edge diferenciam maiúsculas de minúsculas.
Limpar os recursos
Para continuar com os tutoriais de IoT Edge, use o dispositivo que você registrou e configurou neste início rápido. Caso contrário, exclua os recursos de Azure criados 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. Verifique novamente o conteúdo do grupo de recursos para garantir que não há nada que você queira manter. Caso não queira excluir o grupo inteiro, é possível excluir recursos individuais em vez disso.
Importante
A exclusão de um grupo de recursos é irreversível.
Exclua o grupo IoTEdgeResources . Excluir 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óximas etapas
Neste início rápido, você criou um dispositivo IoT Edge e usou a interface de nuvem 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 dispositivo no portal do Azure.