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
O IoT Edge 1.5 LTS é a versão com suporte. O IoT Edge 1.4 LTS atingirá o fim da vida útil em 12 de novembro de 2024. Se você estiver em uma versão anterior, confira Atualizar o Azure IoT Edge.
Experimente o Azure IoT Edge neste início rápido implantando o código em contêineres em um dispositivo virtual linux IoT Edge. O IoT Edge permite gerenciar remotamente o código em seus dispositivos para que você possa enviar mais 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 um computador de teste e exclua-o quando terminar.
Neste guia de início rápido, você aprende a:
- Crie um Hub IoT.
- Registrar um dispositivo IoT Edge em seu Hub IoT.
- Instalar e iniciar o runtime do IoT Edge em um dispositivo virtual.
- Implante um módulo remotamente em um dispositivo do IoT Edge.
Este Início Rápido orienta você pela criação de uma máquina virtual Linux configurada para ser um dispositivo do IoT Edge. Em seguida, implante 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 do Azure IoT Edge se baseiam no trabalho feito aqui com a implantação de módulos adicionais 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
Configure seu ambiente para a CLI do Azure.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao 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 obter outras opções de entrada, consulte Autenticar no Azure usando 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 e gerenciar 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.
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 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 este 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 gratuito no grupo de recursos IoTEdgeResources. Substitua <hub-name> por um nome exclusivo para o Hub IoT. A criação de 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 a SKU para S1. Cada assinatura pode ter somente um hub IoT gratuito. Caso você receba um erro que 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 com o hub IoT que você acabou de criar.
Crie uma identidade do 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 de dispositivo exclusiva 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 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 as chaves de política do 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 dispositivo, que vincula o dispositivo físico à sua identidade no Hub IoT. Ele inclui o nome do Hub IoT, o nome do 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 o dispositivo IoT Edge
Crie uma máquina virtual com o runtime do Azure IoT Edge.
O runtime do IoT Edge é implantado em todos os dispositivos do 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 do IoT Edge facilita a implantação e o monitoramento de módulos no dispositivo IoT Edge, incluindo o hub do IoT Edge. O hub IoT Edge gerencia a comunicação entre os módulos no dispositivo IoT Edge e entre o dispositivo e o Hub IoT.
Durante a configuração de runtime, forneça uma cadeia de conexão de dispositivo. Essa cadeia de caracteres é recuperada da CLI do Azure. Essa cadeia de caracteres associa seu dispositivo físico à identidade do dispositivo IoT Edge no Azure.
Implantar o dispositivo do IoT Edge
Esta seção usa um modelo do Azure Resource Manager para criar uma máquina virtual e instalar o runtime do IoT Edge nela. Se você quiser usar seu dispositivo Linux, poderá seguir as etapas de instalação em Provisionar manualmente um dispositivo do IoT Edge no Linux e retorne a este início rápido.
Use o botão Implantar no Azure ou comandos da CLI para criar um dispositivo IoT Edge com base no modelo predefinido iotedge-vm-deploy .
Implemente usando o modelo ARM IoT Edge Azure.
Para os usuários do Bash ou do Cloud Shell, copie o seguinte comando em um editor de texto, substitua o texto do espaço reservado pelas suas informações e copie-as na janela do Bash ou do 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 do 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 hub IoT. |
| authenticationType | 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 parecer com ssh azureUser@edge-vm.westus2.cloudapp.azure.com.
Veja o status do runtime do IoT Edge
O restante dos comandos neste início rápido ocorrem em seu dispositivo IoT Edge propriamente dito, 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. Também é possível encontrar o nome DNS em sua 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 <admin-username> e <DNS-name> pelos seus próprios valores.
ssh <admin-username>@<DNS-name>
Uma vez conectado à sua máquina virtual, verifique se o runtime foi instalado e configurado com êxito em seu dispositivo do IoT Edge.
Verifique se o IoT Edge está em execução. O comando a seguir retorna um status de Ok se o IoT Edge estiver em execução ou fornecer erros de serviço.
sudo iotedge system statusDica
Você precisa de privilégios elevados para executar comandos
iotedge. Depois que você sair da sua máquina e fizer login novamente na primeira vez após instalar o runtime do IoT Edge, suas permissões serão atualizadas automaticamente. Até lá, usesudona 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 no 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 já está configurado. Ele está pronto para executar os módulos implantados na nuvem.
Implantar um módulo
Gerencie seu dispositivo do Azure IoT Edge na nuvem para implantar um módulo que envia dados de telemetria do dispositivo para o Hub IoT.
Uma das principais funcionalidades do Azure IoT Edge é implantar código em seus dispositivos do IoT Edge 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 Artefatos 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.
Use estas etapas para implantar seu primeiro módulo.
Entre no portal do Azure e acesse o Hub IoT.
No menu à esquerda, em Gerenciamento de Dispositivo, selecione Dispositivos.
Escolha a identificação 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 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 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 SimulatedTemperatureSensorURI da imagem mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latestPolí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 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 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 você tiver problemas para implantar módulos, saiba mais em Solucionar problemas de dispositivos do IoT Edge no portal do Azure.
Exibir os dados gerados
Neste início rápido, você cria um novo dispositivo IoT Edge e instala o runtime do IoT Edge nele. Em seguida, use o portal do Azure para implantar um módulo do 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 do IoT Edge usam os dados criados por esse módulo de dados de teste para análise.
Abra o prompt de comando em seu dispositivo IoT Edge ou use a conexão SSH da CLI do Azure. Confirme se o módulo implantado na nuvem está em execução no dispositivo IoT Edge:
sudo iotedge list
Exiba as mensagens enviadas do módulo do sensor de temperatura:
sudo iotedge logs SimulatedTemperatureSensor -f
Dica
Os comandos do IoT Edge diferenciam maiúsculas de minúsculas ao se referirem a nomes de módulo.
Limpar os 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 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 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.