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.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.
Neste artigo, usamos dados de treinamento de machine learning para simular um dispositivo enviando telemetria para o Hub IoT do Azure. Conforme indicado na introdução, este tutorial usa o conjunto de dados de simulação de degradação do motor Turbofan para simular dados de um conjunto de motores de avião para treinamento e teste.
Em nosso cenário experimental, sabemos que:
- Os dados consistem em várias séries temporais multivariadas.
- Cada conjunto de dados é dividido em subconjuntos de treinamento e teste.
- Cada série temporal é de um mecanismo diferente.
- Cada motor começa com diferentes graus de desgaste inicial e variação no processo de fabricação.
Para este tutorial, usamos o subconjunto de dados de treinamento de um único conjunto de dados (FD003).
Na realidade, cada mecanismo seria um dispositivo IoT independente. Supondo que você não tenha uma coleção de motores turbofan conectados à Internet disponíveis, criaremos um substituto de software para esses dispositivos.
O simulador é um programa C# que usa as APIs do Hub IoT para registrar programaticamente dispositivos virtuais com o Hub IoT. Em seguida, lemos os dados de cada dispositivo do subconjunto de dados fornecido pela NASA e os enviamos para o hub IoT usando um dispositivo IoT simulado. Todo o código dessa parte do tutorial pode ser encontrado no diretório DeviceHarness do repositório.
O projeto DeviceHarness é um projeto do .NET Core escrito em C# que consiste em quatro classes:
- Programa: O ponto de entrada para execução responsável por lidar com a entrada do usuário e a coordenação geral.
- TrainingFileManager: Responsável por ler e analisar o arquivo de dados selecionado.
- CycleData: Representa uma única linha de dados em um arquivo convertido em formato de mensagem.
- TurbofanDevice: Responsável por criar um dispositivo IoT, que corresponde a um único dispositivo (sequência temporal), nos dados e por transmitir os mesmos para o IoT Hub.
As tarefas descritas neste artigo devem levar cerca de 20 minutos para serem concluídas.
O equivalente real ao trabalho nesta etapa provavelmente seria executado por desenvolvedores de dispositivos e desenvolvedores de nuvem.
Nesta seção do tutorial, você aprenderá a:
- Incorpore um projeto externo ao seu ambiente de desenvolvimento.
- Use o projeto DeviceHarness de exemplo para gerar dados simulados do dispositivo IoT.
- Exibir dados gerados no Hub IoT.
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 o Visual Studio Code e criar o projeto DeviceHarness
Abra uma sessão de área de trabalho remota para sua VM de desenvolvimento.
No Visual Studio Code, abra a pasta
C:\source\IoTEdgeAndMlSample\DeviceHarness.Como você está usando extensões neste computador pela primeira vez, algumas extensões atualizarão e instalarão suas dependências. Você pode ser solicitado a atualizar a extensão. Em caso afirmativo, selecione Recarregar Janela.
Se os erros do OmniSharp aparecerem na janela de saída, você precisará desinstalar a extensão C#.
Você será solicitado a adicionar ativos necessários ao DeviceHarness. Selecione Sim para adicioná-los.
- A notificação pode levar alguns segundos para ser exibida.
- Se você perdeu essa notificação, verifique o ícone de sino no canto inferior direito.
Selecione Restaurar para restaurar as dependências do pacote.
Se você não receber essas notificações, feche o Visual Studio Code, exclua os diretórios bin e obj,
C:\source\IoTEdgeAndMlSample\DeviceHarnessabra o Visual Studio Code e reabra a pasta DeviceHarness.Valide se seu ambiente está configurado corretamente disparando uma build com Ctrl + Shift + B ou Terminal>Executar Tarefa de Build.
Você será solicitado a selecionar a tarefa de build a ser executada. Selecione Compilar.
O build é executado e gera uma mensagem de sucesso.
Você pode fazer com que essa compilação seja a tarefa de build padrão selecionando Terminal>Configure Default Build Task... e escolhendo Compilar no prompt.
Conectar-se ao Hub IoT e executar DeviceHarness
Agora que temos a criação do projeto, conecte-se ao hub IoT para acessar a cadeia de conexão e monitorar o progresso da geração de dados.
Faça login no Azure do Visual Studio Code
Entre em sua assinatura do Azure no Visual Studio Code abrindo a paleta
Ctrl + Shift + Pde comandos ou exiba a>paleta de comandos.Pesquise o comando Azure: Entrar .
Uma janela do navegador é aberta e solicita suas credenciais. Ao ser redirecionado para uma página de sucesso, você pode fechar o navegador.
Conecte-se ao hub IoT e recupere a cadeia de conexão do hub.
Na seção inferior do Gerenciador do Visual Studio Code, selecione o quadro do Hub IoT do Azure para expandi-lo.
No quadro expandido, clique em Selecionar Hub IoT.
Quando solicitado, selecione sua assinatura do Azure e, em seguida, o hub IoT.
Clique no ... à direita do Hub IoT do Azure para obter mais ações. Selecione Copiar cadeia de conexão do Hub IoT.
Executar o projeto DeviceHarness
Selecione Exibir>Terminal para abrir o terminal do Visual Studio Code.
Se você não vir um prompt, pressione Enter.
Insira
dotnet runno terminal.Quando for solicitado a inserir a string de conexão do Hub IoT, cole a string de conexão copiada na seção anterior.
No quadro de dispositivos do Hub IoT do Azure , clique no botão atualizar.
Observe que os dispositivos são adicionados ao Hub IoT e que os dispositivos aparecem em verde para indicar que os dados estão sendo enviados por meio desse dispositivo. Depois que os dispositivos enviam mensagens para o hub IoT, eles se desconectam e aparecem azuis.
Você pode visualizar as mensagens enviadas ao hub clicando com o botão direito do mouse em qualquer dispositivo e selecionando Iniciar Monitoramento do Endpoint de Eventos Embutido. As mensagens serão exibidas no painel de saída no Visual Studio Code.
Pare de monitorar clicando no painel de saída do Hub IoT do Azure e escolha Parar de Monitorar o Ponto de Extremidade de Evento Interno.
Deixe o aplicativo ser executado até a conclusão, o que leva alguns minutos.
Verificar a atividade do Hub IoT
Os dados enviados pelo DeviceHarness foram para o hub IoT, onde você pode verificar no portal do Azure.
Abra o portal do Azure e navegue até o Hub IoT criado para este tutorial.
No menu do painel esquerdo, em Monitoramento, selecione Métricas.
Na página de definição do gráfico, clique no menu suspenso Métrica, role para baixo na lista e selecione Roteamento: dados entregues ao armazenamento. O gráfico deve mostrar o pico no momento em que os dados foram roteados para o armazenamento.
Validar dados no Armazenamento do Azure
Os dados que acabamos de enviar para o hub IoT foram roteado para o contêiner de armazenamento que criamos no artigo anterior. Vamos examinar os dados em nossa conta de armazenamento.
No Portal do Azure, navegue até sua conta de armazenamento.
No navegador da conta de armazenamento, selecione Gerenciador de Armazenamento (versão prévia).
No explorador de armazenamento, selecione Contêineres de Blob e depois
devicedata.No painel de conteúdo, clique na pasta para o nome do hub IoT, seguido por ano, mês, dia e hora. Você verá várias pastas que representam os minutos em que os dados foram gravados.
Clique em uma dessas pastas para localizar arquivos de dados rotulados como 00 e 01 correspondentes à partição.
Os arquivos são gravados no formato Avro . Clique duas vezes em um desses arquivos para abrir outra guia do navegador e renderizar parcialmente os dados. Se for solicitado que você abra o arquivo em um programa, poderá escolher VS Code e ele será renderizado corretamente.
Não é necessário tentar ler ou interpretar os dados no momento; faremos isso no próximo artigo.
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, usamos um projeto do .NET Core para criar um conjunto de dispositivos IoT virtuais e enviá-los por meio deles para o hub IoT e para um contêiner de Armazenamento do Azure. Este projeto simula um cenário do mundo real em que dispositivos IoT físicos enviam dados para um Hub IoT e em diante para um armazenamento organizado. Esses dados incluem leituras de sensor, configurações operacionais, sinais e modos de falha e assim por diante. Depois que dados suficientes forem coletados, os usaremos para treinar modelos que prevejam a RUL (vida útil) restante para o dispositivo. Demonstraremos esse aprendizado de máquina no próximo artigo.
Continue para o próximo artigo para treinar um modelo de machine learning com os dados.