Condividi tramite


Esercitazione: Esportare dati da Azure IoT Central e visualizzare informazioni dettagliate in Power BI

Nelle due esercitazioni precedenti è stata creata e personalizzata un'applicazione IoT Central usando il modello di applicazione Analisi punti vendita - Pagamento. In questa esercitazione si configurerà l'applicazione IoT Central per esportare i dati di telemetria raccolti dai dispositivi. Quindi con Power BI si creerà un dashboard personalizzato per la gestione del negozio per visualizzare le informazioni dettagliate derivate dai dati di telemetria.

In questa esercitazione apprenderai a:

  • Configurare un'applicazione IoT Central per esportare i dati di telemetria in un hub eventi.
  • Usare le app per la logica per inviare dati da un hub eventi a un set di dati di streaming Power BI.
  • Creare un dashboard Power BI per visualizzare i dati nel set di dati di streaming.

Prerequisiti

Per completare questa esercitazione è necessario:

Creare un gruppo di risorse

Prima di creare l'hub eventi e l'app per la logica, è necessario creare un gruppo di risorse per gestirli. Il gruppo di risorse deve trovarsi nella stessa posizione dell'applicazione Analisi punti vendita - Pagamento di IoT Central. Per creare un gruppo di risorse:

  1. Accedere al portale di Azure.
  2. Nel riquadro di spostamento a sinistra selezionare Gruppi di risorse. Selezionare Aggiungi.
  3. Per Sottoscrizione selezionare il nome della sottoscrizione di Azure usata per creare l'applicazione IoT Central.
  4. Per Nome gruppo di risorse immettere retail-store-analysis.
  5. Per Regione selezionare la stessa regione scelta per l'applicazione IoT Central.
  6. Selezionare Rivedi e crea.
  7. Nel riquadro Rivedi e crea selezionare Crea.

A questo punto è disponibile un gruppo di risorse denominato retail-store-analysis nella sottoscrizione.

Creare un hub eventi

Prima di poter configurare l'applicazione per il monitoraggio delle vendite al dettaglio per esportare i dati di telemetria, è necessario creare un hub eventi per ricevere i dati esportati. I passaggi seguenti mostrano come creare un hub eventi:

  1. Nel portale di Azure selezionare Crea una risorsa nella parte superiore sinistra della schermata.
  2. In Cerca nel Marketplace immettere Hub eventi, quindi premere INVIO.
  3. Nella pagina Hub eventi selezionare Crea.
  4. Nella pagina Crea spazio dei nomi seguire questa procedura:
    • Immettere un nome univoco per lo spazio dei nomi, ad esempio yourname-retail-store-analysis. Verrà eseguito un controllo sulla disponibilità del nome.
    • Scegliere il piano tariffario Basic.
    • Selezionare la stessa Sottoscrizione usata per creare l'applicazione IoT Central.
    • Selezionare il gruppo di risorse retail-store-analysis.
    • Selezionare la stessa posizione usata per l'applicazione IoT Central.
    • Seleziona Crea. Per il provisioning delle risorse da parte del sistema, potrebbero essere necessari alcuni minuti.
  5. Nel portale passare al gruppo di risorse retail-store-analysis. Attendere il completamento della distribuzione. Potrebbe essere necessario selezionare Aggiorna per aggiornare lo stato della distribuzione. È anche possibile controllare lo stato della creazione dello spazio dei nomi dell'hub eventi alla voce Notifiche.
  6. Nel gruppo di risorse retail-store-analysis selezionare Spazio dei nomi Hub eventi. Nel portale verrà visualizzata la home page per lo Spazio dei nomi Hub eventi.

È necessario un stringa di connessione con autorizzazioni di invio per la connessione da IoT Central. Per creare un stringa di connessione:

  1. Nello spazio dei nomi di Hub eventi nella portale di Azure selezionare Criteri di accesso condiviso. L'elenco dei criteri include il criterio RootManageSharedAccessKey predefinito.
  2. Seleziona + Aggiungi.
  3. Immettere SendPolicy come nome del criterio, selezionare Invia e quindi crea.
  4. Selezionare SendPolicy nell'elenco dei criteri.
  5. Prendere nota del valore della chiave primaria della stringa di Connessione ion. Viene usato quando si configura la destinazione di esportazione in IoT Central.

