Previsioni meteo usando i dati sensore dell'hub IoT in Azure Machine Learning

Diagramma end-to-end

Nota

Prima di iniziare questa esercitazione, configurare il dispositivo. In questo articolo si configureranno il dispositivo e l'hub IoT di Azure e si distribuirà un'applicazione di esempio da eseguire nel dispositivo. L'applicazione invia i dati del sensore raccolti all'hub IoT.

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. Azure Machine Learning è un servizio di analisi predittiva basato sul cloud che consente di creare e distribuire rapidamente modelli predittivi come soluzioni di analisi.

Contenuto dell'esercitazione

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. La probabilità di pioggia è l'output di un modello preparato di previsioni meteo. Il modello usa dati cronologici per prevedere la probabilità di pioggia in base alla temperatura e all'umidità.

Operazioni da fare

  • Distribuire il modello di previsioni meteo come servizio Web.
  • Preparare l'hub IoT per l'accesso dei dati mediante l'aggiunta di un gruppo di consumer.
  • Creare un processo di Analisi di flusso e configurarlo per:
    • Leggere i dati di temperatura e umidità dall'hub IoT.
    • Chiamare il servizio Web per definire la probabilità di pioggia.
    • Salvare il risultato in un'archiviazione BLOB di Azure.
  • Usare Microsoft Azure Storage Explorer per visualizzare le previsioni meteo.

Elementi necessari

Distribuire il modello di previsioni meteo come servizio Web

  1. Andare alla pagina del modello di previsioni meteo.
  2. Fare clic su Open in Studio (Apri in Studio) in Microsoft Azure Machine Learning Studio. Aprire la pagina del modello di previsioni meteo in Cortana Intelligence Gallery
  3. Fare clic su RUN (Esegui) per convalidare i passaggi nel modello. Il completamento di questo passaggio può richiedere fino a 2 minuti. Aprire il modello di previsioni meteo in Azure Machine Learning Studio
  4. Fare clic su SET UP WEB SERVICE (Imposta servizio Web) > Predictive Web Service (Servizio Web predittivo). Distribuire il modello di previsioni meteo 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).
  6. Collegare il modulo Web service input (Input servizio Web) al modulo Score Model (Modello di punteggio). Collegare due moduli in Azure Machine Learning Studio
  7. Fare clic su RUN (Esegui) per convalidare i passaggi nel modello.
  8. Fare clic su DEPLOY WEB SERVICE (Distribuisci servizio Web) per distribuire il modello come servizio Web.
  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).

    Nota

    Verificare di scaricare la cartella Excel 2010 or earlier workbook anche se nel computer è in esecuzione una versione di Excel successiva.

    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).

Aggiungere un gruppo di consumer dell'hub IoT

I gruppi di consumer vengono usati dalle applicazioni per eseguire il pull dei dati dall'hub IoT di Azure. 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.

Per aggiungere un gruppo di consumer all'hub IoT, seguire questa procedura:

  1. Nel portale di Azure, aprire l'hub IoT.
  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.

    Creare un gruppo di consumer nell'hub IoT

Configurare, configurare ed eseguire un processo di analisi di flusso

Creare un processo di Analisi di flusso.

  1. Nel portale di Azure, fare clic su Nuovo > Internet delle cose > Processo di Analisi di flusso.
  2. Immettere le seguenti informazioni per il processo.

    Nome processo: il nome del processo. Il nome deve essere univoco a livello globale.

    Gruppo di risorse: usare lo stesso gruppo di risorse usato da hub IoT.

    Percorso: utilizzare lo stesso percorso del gruppo di risorse.

    Aggiungi al dashboard: selezionare questa opzione per semplificare l'accesso all'hub IoT dal dashboard.

    Creare un processo di analisi di flusso in Azure

  3. Fare clic su Crea.

Aggiungere un input al processo di analisi di flusso

  1. Aprire il processo di analisi di flusso.
  2. In Topologia processo fare clic su Input.
  3. Nel riquadro Input fare clic su Aggiungi, quindi immettere le informazioni seguenti:

    Alias di input: l'alias univoco per l'input.

    Origine: selezionare Hub IoT.

    Gruppo di consumer: selezionare il gruppo di consumer creato.

    Aggiungere un input al processo di Analisi di flusso in Azure

  4. Fare clic su Crea.

Aggiungere un output al processo di analisi di flusso

  1. In Topologia processo fare clic su Output.
  2. Nel riquadro Output fare clic su Aggiungi, quindi immettere le informazioni seguenti:

    Alias di output: l'alias univoco per l'output.

    Sink: selezionare Archivio BLOB.

    Account di archiviazione: l'account per l'archiviazione BLOB. È possibile usare un account di archiviazione esistente o crearne uno nuovo.

    Contenitore: il contenitore in cui viene salvato l'archivio BLOB. È possibile usare un contenitore esistente o crearne uno nuovo.

    Formato di serializzazione eventi: selezionare CSV.

    Aggiungere un output al processo di Analisi di flusso in Azure

  3. Fare clic su Crea.

Aggiungere una funzione al processo di Analisi di flusso per chiamare il servizio Web che è stato distribuito

  1. In Topologia processo fare clic su Funzioni > Aggiungi.
  2. Immettere le seguenti informazioni:

    Alias della funzione: immettere machinelearning.

    Tipo funzione: selezionare Azure ML.

    Opzione di importazione: selezionare Importa da un'altra sottoscrizione.

    URL: immettere l'URL del servizio Web annotato dalla cartella di lavoro di Excel.

    Chiave: immettere la chiave di accesso annotata in precedenza dalla cartella di lavoro di Excel.

    Aggiungere una funzione al processo di Analisi di flusso in Azure

  3. Fare clic su Crea.

Configurare la query del processo di analisi di flusso

  1. In Topologia processo fare clic su Query.
  2. Sostituire il codice esistente con il seguente:

    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.

    Sostituire [YourOutputAlias] con l'alias di output del processo.

  3. Fare clic su Salva.

Eseguire il processo di Analisi di flusso

Nel processo di analisi di flusso, Avvia > Ora > Avvia. Dopo aver avviato correttamente il processo, lo stato del processo passa da Interrotto a In esecuzione.

Eseguire il processo di Analisi di flusso

Usare Microsoft Azure Storage Explorer per visualizzare le previsioni meteo

Eseguire l'applicazione client per avviare la raccolta e l'invio dei dati di temperatura e umidità all'hub IoT. 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. Il risultato viene quindi salvato nell'archiviazione BLOB di Azure. Azure Storage Explorer è uno strumento che consente di visualizzare il risultato.

  1. Scaricare e installare Microsoft Azure Storage Explorer.
  2. Aprire Azure Storage Explorer.
  3. Accedere all'account Azure.
  4. Selezionare la propria sottoscrizione.
  5. Fare clic sulla sottoscrizione di Azure > Account di archiviazione > account di archiviazione in uso > contenitori BLOB > contenitore BLOB in uso.
  6. Aprire il file .csv per visualizzare il risultato. L'ultima colonna registra la probabilità di pioggia.

    Ottenere i risultati delle previsioni meteo con Azure Machine Learning

Riepilogo

Azure Machine Learning è stato usato per stimare la probabilità di pioggia in base ai dati di umidità e temperatura ricevuti dall'hub IoT.

Per altre informazioni sulle attività iniziali con l'hub IoT di Azure e per esplorare altri scenari IoT, vedere: