Previsioni meteo usando i dati sensore dell'hub IoT in Azure Machine LearningWeather forecast using the sensor data from your IoT hub in Azure Machine Learning

Diagramma end-to-end

Nota

Prima di iniziare questa esercitazione, configurare il dispositivo.Before you start this tutorial, set up your device. In questo articolo si configureranno il dispositivo e l'hub IoT di Azure e si distribuirà un'applicazione di esempio da eseguire nel dispositivo.In the article, you set up your Azure IoT device and IoT hub, and you deploy a sample application to run on your device. L'applicazione invia i dati del sensore raccolti all'hub IoT.The application sends collected sensor data to your IoT hub.

L'apprendimento automatico o machine learning è una tecnica di analisi scientifica dei dati che consente ai computer di apprendere dai dati esistenti per prevedere comportamenti, tendenze e risultati futuri.Machine learning is a technique of data science that helps computers learn from existing data to forecast future behaviors, outcomes, and trends. Azure Machine Learning è un servizio di analisi predittiva basato sul cloud che consente di creare e distribuire rapidamente modelli predittivi come soluzioni di analisi.Azure Machine Learning is a cloud predictive analytics service that makes it possible to quickly create and deploy predictive models as analytics solutions.

Contenuto dell'esercitazioneWhat you learn

Si apprende come usare Azure Machine Learning per formulare previsioni meteo (possibilità di pioggia) usando i dati di temperatura e umidità dell'hub IoT di 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. La probabilità di pioggia è l'output di un modello preparato di previsioni meteo.The chance of rain is the output of a prepared weather prediction model. Il modello usa dati cronologici per prevedere la probabilità di pioggia in base alla temperatura e all'umidità.The model is built upon historic data to forecast chance of rain based on temperature and humidity.

Operazioni da fareWhat you do

  • Distribuire il modello di previsioni meteo come servizio Web.Deploy the weather prediction model as a web service.
  • Preparare l'hub IoT per l'accesso dei dati mediante l'aggiunta di un gruppo di consumer.Get your IoT hub ready for data access by adding a consumer group.
  • Creare un processo di Analisi di flusso e configurarlo per:Create a Stream Analytics job and configure the job to:
    • Leggere i dati di temperatura e umidità dall'hub IoT.Read temperature and humidity data from your IoT hub.
    • Chiamare il servizio Web per definire la probabilità di pioggia.Call the web service to get the rain chance.
    • Salvare il risultato in un'archiviazione BLOB di Azure.Save the result to an Azure blob storage.
  • Usare Microsoft Azure Storage Explorer per visualizzare le previsioni meteo.Use Microsoft Azure Storage Explorer to view the weather forecast.

Elementi necessariWhat you need

  • Completare l'esercitazione Configurare il dispositivo che prevede i requisiti seguenti:Tutorial Setup your device completed which covers the following requirements:
    • Una sottoscrizione di Azure attiva.An active Azure subscription.
    • Un hub IoT di Azure nella sottoscrizione.An Azure IoT hub under your subscription.
    • Un'applicazione client che invia messaggi all'hub IoT di Azure.A client application that sends messages to your Azure IoT hub.
  • Un account di Azure Machine Learning Studio.An Azure Machine Learning Studio account. (Prova gratuita di Machine Learning Studio).(Try Machine Learning Studio for free).

Distribuire il modello di previsioni meteo come servizio WebDeploy the weather prediction model as a web service

  1. Andare alla pagina del modello di previsioni meteo.Go to the weather prediction model page.
  2. Fare clic su Apri in Studio in Microsoft Azure Machine Learning Studio.Click Open in Studio in Microsoft Azure Machine Learning Studio. Aprire la pagina del modello di previsioni meteo in Cortana Intelligence GalleryOpen the weather prediction model page in Cortana Intelligence Gallery
  3. Fare clic su RUN (Esegui) per convalidare i passaggi nel modello.Click Run to validate the steps in the model. Il completamento di questo passaggio può richiedere fino a 2 minuti.This step might take 2 minutes to complete. Aprire il modello di previsioni meteo in Azure Machine Learning StudioOpen the weather prediction model in Azure Machine Learning Studio
  4. Fare clic su SET UP WEB SERVICE (Imposta servizio Web) > Predictive Web Service (Servizio Web predittivo).Click SET UP WEB SERVICE > Predictive Web Service. Distribuire il modello di previsioni meteo in Azure Machine Learning StudioDeploy the weather prediction model in Azure Machine Learning Studio
  5. Nel diagramma trascinare il modulo Web service input (Input servizio Web) accanto al modulo Score Model (Modello di punteggio).In the diagram, drag the Web service input module somewhere near the Score Model module.
  6. Collegare il modulo Web service input (Input servizio Web) al modulo Score Model (Modello di punteggio).Connect the Web service input module to the Score Model module. Collegare due moduli in Azure Machine Learning StudioConnect two modules in Azure Machine Learning Studio
  7. Fare clic su RUN (Esegui) per convalidare i passaggi nel modello.Click RUN to validate the steps in the model.
  8. Fare clic su DEPLOY WEB SERVICE (Distribuisci servizio Web) per distribuire il modello come servizio Web.Click DEPLOY WEB SERVICE to deploy the model as a web service.
  9. Nel dashboard del modello scaricare Excel 2010 or earlier workbook (Cartella di lavoro di Excel 2010 o versioni precedenti) per REQUEST/RESPONSE (Richiesta/risposta).On the dashboard of the model, download the Excel 2010 or earlier workbook for REQUEST/RESPONSE.

    Nota

    Verificare di scaricare la cartella Excel 2010 or earlier workbook anche se nel computer è in esecuzione una versione di Excel successiva.Ensure that you download the Excel 2010 or earlier workbook even if you are running a later version of Excel on your computer.

    Scaricare la cartella di lavoro di Excel per l'endpoint REQUEST/RESPONSE

  10. Aprire la cartella di lavoro di Excel e annotare i valori WEB SERVICE URL (URL servizio Web) e ACCESS KEY (Chiave di accesso).Open the Excel workbook, make a note of the WEB SERVICE URL and ACCESS KEY.