È necessario un stringa di connessione con autorizzazioni di gestione e ascolto per connettersi all'hub eventi dall'app per la logica. Per recuperare un stringa di connessione:

  1. Nello spazio dei nomi di Hub eventi nella portale di Azure selezionare Criteri di accesso condiviso. L'elenco dei criteri include il criterio RootManageSharedAccessKey predefinito.
  2. Selezionare RootManageSharedAccessKey nell'elenco dei criteri.
  3. Prendere nota del valore della chiave primaria della stringa di Connessione ion. Viene usato quando si configura l'app per la logica per recuperare i dati di telemetria dall'hub eventi.

A questo punto è disponibile uno spazio dei nomi di Hub eventi, è possibile creare un hub eventi da usare con l'applicazione IoT Central:

  1. Sulla home page dello Spazio dei nomi Hub eventi nel portale, selezionare + Hub eventi.
  2. Nella pagina Crea hub eventi, immettere store-telemetry come nome e quindi selezionare Crea.

È ora disponibile un hub eventi che è possibile usare quando si configura l'esportazione dei dati dall'applicazione IoT Central:

Screenshot che mostra lo spazio dei nomi dell'hub eventi nel portale di Azure.

Configurare l'esportazione dati

A questo punto si dispone di un hub eventi ed è possibile configurare l'applicazione Analisi punti vendita - Pagamento per esportare i dati di telemetria dai dispositivi connessi. I passaggi seguenti spiegano come configurare l'esportazione:

  1. Accedere all'applicazione Analisi punti vendita - Pagamento di IoT Central.
  2. Selezionare Data export (Esportazione dati) nel riquadro a sinistra.
  3. Selezionare + Nuova esportazione.
  4. Immettere Esportazione dati di telemetria come nome di esportazione.
  5. Selezionare Telemetry (Telemetria ) come tipo di dati da esportare.
  6. Nella sezione Destinazioni selezionare Crearne uno nuovo.
  7. Immettere Store data event hub (Archivia hub eventi dati) come Nome destinazione.
  8. Selezionare Hub eventi di Azure come tipo di destinazione.
  9. Selezionare Connessione ion string come tipo di autorizzazione.
  10. Incollare il stringa di connessione per SendPolicy salvato quando si crea l'hub eventi.
  11. Immettere store-telemetry come Hub eventi.
  12. Selezionare Crea e quindi Salva.
  13. Nella pagina Esportazione dati di telemetria attendere che lo stato dell'esportazione cambi in Integro.

L'esportazione dei dati potrebbe richiedere alcuni minuti prima di iniziare a inviare dati di telemetria all'hub eventi. È possibile visualizzare lo stato dell'esportazione nella pagina Esportazioni di dati.

Creare i set di dati Power BI

Il dashboard di Power BI visualizza i dati dell'applicazione di monitoraggio delle vendite al dettaglio. In questa soluzione si usano i set di dati di streaming Power BI come origine dati per il dashboard di Power BI. In questa sezione si definisce lo schema dei set di dati di streaming in modo che l'app per la logica possa inviare i dati dall'hub eventi. I passaggi seguenti illustrano come creare due set di dati di streaming per i sensori ambientali e un set di dati di streaming per il sensore di occupazione:

  1. Accedere all'account Power BI.

  2. Selezionare Aree di lavoroe quindi Crea un'area di lavoro.

  3. Nella pagina Crea un'area di lavoro, immettere Analisi punti vendita - Pagamento come Nome area di lavoro. Seleziona Salva.

  4. Nella pagina dell'area di lavoro selezionare + Nuovo > set di dati di streaming.

  5. Nella pagina Nuovo set di dati di streaming scegliere API e quindi selezionare Avanti.

  6. Immettere Sensore Zona 1 come Nome set di dati.

  7. Immettere i tre Valori dal flusso nella tabella seguente:

    Nome valore Tipo valore
    Timestamp: Data/Ora
    Umidità Numero
    Temperatura Numero
  8. Attivare Analisi dati cronologici.

  9. Selezionare Crea e quindi Chiudi.

  10. Creare un altro set di dati di streaming denominato Sensore Zona 2 con lo stesso schema e le stesse impostazioni del set di dati di streaming Sensore Zona 1.

Si dispone ora di due set di dati di streaming. L'app per la logica instrada i dati di telemetria dai due sensori ambientali connessi all'analisi in-store: eseguire il checkout dell'applicazione a questi due set di dati:

Screenshot che mostra la definizione del set di dati di un sensore di zona in Power BI.

Questa soluzione usa un set di dati di streaming per ogni sensore dato che non è possibile applicare filtri ai dati di streaming in Power BI.

È anche necessario un set di dati di streaming per i dati di telemetria dell'occupazione:

  1. Nella pagina dell'area di lavoro selezionare Crea > set di dati di streaming.

  2. Nella pagina Nuovo set di dati di streaming scegliere API e quindi selezionare Avanti.

  3. Immettere Sensore di occupazione come Nome set di dati.

  4. Immettere i cinque Valori dal flusso nella tabella seguente:

    Nome valore Tipo valore
    Timestamp: Data/Ora
    Lunghezza coda 1 Numero
    Lunghezza coda 2 Numero
    Tempo di attesa 1 Numero
    Tempo di attesa 2 Numero
  5. Attivare Analisi dati cronologici.

  6. Selezionare Crea e quindi Chiudi.

È ora disponibile un terzo set di dati di streaming che archivia i valori dal sensore di occupazione simulato. Questo sensore segnala la lunghezza della coda alle due transazioni nel negozio e il tempo di attesa dei clienti in coda:

Screenshot che mostra la definizione del set di dati di occupazione in Power BI.

Creare un'app per la logica

In questa soluzione l'app per la logica legge i dati di telemetria dall'hub eventi, analizza i dati e li invia ai set di dati di streaming Power BI creati.

Per poter creare l'app per la logica sono necessari gli ID dispositivo dei due sensori RuuviTag connessi all'applicazione IoT Central nell'esercitazione Creare un'applicazione di analisi punto vendita in Azure IoT Central:

  1. Accedere all'applicazione Analisi punti vendita - Pagamento di IoT Central.
  2. Selezionare Dispositivi nel riquadro a sinistra. Selezionare quindi RuuviTag.
  3. Prendere nota dei valori ID dei dispositivi. Nello screenshot seguente gli ID sono 8r6vfyiv1x e 1rvfk4ymk6z:

Screenshot che mostra gli ID dispositivo nell'elenco dei dispositivi in un'applicazione IoT Central.

La procedura seguente illustra come creare l'app per la logica nel portale di Azure:

  1. Accedere al portale di Azure e selezionare Crea una risorsa nella parte superiore sinistra della schermata.
  2. In Cerca nel Marketplace, immettere App per la logica e quindi premere INVIO.
  3. Nella pagina App per la logica, seleziona Crea.
  4. Nella pagina Crea :
    • Immettere un nome univoco per l'app per la logica, ad esempio yourname-retail-store-analysis.
    • Selezionare la stessa Sottoscrizione usata per creare l'applicazione IoT Central.
    • Selezionare il gruppo di risorse retail-store-analysis.
    • Selezionare Il tipo come Consumo.
    • Selezionare la stessa posizione usata per l'applicazione IoT Central.
    • Seleziona Crea. Per il provisioning delle risorse da parte del sistema, potrebbero essere necessari alcuni minuti.
  5. Nel portale di Azure passare alla nuova app per la logica.
  6. Nella pagina Progettazione app per la logica scorrere verso il basso e selezionare App per la logica vuota.
  7. In Cerca connettori e trigger, immettere Hub eventi.
  8. In Trigger selezionare Quando sono disponibili eventi nell'hub eventi.
  9. Immettere Store telemetry (Archivia dati di telemetria) come nome Connessione ion.
  10. Selezionare Chiave di accesso come tipo di autenticazione.
  11. Incollare il stringa di connessione dell'hub eventi per il criterio RootManageSharedAccessKey annotato in precedenza e selezionare Crea.
  12. Nell'azione Quando gli eventi sono disponibili nell'hub eventi:
    • In Nome Hub eventi selezionare store-telemetry.
    • In Tipo contenutoselezionare application/json.
    • Impostare l'intervallo su tre e la frequenza in secondi
  13. Selezionare Salva per salvare l'app per la logica.

Per aggiungere la logica alla progettazione dell'app per la logica, selezionare Visualizzazione codice:

  1. Sostituire "actions": {}, con il JSON seguente. Sostituire quindi i due segnaposto [YOUR RUUVITAG DEVICE ID 1] e [YOUR RUUVITAG DEVICE ID 2] con gli ID dei due dispositivi RuuviTag. In precedenza sono stati annoti questi ID:

    "actions": {
        "Initialize_Device_ID_variable": {
            "inputs": {
                "variables": [
                    {
                        "name": "DeviceID",
                        "type": "String"
                    }
                ]
            },
            "runAfter": {},
            "type": "InitializeVariable"
        },
        "Parse_Telemetry": {
            "inputs": {
                "content": "@triggerBody()?['ContentData']",
                "schema": {
                    "properties": {
                        "deviceId": {
                            "type": "string"
                        },
                        "enqueuedTime": {
                            "type": "string"
                        },
                        "telemetry": {
                            "properties": {
                                "DwellTime1": {
                                    "type": "number"
                                },
                                "DwellTime2": {
                                    "type": "number"
                                },
                                "count1": {
                                    "type": "integer"
                                },
                                "count2": {
                                    "type": "integer"
                                },
                                "humidity": {
                                    "type": "number"
                                },
                                "temperature": {
                                    "type": "number"
                                }
                            },
                            "type": "object"
                        },
                        "templateId": {
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            },
            "runAfter": {
                "Initialize_Device_ID_variable": [
                    "Succeeded"
                ]
            },
            "type": "ParseJson"
        },
        "Set_Device_ID_variable": {
            "inputs": {
                "name": "DeviceID",
                "value": "@body('Parse_Telemetry')?['deviceId']"
            },
            "runAfter": {
                "Parse_Telemetry": [
                    "Succeeded"
                ]
            },
            "type": "SetVariable"
        },
        "Switch_by_DeviceID": {
            "cases": {
                "Occupancy": {
                    "actions": {},
                    "case": "Occupancy"
                },
                "Zone 2 environment": {
                    "actions": {},
                    "case": "[YOUR RUUVITAG DEVICE ID 2]"
                },
                "Zone_1_environment": {
                    "actions": {},
                    "case": "[YOUR RUUVITAG DEVICE ID 1]"
                }
            },
            "default": {
                "actions": {}
            },
            "expression": "@variables('DeviceID')",
            "runAfter": {
                "Set_Device_ID_variable": [
                    "Succeeded"
                ]
            },
            "type": "Switch"
        }
    },
    
  2. Selezionare Salva e quindi Finestra di progettazione per mostrare la versione visiva della logica aggiunta:

    Screenshot di Progettazione app per la logica nel portale di Azure con l'app per la logica iniziale.

  3. Selezionare Passa a ID dispositivo per espandere l'azione. Selezionare quindi Ambiente Zona 1 e Aggiungi un'azione.

  4. In Cerca connettori e azioni immettere Aggiungi righe a un set di dati.

  5. Selezionare l'azione Aggiungi righe a un set di dati di Power BI.

  6. Selezionare Accedi e seguire le istruzioni per accedere all'account Power BI.

  7. Al termine del processo di accesso, nell'azione Aggiungi righe a un set di dati:

    • Selezionare Analisi punti vendita - Pagamento come area di lavoro.
    • Selezionare Sensore Zona 1 come set di dati.
    • Selezionare RealTimeData come tabella.
    • Selezionare Aggiungi nuovo parametro e quindi i campi Timestamp, Umidità e Temperatura.
    • Selezionare il campo Timestamp e quindi selezionare enqueuedTime nell'elenco Contenuto dinamico.
    • Selezionare il campo Umidità e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Umidità.
    • Selezionare il campo Temperatura e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Temperatura.

    Seleziona Salva per salvare le modifiche. L'azione Ambiente Zona 1 è simile alla schermata seguente:

    Screenshot che mostra l'azione zona un ambiente in Progettazione app per la logica.

  8. Selezionare quindi l'azione Ambiente Zona 2 e Aggiungi un'azione.

  9. In Cerca connettori e azioni immettere Aggiungi righe a un set di dati.

  10. Selezionare l'azione Aggiungi righe a un set di dati di Power BI.

  11. Nell'azione Aggiungi righe a un set di dati 2:

    • Selezionare Analisi punti vendita - Pagamento come area di lavoro.
    • Selezionare Sensore Zona 2 come set di dati.
    • Selezionare RealTimeData come tabella.
    • Selezionare Aggiungi nuovo parametro e quindi i campi Timestamp, Umidità e Temperatura.
    • Selezionare il campo Timestamp e quindi selezionare enqueuedTime nell'elenco Contenuto dinamico.
    • Selezionare il campo Umidità e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Umidità.
    • Selezionare il campo Temperatura e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Temperatura.

    Seleziona Salva per salvare le modifiche.

  12. Selezionare l'azione Occupancy e selezionare Aggiungi un'azione.

  13. In Cerca connettori e azioni immettere Aggiungi righe a un set di dati.

  14. Selezionare l'azione Aggiungi righe a un set di dati di Power BI.

  15. Nell'azione Aggiungi righe a un set di dati 3 :

    • Selezionare Analisi punti vendita - Pagamento come area di lavoro.
    • Selezionare Sensore di occupazione come set di dati.
    • Selezionare RealTimeData come tabella.
    • Selezionare Aggiungi nuovo parametro e quindi selezionare i campi Timestamp, Lunghezza coda 1, Lunghezza coda 2, Tempo di attesa 1 e Tempo di attesa 2 .
    • Selezionare il campo Timestamp e quindi selezionare enqueuedTime nell'elenco Contenuto dinamico.
    • Selezionare il campo Lunghezza coda 1 e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Selezionare quindi count1.
    • Selezionare il campo Lunghezza coda 2 e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Selezionare quindi count2.
    • Selezionare il campo Tempo di attesa 1 e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Tempo di attesa 1.
    • Selezionare il campo Tempo di attesa 2 e quindi Mostra dettagli accanto ad Analizza dati di telemetria. Quindi selezionare Tempo di attesa 2.

    Seleziona Salva per salvare le modifiche. L'azione Occupancy è simile alla schermata seguente:

    Screenshot che mostra l'azione di occupazione in Progettazione app per la logica.

L'app per la logica viene eseguita automaticamente. Per visualizzare lo stato di ogni esecuzione, passare alla pagina Panoramica per l'app per la logica nella portale di Azure e selezionare Cronologia esecuzioni. Selezionare Aggiorna per aggiornare l'elenco delle esecuzioni.

Creare un nuovo dashboard di Power BI

A questo punto i dati di telemetria passano dall'applicazione IoT Central tramite l'hub eventi. L'app per la logica analizza quindi i messaggi dell'hub eventi e li aggiunge a un set di dati di streaming Power BI. A questo punto, è possibile creare un dashboard Power BI per visualizzare i dati di telemetria:

  1. Accedere all'account Power BI.
  2. Selezionare Aree di lavoro > Analisi punti vendita - Checkout.
  3. Selezionare + Nuovo > dashboard.
  4. Immettere Analisi punti vendita come nome del dashboard e selezionare Crea.

Aggiungere grafici a linee

Aggiungere quattro riquadri nel grafico a linee per mostrare la temperatura e l'umidità dei due sensori ambientali. Usare le informazioni nella tabella seguente per creare i riquadri. Per aggiungere ogni riquadro, selezionare Modifica > Aggiungi riquadro. Selezionare quindi Dati in streaming personalizzati e Avanti:

Impostazione Grafico #1 Grafico #2 Grafico #3 Grafico #4
Set di dati Sensore Zona 1 Sensore Zona 1 Sensore Zona 2 Sensore Zona 2
Tipo di visualizzazione Grafico a linee Grafico a linee Grafico a linee Grafico a linee
Asse Timestamp: Timestamp: Timestamp: Timestamp:
Valori Temperatura Umidità Temperatura Umidità
Intervallo di tempo 60 minuti 60 minuti 60 minuti 60 minuti
Title Temperatura (1 ora) Umidità (1 ora) Temperatura (1 ora) Umidità (1 ora)
Sottotitolo Zona 1 Zona 1 Zona 2 Zona 2

La schermata seguente mostra le impostazioni del primo grafico:

Screenshot che mostra la definizione del grafico a linee nel dashboard di Power BI.

Aggiungere le schede per visualizzare i dati ambientali

Aggiungere quattro riquadri alla scheda per mostrare i valori di temperatura e umidità più recenti dai due sensori ambientali. Usare le informazioni nella tabella seguente per creare i riquadri. Per aggiungere ogni riquadro, selezionare Modifica > Aggiungi riquadro. Selezionare quindi Dati in streaming personalizzati e Avanti:

Impostazione Scheda #1 Scheda #2 Scheda #3 Scheda #4
Set di dati Sensore Zona 1 Sensore Zona 1 Sensore Zona 2 Sensore Zona 2
Tipo di visualizzazione Scheda Scheda Scheda Scheda
Campi Temperatura Umidità Temperatura Umidità
Title Temperatura (F) Umidità (%) Temperatura (F) Umidità (%)
Sottotitolo Zona 1 Zona 1 Zona 2 Zona 2

La schermata seguente mostra le impostazioni della prima scheda:

Screenshot che mostra la definizione della scheda nel dashboard di Power BI.tings.

Aggiungere i riquadri per visualizzare i dati di occupazione di estrazione

Aggiungere quattro riquadri alla scheda per mostrare la lunghezza della coda e il tempo di attesa per le due estrazioni presenti nell'archivio. Usare le informazioni nella tabella seguente per creare i riquadri. Per aggiungere ogni riquadro, selezionare Modifica > Aggiungi riquadro. Selezionare quindi Dati in streaming personalizzati e Avanti:

Impostazione Scheda #1 Scheda #2 Scheda #3 Scheda #4
Set di dati Sensore di occupazione Sensore di occupazione Sensore di occupazione Sensore di occupazione
Tipo di visualizzazione Istogramma a colonne raggruppate Istogramma a colonne raggruppate Misuratore Misuratore
Asse Timestamp: Timestamp: N/D N/D
Valore Tempo di attesa 1 Tempo di attesa 2 Lunghezza coda 1 Lunghezza coda 2
Intervallo di tempo 60 minuti 60 minuti N/D N/D
Title Tempo di attesa Tempo di attesa Lunghezza coda Lunghezza coda
Sottotitolo Completamento della transazione 1 Completamento della transazione 2 Completamento della transazione 1 Completamento della transazione 2

Ridimensionare e ridisporre i riquadri nel dashboard per ottenere un aspetto simile alla schermata seguente:

Screenshot che mostra il dashboard di Power BI con riquadri ridimensionati e riorganizzato.

È possibile aggiungere alcune risorse grafiche per personalizzare ulteriormente il dashboard:

Screenshot che mostra il dashboard di Power BI con elementi grafici aggiuntivi.

Pulire le risorse

Se l'applicazione IoT Central è stata completata, è possibile eliminarla accedendo all'applicazione e passando alla pagina Gestione nella sezione Applicazione .

Se si vuole mantenere l'applicazione riducendo i costi associati, disabilitare l'esportazione dei dati che invia i dati di telemetria all'hub eventi.

È possibile eliminare l'hub eventi e l'app per la logica nel portale di Azure eliminando il gruppo di risorse denominato retail-store-analysis.

È possibile eliminare il dashboard e i set di dati Power BI eliminando l'area di lavoro dalla pagina Impostazioni di Microsoft Power BI per l'area di lavoro.