Tutorial: Configurar um ambiente para machine learning no IoT Edge

Aplica-se a:sim ícone 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 IoT Edge.

Este artigo ajuda-o a preparar o seu ambiente para desenvolvimento e implementação. Primeiro, configure uma máquina de desenvolvimento com todas as ferramentas de que precisa. Em seguida, crie os recursos de cloud necessários no Azure.

Nesta secção do tutorial, irá aprender a:

  • Configurar uma máquina virtual para desenvolvimento.
  • Configure uma Hub IoT e armazenamento na cloud para o seu ambiente de desenvolvimento utilizar.

Pré-requisitos

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

Configurar a VM de desenvolvimento

Normalmente, este passo é executado por um programador da cloud. Alguns dos softwares também podem ser úteis para um cientista de dados.

Criámos um script do PowerShell que cria uma máquina virtual do Azure com muitos dos pré-requisitos já configurados. A VM que criamos tem de ser capaz de lidar com a virtualização aninhada, razão pela qual escolhemos um tamanho de máquina Standard_D8s_v3 .

A VM de desenvolvimento será configurada com:

A VM do programador não é estritamente necessária– todas as ferramentas de desenvolvimento podem ser executadas num computador local. No entanto, recomendamos vivamente a utilização da VM para garantir condições equitativas.

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

  1. Clone ou transfira o repositório de exemplo machine Learning e IoT Edge para o seu computador local.

  2. Abra o PowerShell como administrador e navegue para o diretório \IoTEdgeAndMlSample\DevVM localizado no diretório de raiz onde transferiu o código. Vamos referir-nos ao diretório de raiz da sua origem como srcdir.

    cd c:\srcdir\IoTEdgeAndMlSample\DevVM
    

    O diretório DevVM contém os ficheiros necessários para criar uma máquina virtual do Azure adequada para concluir este tutorial.

  3. Execute o seguinte comando para permitir a execução de scripts. Selecione Sim para Todos quando lhe for pedido.

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

    .\Create-AzureDevVm.ps1
    

    Quando lhe for pedido, forneça as seguintes informações:

    • ID da Subscrição do Azure: o ID da subscrição, que pode ser encontrado nas Subscrições do Azure no portal.
    • Nome do Grupo de Recursos: o nome de um grupo de recursos novo ou existente no Azure.
    • Localização: escolha uma localização do Azure onde a máquina virtual será criada. Por exemplo, "E.U.A. Oeste 2" ou "Europa do Norte". Para obter mais informações, veja Localizações do Azure.
    • Nome de utilizador: forneça um nome memorável para a conta de administrador da VM.
    • Palavra-passe: defina uma palavra-passe para a conta de administrador da VM.

    O script é executado durante vários minutos à medida que executa os seguintes passos:

    1. Instala o módulo Azure PowerShell Az.
    2. Pede-lhe para iniciar sessão no Azure.
    3. Confirma as informações para a criação da VM. Prima y ou Enter para continuar.
    4. Cria o grupo de recursos se não existir.
    5. Implementa a máquina virtual.
    6. Ativa o Hyper-V na VM.
    7. Instala a necessidade de software para desenvolvimento e clona o repositório de exemplo.
    8. Reinicia a VM.
    9. Cria um ficheiro RDP no seu ambiente de trabalho para ligar à VM.

    Se lhe for pedido que o nome da VM a reinicie, pode copiar o respetivo nome a partir da saída do script. O resultado também mostra o caminho para o ficheiro RDP para ligar à VM.

Definir agenda de encerramento automático

Para o ajudar a reduzir os custos, a VM de desenvolvimento foi criada com um agendamento de encerramento automático definido para 1900 PST. Poderá ter de atualizar esta definição consoante a sua localização e agenda. Para atualizar a agenda de encerramento:

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

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

  3. Ajuste o Encerramento agendado e o Fuso horário conforme pretendido e selecione Guardar.

Ligar à VM de desenvolvimento

Agora que criámos uma VM, temos de concluir a instalação do software necessário para concluir o tutorial.

  1. Faça duplo clique no ficheiro RDP que o script criou no seu ambiente de trabalho.

  2. Será apresentada uma caixa de diálogo a indicar que o editor da ligação remota é desconhecido. Isto é aceitável, por isso, selecione Ligar.

  3. Indique a palavra-passe de administrador que forneceu para criar a VM e clique em OK.

  4. Ser-lhe-á pedido que aceite o certificado da VM. Selecione Yes (Sim).

