Previsão do tempo usando os dados do sensor do Hub IoT no Azure Machine LearningWeather forecast using the sensor data from your IoT hub in Azure Machine Learning

Diagrama de ponta a ponta

Observação

Antes de iniciar este tutorial, conclua o simulador online Raspberry Pi tutorial ou um dos tutoriais dispositivo; por exemplo, Raspberry Pi com Node. js.Before you start this tutorial, complete the Raspberry Pi online simulator tutorial or one of the device tutorials; for example, Raspberry Pi with node.js. Nesses artigos, configurar seu dispositivo IoT do Azure e o hub IoT e implantar um aplicativo de exemplo para ser executado em seu dispositivo.In these articles, you set up your Azure IoT device and IoT hub, and you deploy a sample application to run on your device. O aplicativo envia dados de sensor coletados para o hub IoT.The application sends collected sensor data to your IoT hub.

O Machine Learning é uma técnica da ciência de dados que ajuda os computadores a aprenderem com os dados existentes para prever tendências, resultados e comportamentos futuros.Machine learning is a technique of data science that helps computers learn from existing data to forecast future behaviors, outcomes, and trends. O Azure Machine Learning é um serviço de análise preditiva na nuvem que permite criar rapidamente modelos preditivos e implantá-los como soluções de análise.Azure Machine Learning is a cloud predictive analytics service that makes it possible to quickly create and deploy predictive models as analytics solutions.

O que você aprenderáWhat you learn

Saiba como usar o Azure Machine Learning para fazer uma previsão do tempo (possibilidade de chuva) usando os dados de temperatura e umidade do Hub IoT do Azure.You learn how to use Azure Machine Learning to do weather forecast (chance of rain) using the temperature and humidity data from your Azure IoT hub. A possibilidade de chuva é o resultado de um modelo de previsão de clima preparado.The chance of rain is the output of a prepared weather prediction model. O modelo se baseia em dados históricos para prever a possibilidade de chuva com base na temperatura e na umidade.The model is built upon historic data to forecast chance of rain based on temperature and humidity.

O que fazerWhat you do

  • Implante o modelo de previsão do tempo como um serviço Web.Deploy the weather prediction model as a web service.
  • Preparar seu Hub IoT para acesso a dados, adicionando um grupo de consumidores.Get your IoT hub ready for data access by adding a consumer group.
  • Crie um trabalho do Stream Analytics e configure o trabalho para:Create a Stream Analytics job and configure the job to:
    • Leia dados de temperatura e umidade no Hub IoT.Read temperature and humidity data from your IoT hub.
    • Chame o serviço Web para obter a possibilidade de chuva.Call the web service to get the rain chance.
    • Salve o resultado em um armazenamento de blobs do Azure.Save the result to an Azure blob storage.
  • Use o Gerenciador de Armazenamento do Microsoft Azure para exibir a previsão do tempo.Use Microsoft Azure Storage Explorer to view the weather forecast.

O que você precisaWhat you need

Implantar o modelo de previsão do tempo como um serviço WebDeploy the weather prediction model as a web service

  1. Acesse a página do modelo de previsão do tempo.Go to the weather prediction model page.

  2. Clique em Abrir no Studio no Microsoft Azure Machine Learning Studio.Click Open in Studio in Microsoft Azure Machine Learning Studio. Abrir a página do modelo de previsão do tempo na Galeria do Cortana IntelligenceOpen the weather prediction model page in Cortana Intelligence Gallery

  3. Clique em Executar para validar as etapas no modelo.Click Run to validate the steps in the model. Esta etapa pode levar 2 minutos para ser concluída.This step might take 2 minutes to complete. Abrir o modelo de previsão do tempo no Azure Machine Learning StudioOpen the weather prediction model in Azure Machine Learning Studio

  4. Clique em CONFIGURAR SERVIÇO WEB > Serviço Web Preditivo.Click SET UP WEB SERVICE > Predictive Web Service. Implantar o modelo de previsão do tempo no Azure Machine Learning StudioDeploy the weather prediction model in Azure Machine Learning Studio

  5. No diagrama, arraste o módulo entrada do serviço Web em algum lugar próximo ao módulo Modelo de Pontuação.In the diagram, drag the Web service input module somewhere near the Score Model module.

  6. Conecte o módulo entrada do serviço Web ao módulo Modelo de Pontuação.Connect the Web service input module to the Score Model module. Conectar dois módulos no Azure Machine Learning StudioConnect two modules in Azure Machine Learning Studio

  7. Clique em EXECUTAR para validar as etapas no modelo.Click RUN to validate the steps in the model.

  8. Clique em IMPLANTAR SERVIÇO WEB para implantar o modelo como um serviço Web.Click DEPLOY WEB SERVICE to deploy the model as a web service.

  9. No painel do modelo, baixe o Excel 2010 ou a pasta de trabalho anterior de SOLICITAÇÃO/RESPOSTA.On the dashboard of the model, download the Excel 2010 or earlier workbook for REQUEST/RESPONSE.

    Observação

    Lembre-se de baixar o Excel 2010 ou a pasta de trabalho anterior mesmo se estiver executando uma versão posterior do Excel no computador.Ensure that you download the Excel 2010 or earlier workbook even if you are running a later version of Excel on your computer.

    Baixar o Excel para obter o ponto de extremidade SOLICITAÇÃO/RESPOSTA

  10. Abra a pasta de trabalho do Excel, anote a URL DO SERVIÇO WEB e a TECLA DE ACESSO.Open the Excel workbook, make a note of the WEB SERVICE URL and ACCESS KEY.

