Tutorial: Configurar um ambiente para aprendizado de máquina no IoT Edge
Aplica-se a: IoT Edge 1.1
Importante
A data de fim do suporte do IoT Edge 1.1 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.
Este artigo ajuda você a preparar seu ambiente para desenvolvimento e implantação. Primeiro, configure uma máquina de desenvolvimento com todas as ferramentas que você precisa. Em seguida, crie os recursos de nuvem necessários no Azure.
Nesta seção do tutorial, você aprenderá a:
- Configure uma máquina virtual para desenvolvimento.
- Configure um Hub IoT e armazenamento em nuvem para seu ambiente de desenvolvimento usar.
Pré-requisitos
Este artigo faz parte de uma série de tutoriais sobre como usar o Azure Machine Learning no IoT Edge. Cada artigo da série baseia-se no trabalho do artigo anterior. Se você chegou a este artigo diretamente, visite o primeiro artigo da série.
Configurar a VM de desenvolvimento
Esta etapa geralmente é executada por um desenvolvedor de nuvem. Alguns dos softwares também podem ser úteis para um cientista de dados.
Criamos um script do PowerShell que cria uma máquina virtual do Azure com muitos dos pré-requisitos já configurados. A VM que criamos precisa ser capaz de lidar com a virtualização aninhada, e é por isso que escolhemos um tamanho de máquina Standard_D8s_v3 .
A VM de desenvolvimento será configurada com:
- Windows 10
- Achocolatado
- Área de trabalho do Docker para Windows
- Git para Windows
- Gerenciador de credenciais Git para Windows
- SDK .NET Core
- Python 3
- Visual Studio Code
- Azure PowerShell
- Extensões de código VS
A VM do desenvolvedor não é estritamente necessária - todas as ferramentas de desenvolvimento podem ser executadas em uma máquina local. No entanto, recomendamos vivamente a utilização da VM para garantir condições de concorrência equitativas.
Leva cerca de 30 minutos para criar e configurar a máquina virtual.
Clone ou baixe o repositório de exemplo de Machine Learning e IoT Edge para seu computador local.
Abra o PowerShell como administrador e navegue até o diretório \IoTEdgeAndMlSample\DevVM localizado no diretório raiz onde você baixou o código. Referir-nos-emos ao diretório raiz da sua fonte como
srcdir
.cd c:\srcdir\IoTEdgeAndMlSample\DevVM
O diretório DevVM contém os arquivos necessários para criar uma máquina virtual do Azure apropriada para concluir este tutorial.
Execute o seguinte comando para permitir a execução de scripts. Escolha Sim para Todos quando solicitado.
Set-ExecutionPolicy Bypass -Scope Process
Execute Create-AzureDevVM.ps1.
.\Create-AzureDevVm.ps1
Quando lhe for pedido, forneça as seguintes informações:
- ID da Subscrição do Azure: a sua ID de subscrição, que pode ser encontrada em Subscrições do Azure no portal.
- Nome do Grupo de Recursos: O nome de um grupo de recursos novo ou existente no Azure.
- Local: escolha um local do Azure onde a máquina virtual será criada. Por exemplo, "West US 2" ou "North Europe". Para obter mais informações, consulte Locais do Azure.
- Nome de usuário: forneça um nome memorável para a conta de administrador da VM.
- Senha: defina uma senha para a conta de administrador da VM.
O script é executado por vários minutos enquanto executa as seguintes etapas:
- Instala o módulo Az do Azure PowerShell.
- Solicita que você entre no Azure.
- Confirma as informações para a criação da sua VM. Pressione y ou Enter para continuar.
- Cria o grupo de recursos se ele não existir.
- Implanta a máquina virtual.
- Habilita o Hyper-V na VM.
- Instala a necessidade de software para desenvolvimento e clona o repositório de exemplo.
- Reinicia a VM.
- Cria um arquivo RDP na área de trabalho para se conectar à VM.
Se for solicitado o nome da VM para reiniciá-la, você poderá copiar seu nome da saída do script. A saída também mostra o caminho para o arquivo RDP para se conectar à VM.
Definir cronograma de desligamento automático
Para ajudá-lo a reduzir custos, a VM de desenvolvimento foi criada com um cronograma de desligamento automático definido como 1900 PST. Talvez seja necessário atualizar essa configuração dependendo da sua localização e horário. Para atualizar o cronograma de desligamento:
No portal do Azure, navegue até a VM que o script criou.
No menu do painel esquerdo, em Operações, selecione Desligamento automático.
Ajuste o Desligamento programado e o Fuso horário conforme desejado e selecione Salvar.
Conectar-se à VM de desenvolvimento
Agora que criamos uma VM, precisamos concluir a instalação do software necessário para concluir o tutorial.
Clique duas vezes no arquivo RDP que o script criou na área de trabalho.
Você verá uma caixa de diálogo dizendo que o editor da conexão remota é desconhecido. Isso é aceitável, então selecione Conectar.
Forneça a senha de administrador que você forneceu para criar a VM e clique em OK.
Você será solicitado a aceitar o certificado para a VM. Selecione Yes (Sim).
Instalar extensões do Visual Studio Code
Agora que você se conectou à máquina de desenvolvimento, adicione algumas extensões úteis ao Visual Studio Code para facilitar a experiência de desenvolvimento.
Conecte-se à VM de desenvolvimento, abra uma janela do PowerShell e navegue até o diretório C:\source\IoTEdgeAndMlSample\DevVM . Este diretório foi criado pelo script que criou a VM.
cd C:\source\IoTEdgeAndMlSample\DevVM
Execute o seguinte comando para permitir a execução de scripts. Escolha Sim para Todos quando solicitado.
Set-ExecutionPolicy Bypass -Scope Process
Execute o script de extensões de código do Visual Studio.
.\Enable-CodeExtensions.ps1
O script será executado por alguns minutos instalando extensões de código VS:
- Azure IoT Edge
- Hub IoT do Azure
- Python
- C#
- Docker
- PowerShell
Configurar o Hub IoT e o Armazenamento
Essas etapas geralmente são executadas por um desenvolvedor de nuvem.
O Hub IoT do Azure é o coração de qualquer aplicativo IoT, pois lida com a comunicação segura entre dispositivos IoT e a nuvem. É o principal ponto de coordenação para a operação da solução de machine learning IoT Edge.
O Hub IoT usa rotas para direcionar dados de entrada de dispositivos IoT para outros serviços downstream. Aproveitaremos as rotas do Hub IoT para enviar dados do dispositivo para o Armazenamento do Azure. No Armazenamento do Azure, os dados do dispositivo são consumidos pelo Aprendizado de Máquina do Azure para treinar nosso classificador de vida útil restante (RUL).
Mais adiante no tutorial, usaremos o Hub IoT para configurar e gerenciar nosso dispositivo Azure IoT Edge.
Nesta seção, você usa um script para criar um hub IoT do Azure e uma conta de Armazenamento do Azure. Em seguida, no portal do Azure, você configura uma rota que encaminha dados recebidos pelo hub para um contêiner de Armazenamento do Azure. Essas etapas levam cerca de 10 minutos para serem concluídas.
Conecte-se à VM de desenvolvimento, abra uma janela do PowerShell e navegue até o diretório IoTHub .
cd C:\source\IoTEdgeAndMlSample\IoTHub
Execute o script de criação. Use os mesmos valores para ID de assinatura, local e grupo de recursos que você fez ao criar a VM de desenvolvimento.
.\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
- Ser-lhe-á pedido que inicie sessão no Azure.
- O script confirma as informações para a criação de sua conta de Hub e Armazenamento. Pressione y ou Enter para continuar.
O script demorará cerca de dois minutos a ser executado. Depois de concluído, o script gera o nome do hub IoT e a conta de armazenamento.
Revisar a rota para o armazenamento no Hub IoT
Como parte da criação do hub IoT, o script que executamos na seção anterior também criou um ponto de extremidade personalizado e uma rota. As rotas do Hub IoT consistem em uma expressão de consulta e um ponto de extremidade. Se uma mensagem corresponder à expressão, os dados serão enviados ao longo da rota para o ponto de extremidade associado. Os pontos de extremidade podem ser Hubs de Eventos, Filas do Barramento de Serviço e Tópicos. Nesse caso, o ponto de extremidade é um contêiner de blob em uma conta de armazenamento. Vamos usar o portal do Azure para revisar a rota criada pelo nosso script.
Abra o portal do Azure e vá para o grupo de recursos que você está usando para este tutorial.
Na lista de recursos, selecione o Hub IoT que o script criou. Ele terá um nome terminando com caracteres aleatórios, como
IotEdgeAndMlHub-jrujej6de6i7w
.No menu do painel esquerdo, em Configurações do Hub, selecione Roteamento de mensagens.
Na página Roteamento de mensagens , selecione a guia Pontos de extremidade personalizados.
Expanda a seção Armazenamento :
Vemos que turbofanDeviceStorage está na lista de endpoints personalizados. Observe as seguintes características sobre esse ponto de extremidade:
- Ele aponta para o contêiner de armazenamento de blob que você criou nomeado
devicedata
como indicado pelo nome do contêiner. - Seu formato de nome de arquivo tem a palavra "partição" no nome. Achamos que esse formato é mais conveniente para as operações de arquivo que faremos com os Blocos de Anotações do Azure mais adiante neste tutorial.
- O seu estatuto deve ser saudável.
- Ele aponta para o contêiner de armazenamento de blob que você criou nomeado
Selecione a guia Rotas .
Selecione a rota chamada turbofanDeviceDataToStorage.
Na página Detalhes de rotas , observe que o ponto de extremidade da rota é o ponto de extremidade turbofanDeviceStorage .
Observe a consulta Roteamento, que está definida como true. Essa configuração significa que todas as mensagens de telemetria do dispositivo corresponderão a essa rota; e, portanto, todas as mensagens serão enviadas para o ponto de extremidade turbofanDeviceStorage .
Como não foram feitas edições, basta fechar esta página.
Clean up resources (Limpar recursos)
Este tutorial faz parte de um conjunto onde cada artigo se baseia no trabalho realizado nos anteriores. Aguarde para limpar todos os recursos até concluir o tutorial final.
Próximos passos
Neste artigo, criamos um Hub IoT e configuramos uma rota para uma conta de Armazenamento do Azure. Em seguida, enviaremos dados de um conjunto de dispositivos simulados por meio do Hub IoT para a conta de armazenamento. Mais adiante no tutorial, depois de configurarmos nosso dispositivo e módulos do IoT Edge, revisitaremos rotas e examinaremos um pouco mais a consulta de roteamento.
Continue para o próximo artigo para criar um dispositivo simulado para monitorar.