Instalar extensões do Visual Studio Code

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

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

    cd C:\source\IoTEdgeAndMlSample\DevVM
    
  2. Execute o seguinte comando para permitir a execução de scripts. Selecione Sim para Todos quando lhe for pedido.

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

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

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

Configurar o Hub IoT e o Armazenamento

Normalmente, estes passos são executados por um programador da cloud.

Hub IoT do Azure é o cerne de qualquer aplicação IoT, uma vez que lida com a comunicação segura entre dispositivos IoT e a cloud. É o principal ponto de coordenação para o funcionamento da solução de machine learning IoT Edge.

  • Hub IoT utiliza rotas para direcionar dados recebidos de dispositivos IoT para outros serviços a jusante. Vamos tirar partido das rotas 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 preparar o nosso classificador de vida útil (RUL) restante.

  • Mais adiante no tutorial, vamos utilizar Hub IoT para configurar e gerir o nosso dispositivo IoT Edge do Azure.

Nesta secção, vai utilizar um script para criar um hub IoT do Azure e uma conta de Armazenamento do Azure. Em seguida, no portal do Azure, vai configurar uma rota que reencaminha os dados recebidos pelo hub para um contentor do Armazenamento do Azure. Estes passos demoram cerca de 10 minutos a concluir.

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

    cd C:\source\IoTEdgeAndMlSample\IoTHub
    
  2. Execute o script de criação. Utilize os mesmos valores para o ID da subscrição, a localização e o grupo de recursos como 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 do Hub e da conta de Armazenamento. Prima y ou Enter para continuar.

O script demorará cerca de dois minutos a ser executado. Depois de concluído, o script produz o nome do hub IoT e da conta de armazenamento.

Rever a rota para o armazenamento no Hub IoT

Como parte da criação do hub IoT, o script que executámos na secção anterior também criou um ponto final personalizado e uma rota. Hub IoT rotas consistem numa expressão de consulta e num ponto final. Se uma mensagem corresponder à expressão, os dados são enviados ao longo da rota para o ponto final associado. Os pontos finais podem ser Hubs de Eventos, Filas do Service Bus e Tópicos. Neste caso, o ponto final é um contentor de blobs numa conta de armazenamento. Vamos utilizar o portal do Azure para rever a rota criada pelo nosso script.

  1. Abra o portal do Azure e aceda ao grupo de recursos que está a utilizar para este tutorial.

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

  3. No menu do painel esquerdo, em Definições do hub, selecione Encaminhamento de mensagens.

  4. Na página Encaminhamento de mensagens, selecione o separador Pontos finais personalizados .

  5. Expanda a secção Armazenamento :

    Captura de ecrã do armazenamento denominado turbofanDeviceStorage na lista de pontos finais personalizados no portal do Hub I o T.

    Vemos que turbofanDeviceStorage está na lista de pontos finais personalizados. Tenha em atenção as seguintes características sobre este ponto final:

    • Aponta para o contentor de armazenamento de blobs que criou com o nome devicedata indicado pelo Nome do contentor.
    • O formato Nome de ficheiro tem a palavra "partição" no nome. Achamos que este formato é mais conveniente para as operações de ficheiros que iremos realizar com o Azure Notebooks mais adiante neste tutorial.
    • O seu Estado deve estar em bom estado de funcionamento.
  6. Selecione o separador Rotas.

  7. Selecione a rota com o nome turbofanDeviceDataToStorage.

  8. Na página Detalhes das rotas , tenha em atenção que o ponto final da rota é o ponto final turbofanDeviceStorage .

    Captura de ecrã que mostra detalhes sobre a rota turbofanDeviceDataToStorage.

  9. Veja a consulta Encaminhamento, que está definida como verdadeira. Esta definição significa que todas as mensagens de telemetria do dispositivo corresponderão a esta rota; e, portanto, todas as mensagens serão enviadas para o ponto final turbofanDeviceStorage .

  10. Uma vez que não foram efetuadas edições, basta fechar esta página.

Limpar os recursos

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

Passos seguintes

Neste artigo, criámos um Hub IoT e configurámos uma rota para uma conta de Armazenamento do Azure. Em seguida, iremos enviar dados de um conjunto de dispositivos simulados através do Hub IoT para a conta de armazenamento. Mais à frente no tutorial, depois de configurarmos o nosso dispositivo e módulos IoT Edge, vamos rever as rotas e analisar um pouco mais a consulta de encaminhamento.

Continue para o artigo seguinte para criar um dispositivo simulado para monitorizar.