Adicionar um grupo de consumidores ao hub IoTAdd a consumer group to your IoT hub

Grupos de consumidores fornecem exibições independentes no fluxo de eventos que permitem que aplicativos e serviços do Azure para consumir independentemente de dados do mesmo ponto de extremidade do Hub de eventos.Consumer groups provide independent views into the event stream that enable apps and Azure services to independently consume data from the same Event Hub endpoint. Nesta seção, você pode adicionar um grupo de consumidores para o ponto de extremidade interno do seu hub IoT que é usado posteriormente no tutorial para extrair dados do ponto de extremidade.In this section, you add a consumer group to your IoT hub's built-in endpoint that is used later in this tutorial to pull data from the endpoint.

Para adicionar um grupo de consumidores ao hub IoT, siga estas etapas:To add a consumer group to your IoT hub, follow these steps:

  1. No portal do Azure, abra o hub IoT.In the Azure portal, open your IoT hub.

  2. No painel esquerdo, selecione pontos de extremidade internos, selecione eventos no painel direito e insira um nome de grupos de consumidores.On the left pane, select Built-in endpoints, select Events on the right pane, and enter a name under Consumer groups. Clique em Salvar.Select Save.

    Criar um grupo de consumidores no hub IoT

Criar, configurar e executar um trabalho do Stream AnalyticsCreate, configure, and run a Stream Analytics job

Criar um trabalho de Stream AnalyticsCreate a Stream Analytics job

  1. No Portal do Azure, clique em Criar um recurso > Internet das Coisas > Trabalho do Stream Analytics.In the Azure portal, click Create a resource > Internet of Things > Stream Analytics job.

  2. Insira as seguintes informações para o trabalho.Enter the following information for the job.

    Nome do trabalho: o nome do trabalho.Job name: The name of the job. O nome deve ser globalmente exclusivo.The name must be globally unique.

    Grupo de recursos: use o mesmo grupo de recursos usado pelo seu Hub IoT.Resource group: Use the same resource group that your IoT hub uses.

    Local: use o mesmo local do que o grupo de recursos.Location: Use the same location as your resource group.

    Fixar no painel: marque esta opção para facilitar o acesso ao seu Hub IoT do painel.Pin to dashboard: Check this option for easy access to your IoT hub from the dashboard.

    Criar um trabalho do Stream Analytics no Azure

  3. Clique em Criar.Click Create.

Adicionar uma entrada ao trabalho do Stream AnalyticsAdd an input to the Stream Analytics job

  1. Abra o trabalho do Stream Analytics.Open the Stream Analytics job.

  2. Em Topologia do Trabalho, clique em Entradas.Under Job Topology, click Inputs.

  3. No entradas painel, clique em adicionare, em seguida, insira as seguintes informações:In the Inputs pane, click Add, and then enter the following information:

    Alias de entrada: o alias exclusivo para a entrada.Input alias: The unique alias for the input.

    Origem: selecione hub IoT.Source: Select IoT hub.

    Grupo de consumidores: selecione o grupo de consumidores criado.Consumer group: Select the consumer group you created.

    Adicionar uma entrada ao trabalho do Stream Analytics no Azure

  4. Clique em Criar.Click Create.

Adicionar uma saída ao trabalho do Stream AnalyticsAdd an output to the Stream Analytics job

  1. Em Topologia do Trabalho, clique em Saídas.Under Job Topology, click Outputs.

  2. No saídas painel, clique em adicionare, em seguida, insira as seguintes informações:In the Outputs pane, click Add, and then enter the following information:

    Alias de saída: o alias exclusivo para a saída.Output alias: The unique alias for the output.

    Coletor: selecione Armazenamento de Blobs.Sink: Select Blob Storage.

    Conta de armazenamento: a conta de armazenamento do armazenamento de blobs.Storage account: The storage account for your blob storage. Você pode criar uma conta de armazenamento ou usar uma existente.You can create a storage account or use an existing one.

    Contêiner: o contêiner em que o blob foi salvo.Container: The container where the blob is saved. Você pode criar um contêiner ou usar um existente.You can create a container or use an existing one.

    Formato de serialização de evento: selecione CSV.Event serialization format: Select CSV.

    Adicionar uma saída ao trabalho do Stream Analytics no Azure

  3. Clique em Criar.Click Create.

