Compartilhar via


Tutorial: Configurar um ambiente para aprendizado de máquina no IoT Edge

Aplica-se a:ícone de sim IoT Edge 1.1

Importante

O IoT Edge 1.1 data de término do suporte foi 13 de dezembro de 2022. Confira o Ciclo de Vida do Produto da Microsoft para obter informações sobre o suporte deste produto, serviço, tecnologia ou API. Para obter mais informações sobre como atualizar para a versão mais recente do IoT Edge, consulte Update IoT Edge.

Este artigo ajuda você a preparar seu ambiente para desenvolvimento e implantação. Primeiro, configure um computador de desenvolvimento com todas as ferramentas necessárias. 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 um armazenamento em nuvem para seu ambiente de desenvolvimento usar.

Pré-requisitos

Este artigo faz parte de uma série para um tutorial sobre como usar o Azure Machine Learning no IoT Edge. Cada artigo da série baseia-se no trabalho no artigo anterior. Se você chegou diretamente a este artigo, visite o primeiro artigo da série.

Configurar a VM de desenvolvimento

Essa etapa normalmente é 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, por isso escolhemos um tamanho de máquina Standard_D8s_v3.

A VM de desenvolvimento será configurada com:

A VM do desenvolvedor não é estritamente necessária– todas as ferramentas de desenvolvimento podem ser executadas em um computador local. No entanto, é altamente recomendável usar a VM para garantir um campo de jogo nivelado.

Leva cerca de 30 minutos para criar e configurar a máquina virtual.

  1. Clone ou baixe o repositório de exemplo do Machine Learning e do IoT Edge para o seu computador local.

  2. Abra o PowerShell como administrador e navegue até o diretório \IoTEdgeAndMlSample\DevVM localizado no diretório raiz em que você baixou o código. Vamos nos referir ao diretório raiz de sua origem 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.

  3. Execute o comando a seguir para permitir a execução de scripts. Escolha Sim para Todos quando solicitado.

    Set-ExecutionPolicy Bypass -Scope Process
    
  4. Executar Create-AzureDevVM.ps1.

    .\Create-AzureDevVm.ps1
    

    Quando solicitado, forneça as seguintes informações:

    • ID da Assinatura do Azure: sua ID de assinatura, que pode ser encontrada nas Assinaturas 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 em que a máquina virtual será criada. Por exemplo, "Oeste dos EUA 2" ou "Norte da Europa". Para obter mais informações, consulte os 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:

    1. Instala o módulo Az do Azure PowerShell.
    2. Solicita que você entre no Azure.
    3. Confirma as informações para a criação da sua VM. Pressione y ou Enter para continuar.
    4. Cria o grupo de recursos se ele não existir.
    5. Implanta a máquina virtual.
    6. Habilita Hyper-V na VM.
    7. Instala o software necessário para desenvolvimento e clona o repositório de exemplo.
    8. Reinicia a VM.
    9. Cria um arquivo RDP em sua área de trabalho para se conectar à VM.

    Se for solicitado o nome da VM para reiniciá-la, você pode copiá-lo da saída do script. A saída também mostra o caminho para o arquivo RDP para se conectar à VM.

Definir agendamento de desligamento automático

Para ajudá-lo a reduzir o custo, a VM de desenvolvimento foi criada com um cronograma de desligamento automático programado para as 22:00 BRT. Talvez seja necessário atualizar essa configuração dependendo da localização e da agenda. Para atualizar o cronograma de desligamento:

  1. No portal do Azure, navegue até a VM que o script criou.

  2. No menu do painel esquerdo, em Operações, selecione Desligamento automático.

  3. Ajuste o desligamento agendado 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.

  1. Clique duas vezes no arquivo RDP que o script criou em sua área de trabalho.

  2. Você verá uma caixa de diálogo informando que o publicador da conexão remota é desconhecido. Isso é aceitável, portanto, selecione Conectar.

  3. Forneça a senha de administrador que você forneceu para criar a VM e clique em OK.

  4. Você será solicitado a aceitar o certificado para a VM. Selecione Sim.

Instalar extensões do Visual Studio Code

Agora que você se conectou ao computador de desenvolvimento, adicione algumas extensões úteis ao Visual Studio Code para facilitar a experiência de desenvolvimento.

  1. Conecte-se à VM de desenvolvimento, abra uma janela do PowerShell e navegue até o diretório C:\source\IoTEdgeAndMlSample\DevVM . Esse diretório foi criado pelo script que criou a VM.

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Execute o comando a seguir para permitir a execução de scripts. Escolha Sim para Todos quando solicitado.

    Set-ExecutionPolicy Bypass -Scope Process
    
  3. Execute o script de extensões do Visual Studio Code.

    .\Enable-CodeExtensions.ps1
    
  4. O script será executado por alguns minutos instalando extensões de código VS:

    • Azure IoT Edge
    • Azure IoT Hub
    • Python
    • C#
    • Docker
    • PowerShell

Configurar o Hub IoT e o Armazenamento

Essas etapas normalmente são executadas por um desenvolvedor de nuvem.

O Hub IoT do Azure é o centro 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 do 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 Azure Machine Learning para treinar nosso classificador de RUL (vida útil) restante.

  • Posteriormente no tutorial, usaremos o Hub IoT para configurar e gerenciar nosso dispositivo do Azure IoT Edge.

Nesta seção, você usará 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 os dados recebidos pelo hub para um contêiner do Armazenamento do Azure. Essas etapas levam cerca de 10 minutos para serem concluídas.

  1. Conecte-se à VM de desenvolvimento, abra uma janela do PowerShell e navegue até o diretório do IoTHub .

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Execute o script de criação. Use os mesmos valores para ID de assinatura, local e grupo de recursos como você fez ao criar a VM de desenvolvimento.

    .\New-HubAndStorage.ps1 -SubscriptionId <subscription id> -Location <location> -ResourceGroupName <resource group>
    
    • Você será solicitado a entrar 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 leva cerca de dois minutos para ser executado. Depois de concluído, o script gera o nome do hub IoT e da conta de armazenamento.

Revisar a rota de armazenamento no Hub IoT

Como parte da criação do hub IoT, o script executado 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 endpoint. 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 examinar a rota criada pelo nosso script.

  1. Abra o portal do Azure e vá para o grupo de recursos que você está usando para este tutorial.

  2. Na lista de recursos, selecione o Hub IoT que o script criou. Ele terá um nome que termina com caracteres aleatórios, como IotEdgeAndMlHub-jrujej6de6i7w.

  3. No menu do painel esquerdo, nas configurações do Hub, selecione Roteamento de mensagens.

  4. Na página Roteamento de mensagens , selecione a guia Pontos de extremidade personalizados .

  5. Expanda a seção Armazenamento :

    Captura de tela do armazenamento chamado turbofanDeviceStorage na lista de endpoints personalizados no portal do Hub de IoT.

    Vemos turbofanDeviceStorage está na lista de pontos de extremidade personalizados. Observe as seguintes características deste endpoint:

    • Ele aponta para o contêiner de armazenamento de blobs que você criou nomeado devicedata conforme indicado pelo nome do contêiner.
    • O formato de nome de arquivo contém a palavra "partição" no nome. Descobrimos que esse formato é mais conveniente para as operações de arquivo que faremos com o Azure Notebooks mais adiante neste tutorial.
    • Seu Status deve ser saudável.
  6. Selecione a guia Rotas .

  7. Selecione a rota chamada turbofanDeviceDataToStorage.

  8. Na página de detalhes de rotas, observe que o ponto de extremidade da rota é o ponto de extremidade turbofanDeviceStorage.

    Captura de tela que mostra detalhes sobre a rota turbofanDeviceDataToStorage.

  9. Examine a consulta de roteamento, que é 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 .

  10. Como nenhuma edição foi feita, basta fechar esta página.

Limpar os recursos

Este tutorial faz parte de um conjunto em que cada artigo se baseia no trabalho feito nas anteriores. Aguarde para limpar todos os recursos até concluir o tutorial final.

Próximas etapas

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 as rotas e examinaremos um pouco mais a consulta de roteamento.

Continue para o próximo artigo para criar um dispositivo simulado a ser monitorado.