Aggiungere un gruppo di consumer dell'hub IoTAdd a consumer group to your IoT hub

I gruppi di consumer vengono usati dalle applicazioni per eseguire il pull dei dati dall'hub IoT di Azure.Consumer groups are used by applications to pull data from Azure IoT Hub. In questa esercitazione si crea un gruppo di consumer che verrà usato da un prossimo servizio di Azure per leggere i dati dall'hub IoT.In this tutorial, you create a consumer group to be used by a coming Azure service to read data from your IoT hub.

Per aggiungere un gruppo di consumer all'hub IoT, seguire questa procedura:To add a consumer group to your IoT hub, follow these steps:

  1. Nel portale di Azure, aprire l'hub IoT.In the Azure portal, open your IoT hub.
  2. Fare clic su Endpoint nel riquadro a sinistra, selezionare Eventi nel riquadro centrale, immettere un nome in Gruppi di consumer nel riquadro a destra, quindi fare clic su Salva.In the left pane, click Endpoints, select Events on the middle pane, enter a name under Consumer groups on the right pane, and then click Save.

    Creare un gruppo di consumer nell'hub IoT

Configurare, configurare ed eseguire un processo di analisi di flussoCreate, configure, and run a Stream Analytics job

Creare un processo di Analisi di flusso.Create a Stream Analytics job

  1. Nel portale di Azure fare clic su Nuovo > Internet delle cose > Processo di Analisi di flusso.In the Azure portal, click New > Internet of Things > Stream Analytics job.
  2. Immettere le seguenti informazioni per il processo.Enter the following information for the job.

    Nome processo: il nome del processo.Job name: The name of the job. Il nome deve essere univoco a livello globale.The name must be globally unique.

    Gruppo di risorse: usare lo stesso gruppo di risorse usato da hub IoT.Resource group: Use the same resource group that your IoT hub uses.

    Percorso: utilizzare lo stesso percorso del gruppo di risorse.Location: Use the same location as your resource group.

    Aggiungi al dashboard: selezionare questa opzione per semplificare l'accesso all'hub IoT dal dashboard.Pin to dashboard: Check this option for easy access to your IoT hub from the dashboard.

    Creare un processo di analisi di flusso in Azure

  3. Fare clic su Crea.Click Create.

Aggiungere un input al processo di analisi di flussoAdd an input to the Stream Analytics job

  1. Aprire il processo di analisi di flusso.Open the Stream Analytics job.
  2. In Topologia processo fare clic su Input.Under Job Topology, click Inputs.
  3. Nel riquadro Input fare clic su Aggiungi, quindi immettere le informazioni seguenti:In the Inputs pane, click Add, and then enter the following information:

    Alias di input: l'alias univoco per l'input.Input alias: The unique alias for the input.

    Origine: selezionare Hub IoT.Source: Select IoT hub.

    Gruppo di consumer: selezionare il gruppo di consumer creato.Consumer group: Select the consumer group you created.

    Aggiungere un input al processo di Analisi di flusso in Azure

  4. Fare clic su Crea.Click Create.