Adicionar uma função ao trabalho do Stream Analytics para chamar o serviço Web implantadoAdd a function to the Stream Analytics job to call the web service you deployed

  1. Em Topologia de Trabalho, clique em Funções > Adicionar.Under Job Topology, click Functions > Add.

  2. Insira as seguintes informações:Enter the following information:

    Alias da Função: insira machinelearning.Function Alias: Enter machinelearning.

    Tipo de Função: selecione Azure ML.Function Type: Select Azure ML.

    Opção de importação: selecione Importar de outra assinatura.Import option: Select Import from a different subscription.

    URL: insira a URL DO SERVIÇO WEB que você anotou da pasta de trabalho do Excel.URL: Enter the WEB SERVICE URL that you noted down from the Excel workbook.

    Chave: insira a TECLA DE ACESSO anotada da pasta de trabalho do Excel.Key: Enter the ACCESS KEY that you noted down from the Excel workbook.

    Adicionar uma função ao trabalho do Stream Analytics no Azure

  3. Clique em Criar.Click Create.

Configurar a consulta do trabalho do Stream AnalyticsConfigure the query of the Stream Analytics job

  1. Em Topologia do Trabalho, clique em Consulta.Under Job Topology, click Query.

  2. Substitua o código existente pelo seguinte código:Replace the existing code with the following code:

    WITH machinelearning AS (
       SELECT EventEnqueuedUtcTime, temperature, humidity, machinelearning(temperature, humidity) as result from [YourInputAlias]
    )
    Select System.Timestamp time, CAST (result.[temperature] AS FLOAT) AS temperature, CAST (result.[humidity] AS FLOAT) AS humidity, CAST (result.[Scored Probabilities] AS FLOAT ) AS 'probabalities of rain'
    Into [YourOutputAlias]
    From machinelearning
    

    Substitua [YourInputAlias] pelo alias de entrada do trabalho.Replace [YourInputAlias] with the input alias of the job.

    Substitua [YourOutputAlias] pelo alias de saída do trabalho.Replace [YourOutputAlias] with the output alias of the job.

  3. Clique em Salvar.Click Save.

Executar o trabalho do Stream AnalyticsRun the Stream Analytics job

No trabalho do Stream Analytics, clique em Iniciar > Agora > Iniciar.In the Stream Analytics job, click Start > Now > Start. Depois que o trabalho é iniciado com êxito, o status do trabalho muda de parado para executando.Once the job successfully starts, the job status changes from Stopped to Running.

Executar o trabalho do Stream Analytics

Usar o Gerenciador de Armazenamento do Microsoft Azure para exibir a previsão do tempoUse Microsoft Azure Storage Explorer to view the weather forecast

Execute o aplicativo cliente para iniciar a coleta e o envio de dados de temperatura e umidade para o Hub IoT.Run the client application to start collecting and sending temperature and humidity data to your IoT hub. Para cada mensagem recebida pelo Hub IoT, o trabalho do Stream Analytics chama o serviço Web de previsão do tempo para produzir a possibilidade de chuva.For each message that your IoT hub receives, the Stream Analytics job calls the weather forecast web service to produce the chance of rain. O resultado é então salvo no armazenamento de blobs do Azure.The result is then saved to your Azure blob storage. O Gerenciador de Armazenamento do Azure é uma ferramenta que pode ser usada para exibir o resultado.Azure Storage Explorer is a tool that you can use to view the result.

  1. Baixe e instale o Gerenciador de Armazenamento do Microsoft Azure.Download and install Microsoft Azure Storage Explorer.

  2. Abra o Gerenciador de Armazenamento do Azure.Open Azure Storage Explorer.

  3. Entre na sua conta do Azure.Sign in to your Azure account.

  4. Selecione sua assinatura.Select your subscription.

  5. Clique em sua assinatura > Contas de Armazenamento > sua conta de armazenamento > Contêineres de Blobs > seu contêiner.Click your subscription > Storage Accounts > your storage account > Blob Containers > your container.

  6. Abra um arquivo .csv para ver o resultado.Open a .csv file to see the result. A última coluna registra a possibilidade de chuva.The last column records the chance of rain.

    Obter resultados da previsão do tempo com o Azure Machine Learning

ResumoSummary

Você usou bem o Azure Machine Learning para produzir a possibilidade de chuva com base nos dados de temperatura e umidade recebidos pelo Hub IoT.You’ve successfully used Azure Machine Learning to produce the chance of rain based on the temperature and humidity data that your IoT hub receives.

Para continuar a introdução ao Hub IoT do Azure e explorar todos os outros cenários de IoT estendidos, confira:To continue to get started with Azure IoT Hub and to explore all extended IoT scenarios, see the following: