Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:
IoT Edge 1.1
Importante
IoT Edge 1.1 data de fim do suporte foi 13 de dezembro de 2022. Consulte o Ciclo de Vida de Produtos da Microsoft para obter informações sobre como é suportado este 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.
Teste o Azure IoT Edge neste início rápido implantando código em contêiner em um dispositivo virtual Linux IoT Edge. O IoT Edge permite gerir remotamente o código nos seus dispositivos para enviar mais das suas tarefas de trabalho para a periferia. Para este início rápido, recomendamos o uso de uma máquina virtual do Azure para seu dispositivo IoT Edge, que permite criar rapidamente uma máquina de teste e excluí-la 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 runtime do IoT Edge num dispositivo virtual.
- Implementar remotamente um módulo num 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. O módulo usado neste início rápido é um 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
Prepare seu ambiente para a CLI do Azure.
Use o ambiente Bash na Azure Cloud Shell.
Se preferir, instale o Azure CLI para executar os comandos de referência da CLI.
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 obter opções de entrada adicionais, consulte Entrar com a CLI do Azure.
Quando lhe for pedido, instale as extensões do CLI do Azure durante a primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute az version para descobrir a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Recursos da cloud:
Um grupo de recursos para gerir todos os recursos que utilizar neste início rápido. Usamos o nome de grupo de recursos de exemplo IoTEdgeResources neste início rápido e nos tutoriais a seguir.
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.
O nível gratuito do Hub IoT 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 seguinte cria um hub F1 gratuito no grupo de recursos IoTEdgeResources. 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á há um hub gratuito em sua assinatura, altere a SKU para S1. Cada assinatura 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.
Registrar um dispositivo IoT Edge
Registre um dispositivo IoT Edge com seu hub IoT recém-criado.
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 nuvem, e utiliza uma cadeia de conexão única do dispositivo para associar um dispositivo físico a uma identidade do dispositivo.
Como os dispositivos IoT Edge se comportam e podem ser gerenciados de forma diferente dos dispositivos IoT típicos, declare essa identidade como sendo para um dispositivo IoT Edge com o --edge-enabled sinalizador.
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}Caso receba um erro sobre as chaves de política do iothubowner, verifique se o seu Cloud Shell está a executar a versão mais recente da extensão 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, em seguida, uma chave compartilhada que autentica conexões entre os dois. Consultaremos essa cadeia de conexão novamente na próxima seção quando você configurar seu dispositivo IoT Edge.
az iot hub device-identity connection-string show --device-id myEdgeDevice --hub-name {hub_name}
Configurar seu dispositivo IoT Edge
Crie uma máquina virtual com o tempo de execução do Azure IoT Edge nela.
O runtime do IoT Edge é implementado em todos os dispositivos do IoT Edge. Tem três componentes. O daemon de segurança do IoT Edge é iniciado sempre que um dispositivo IoT Edge arranca, preparando 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, você/vós fornece uma string de conexão do dispositivo. Esta é a cadeia de caracteres que você recuperou da CLI do Azure. 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 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 seguinte comando da CLI para criar o seu dispositivo IoT Edge com base no modelo pré-construído iotedge-vm-deploy .
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/1.1/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/1.1/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 serã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. |
| template-URI | Um ponteiro para o modelo do Resource Manager que estamos usando. |
| dnsLabelPrefix | Uma cadeia de caracteres que será 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, utilizada para configurar o runtime do IoT Edge na máquina virtual. O comando CLI neste parâmetro captura a cadeia de conexão para você. Substitua o texto de marcador de posição pelo nome do hub IoT. |
| tipoDeAutenticaçã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. |
Quando a implantação estiver concluída, você receberá a saída formatada em JSON na CLI que contém as informações SSH para se conectar à máquina virtual. Copie o valor da entrada do SSH público da seção de saídas .
Exibir o status do tempo de execução 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. Use o seguinte comando para se conectar à sua máquina virtual. Substitua {admin username} e {DNS name} com os seus próprios valores.
ssh {admin username}@{DNS name}
Uma vez conectado à sua máquina virtual, verifique se o ambiente de execução foi instalado e configurado com êxito no seu dispositivo IoT Edge.
Verifique se o daemon de segurança do IoT Edge está sendo executado como um serviço do sistema.
sudo systemctl status iotedge
Sugestão
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 você precisar solucionar problemas do serviço, recupere os logs de serviço.
journalctl -u iotedgeVeja 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ó deve ver 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
Seu dispositivo IoT Edge agora está configurado. Ele está pronto para executar módulos implantados na nuvem.
Implementar um módulo
Gerencie o seu dispositivo Azure IoT Edge da nuvem para implementar um módulo que irá enviar dados telemétricos para o IoT Hub.
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 de Borda IoT do Azure Marketplace diretamente do Hub IoT do Azure.
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 iniciar o assistente Definir módulos para implantar seu primeiro módulo do Azure Marketplace.
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 exibirá 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.
Módulos
O primeiro passo do assistente é escolher quais módulos você deseja executar no seu dispositivo.
Em Módulos do IoT Edge, abra o menu suspenso Adicionar e selecione Módulo do Marketplace.
No IoT Edge Module Marketplace, pesquise e selecione o Simulated Temperature Sensor módulo. O módulo é adicionado à seção Módulos do IoT Edge com o status de execução desejado.
Selecione Next: Routes para continuar para a próxima etapa do assistente.
Rotas
Uma rota chamada 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.
Selecione Seguinte: Revisar + criar.
Rever e criar
Revise o arquivo JSON e selecione Criar. O arquivo JSON define todos os módulos que você implanta em seu dispositivo IoT Edge. Você verá o módulo SimulatedTemperatureSensor e os dois módulos de tempo de execução, edgeAgent e edgeHub.
Observação
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. Verifique o estado da implementaçã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 NA IMPLEMENTAÇÃO, mas não em RELATADO POR DISPOSITIVO, o seu dispositivo IoT Edge ainda os iniciará. Aguarde alguns minutos e, em seguida, atualize a página.
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.
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 poderá estar num espaço de servidor, numa 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 novamente a linha de comandos no seu dispositivo do IoT Edge ou utilize a ligação SSH a partir da CLI do Azure. Certifique-se de que o módulo implementado a partir da cloud está em execução no seu dispositivo do IoT Edge:
sudo iotedge list
Veja as mensagens que estão sendo enviadas do módulo do sensor de temperatura:
sudo iotedge logs SimulatedTemperatureSensor -f
Sugestão
Os comandos do IoT Edge diferenciam maiúsculas de minúsculas quando se referem a nomes de módulos.
Você também pode ver as mensagens chegarem ao seu hub IoT usando a extensão do Hub IoT do Azure para Visual Studio Code.
Limpar recursos
Se quiser avançar para os tutoriais do IoT Edge, 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. Verifique novamente o conteúdo do grupo de recursos para certificar-se de 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.
Remova o grupo de IoTEdgeResources. Pode levar alguns minutos para excluir um grupo de recursos.
az group delete --name IoTEdgeResources --yes
Você pode confirmar que o grupo de recursos foi removido 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, tem um dispositivo de teste a gerar dados não processados sobre o seu ambiente.
No próximo tutorial, você aprenderá a monitorar a atividade e a integridade do seu dispositivo no portal do Azure.