Aggiungere un output al processo di analisi di flussoAdd an output to the Stream Analytics job

  1. In Topologia processo fare clic su Output.Under Job Topology, click Outputs.
  2. Nel riquadro Output fare clic su Aggiungi, quindi immettere le informazioni seguenti:In the Outputs pane, click Add, and then enter the following information:

    Alias di output: l'alias univoco per l'output.Output alias: The unique alias for the output.

    Sink: selezionare Archivio BLOB.Sink: Select Blob Storage.

    Account di archiviazione: l'account per l'archiviazione BLOB.Storage account: The storage account for your blob storage. È possibile usare un account di archiviazione esistente o crearne uno nuovo.You can create a storage account or use an existing one.

    Contenitore: il contenitore in cui viene salvato l'archivio BLOB.Container: The container where the blob is saved. È possibile usare un contenitore esistente o crearne uno nuovo.You can create a container or use an existing one.

    Formato di serializzazione eventi: selezionare CSV.Event serialization format: Select CSV.

    Aggiungere un output al processo di Analisi di flusso in Azure

  3. Fare clic su Crea.Click Create.

Aggiungere una funzione al processo di Analisi di flusso per chiamare il servizio Web che è stato distribuitoAdd a function to the Stream Analytics job to call the web service you deployed

  1. In Topologia processo fare clic su Funzioni > Aggiungi.Under Job Topology, click Functions > Add.
  2. Immettere le seguenti informazioni:Enter the following information:

    Alias della funzione: immettere machinelearning.Function Alias: Enter machinelearning.

    Tipo funzione: selezionare Azure ML.Function Type: Select Azure ML.

    Opzione di importazione: selezionare Importa da un'altra sottoscrizione.Import option: Select Import from a different subscription.

    URL: immettere l'URL del servizio Web annotato dalla cartella di lavoro di Excel.URL: Enter the WEB SERVICE URL that you noted down from the Excel workbook.

    Chiave: immettere la chiave di accesso annotata in precedenza dalla cartella di lavoro di Excel.Key: Enter the ACCESS KEY that you noted down from the Excel workbook.

    Aggiungere una funzione al processo di Analisi di flusso in Azure

  3. Fare clic su Crea.Click Create.

Configurare la query del processo di analisi di flussoConfigure the query of the Stream Analytics job

  1. In Topologia processo fare clic su Query.Under Job Topology, click Query.
  2. Sostituire il codice esistente con il seguente: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
    

    Sostituire [YourInputAlias] con l'alias di input del processo.Replace [YourInputAlias] with the input alias of the job.

    Sostituire [YourOutputAlias] con l'alias di output del processo.Replace [YourOutputAlias] with the output alias of the job.

  3. Fare clic su Salva.Click Save.

Eseguire il processo di Analisi di flussoRun the Stream Analytics job

Nel processo di analisi di flusso, Avvia > Ora > Avvia.In the Stream Analytics job, click Start > Now > Start. Dopo aver avviato correttamente il processo, lo stato del processo passa da Interrotto a In esecuzione.Once the job successfully starts, the job status changes from Stopped to Running.

Eseguire il processo di Analisi di flusso

Usare Microsoft Azure Storage Explorer per visualizzare le previsioni meteoUse Microsoft Azure Storage Explorer to view the weather forecast

Eseguire l'applicazione client per avviare la raccolta e l'invio dei dati di temperatura e umidità all'hub IoT.Run the client application to start collecting and sending temperature and humidity data to your IoT hub. Ogni volta che l'hub IoT riceve un messaggio il processo di Analisi di flusso chiama il servizio Web di previsioni meteo per elaborare la probabilità di pioggia.For each message that your IoT hub receives, the Stream Analytics job calls the weather forecast web service to produce the chance of rain. Il risultato viene quindi salvato nell'archiviazione BLOB di Azure.The result is then saved to your Azure blob storage. Azure Storage Explorer è uno strumento che consente di visualizzare il risultato.Azure Storage Explorer is a tool that you can use to view the result.

  1. Scaricare e installare Microsoft Azure Storage Explorer.Download and install Microsoft Azure Storage Explorer.
  2. Aprire Azure Storage Explorer.Open Azure Storage Explorer.
  3. Accedere all'account Azure.Sign in to your Azure account.
  4. Selezionare la propria sottoscrizione.Select your subscription.
  5. Fare clic sulla sottoscrizione in uso > Account di archiviazione > account di archiviazione in uso > contenitori BLOB > contenitore BLOB in uso.Click your subscription > Storage Accounts > your storage account > Blob Containers > your container.
  6. Aprire il file con estensione csv per visualizzare il risultato.Open a .csv file to see the result. L'ultima colonna registra la probabilità di pioggia.The last column records the chance of rain.

    Ottenere i risultati delle previsioni meteo con Azure Machine Learning

RiepilogoSummary

Azure Machine Learning è stato usato per stimare la probabilità di pioggia in base ai dati di temperatura e umidità ricevuti dall'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.

Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare altri scenari IoT, vedere:To continue to get started with Azure IoT Hub and to explore other IoT scenarios, see the following: