Delen via


Zelfstudie: Gegevens exporteren uit Azure IoT Central en inzichten visualiseren in Power BI

In de twee vorige zelfstudies hebt u een IoT Central-toepassing gemaakt en aangepast met behulp van de In-store analytics - checkout-toepassingssjabloon. In deze zelfstudie configureert u uw IoT Central-toepassing om telemetrie te exporteren die van de apparaten is verzameld. Vervolgens gebruikt u Power BI om een aangepast dashboard voor de winkelmanager te maken om de inzichten te visualiseren die zijn afgeleid van de telemetrie.

In deze handleiding leer je hoe je:

  • Configureer een IoT Central-toepassing om telemetrie te exporteren naar een Event Hub.
  • Gebruik Logic Apps om gegevens van een Event Hub te verzenden naar een Power BI-streaminggegevensset.
  • Maak een Power BI-dashboard om gegevens in de streaminggegevensset te visualiseren.

Vereiste voorwaarden

U hebt het volgende nodig om deze zelfstudie te voltooien:

Een brongroep maken

Voordat u uw Event Hub en Logic App maakt, moet u een resourcegroep maken om deze te beheren. De resourcegroep moet zich op dezelfde locatie bevinden als uw In-store analytics - checkout IoT Central-toepassing. Een resourcegroep maken:

  1. Meld u aan bij het Azure-portaal.
  2. Selecteer resourcegroepen in het linkernavigatievenster. Selecteer vervolgens Toevoegen.
  3. Selecteer voor Abonnement de naam van het Azure-abonnement dat u hebt gebruikt om uw IoT Central-toepassing te maken.
  4. Voer voor de naam van de resourcegroepretail-store-analysis in.
  5. Selecteer voor de regio dezelfde regio die u hebt gekozen voor de IoT Central-toepassing.
  6. Selecteer Beoordelen en Creëren.
  7. Selecteer maken op de pagina Controleren en maken.

U hebt nu een resourcegroep met de naam retail-store-analysis in uw abonnement.

Een Event Hub maken

Voordat u de retailbewakingstoepassing kunt configureren om telemetrie te exporteren, moet u een Event Hub maken om de geëxporteerde gegevens te ontvangen. In de volgende stappen ziet u hoe u uw Event Hub maakt:

  1. Selecteer in de Azure portal in de linker bovenhoek van het scherm Create a resource.
  2. Voer in MarketplaceEvent Hubs in en druk op Enter.
  3. Selecteer Maken op de pagina Event Hubs.
  4. Voer op de pagina Naamruimte maken de volgende stappen uit:
    • Voer een unieke naam in voor de naamruimte, zoals yourname-retail-store-analysis. Het systeem controleert of deze naam beschikbaar is.
    • Kies de prijscategorie Basic .
    • Selecteer hetzelfde abonnement dat u hebt gebruikt om uw IoT Central-toepassing te maken.
    • Selecteer de retail-store-analysis resourcegroep.
    • Selecteer dezelfde locatie die u hebt gebruikt voor uw IoT Central-toepassing.
    • Klik op Creëren. Mogelijk moet u enkele minuten wachten totdat het systeem de resources inricht.
  5. Navigeer in de portal naar de resourcegroep retail-store-analysis . Wacht tot de implementatie is voltooid. Mogelijk moet u Vernieuwen selecteren om de implementatiestatus bij te werken. U kunt ook de status controleren van het maken van de Event Hub-naamruimte in de meldingen.
  6. Selecteer in de retail-store-analysis resource group de Event Hubs-naamruimte. U ziet de startpagina voor uw Event Hubs-naamruimte in de portal.

U hebt een verbindingsreeks met verzendmachtigingen nodig om verbinding te maken vanuit IoT Central. Een verbindingsreeks maken:

  1. Selecteer in uw Event Hubs-naamruimte in Azure Portal beleid voor gedeelde toegang. De lijst met beleidsregels bevat het standaardbeleid RootManageSharedAccessKey .
  2. Selecteer + Toevoegen.
  3. Voer SendPolicy in als de beleidsnaam, selecteer Verzenden en selecteer vervolgens Maken.
  4. Selecteer SendPolicy in de lijst met beleidsregels.
  5. Noteer de waarde van de verbindingsreeks-primaire sleutel . U gebruikt deze wanneer u de exportbestemming in IoT Central configureert.

U hebt een verbindingsreeks met beheer- en luistermachtigingen nodig om vanuit uw logische app verbinding te maken met de Event Hub. Een verbindingsreeks ophalen:

  1. Selecteer in uw Event Hubs-naamruimte in Azure Portal beleid voor gedeelde toegang. De lijst met beleidsregels bevat het standaardbeleid RootManageSharedAccessKey .
  2. Selecteer RootManageSharedAccessKey in de lijst met beleidsregels.
  3. Noteer de waarde van de verbindingsreeks-primaire sleutel . U gebruikt deze wanneer u de logische app configureert om telemetrie op te halen uit uw Event Hub.

Nu u een Event Hubs-naamruimte hebt, kunt u een Event Hub maken voor gebruik met uw IoT Central-toepassing:

  1. Selecteer + Event Hub op de startpagina voor uw Event Hubs-naamruimte in de portal.
  2. Voer op de pagina Event Hub makenstore-telemetrie in als naam en selecteer Maken.

U hebt nu een Event Hub die u kunt gebruiken wanneer u gegevensexport vanuit uw IoT Central-toepassing configureert:

Schermopname van de Event Hub-naamruimte in Azure Portal.

Gegevensexport configureren

Nu u een Event Hub hebt, kunt u uw In-store analyse - kassatoepassing configureren om telemetrie van de verbonden apparaten te exporteren. In de volgende stappen ziet u hoe u de export configureert:

  1. Meld u aan bij uw In-store analytics - checkout IoT Central-toepassing.
  2. Selecteer Gegevensexport in het linkerdeelvenster.
  3. Selecteer + Nieuwe export.
  4. Voer Telemetrie-export in als exportnaam.
  5. Selecteer Telemetrie als type gegevens dat u wilt exporteren.
  6. Selecteer in de sectie Bestemmingeneen nieuwe maken.
  7. Voer Store data event hub in als de doelnaam.
  8. Selecteer Azure Event Hubs als het doeltype.
  9. Selecteer De verbindingsreeks als het autorisatietype.
  10. Plak de verbindingsreeks voor de SendPolicy die u hebt opgeslagen bij het maken van de Event Hub.
  11. Voer store-telemetry in als de Event Hub.
  12. Selecteer Maken en vervolgens Opslaan.
  13. Wacht totdat de exportstatus op de pagina Telemetrie-export is gewijzigd in In orde.

Het exporteren van gegevens kan enkele minuten duren voordat telemetrie naar uw Event Hub wordt verzonden. U kunt de status van de export bekijken op de pagina Gegevensexport .

De Power BI-gegevenssets maken

In uw Power BI-dashboard worden gegevens uit uw retailbewakingstoepassing weergegeven. In deze oplossing gebruikt u Power BI-streaminggegevenssets als gegevensbron voor het Power BI-dashboard. In deze sectie definieert u het schema van de streaminggegevenssets, zodat de logische app gegevens kan doorsturen vanuit de Event Hub. In de volgende stappen ziet u hoe u twee streaminggegevenssets maakt voor de omgevingssensoren en één streaminggegevensset voor de bezettingssensor:

  1. Meld u aan bij uw Power BI-account .

  2. Selecteer Werkruimten en selecteer vervolgens Een werkruimte maken.

  3. Op de pagina Een werkruimte maken, voer In-store analytics - checkout in als de naam van de werkruimte. Selecteer Opslaan.

  4. Selecteer + Nieuwe > streaminggegevensset op de werkruimtepagina.

  5. Kies API op de Nieuwe streaming dataset pagina en selecteer vervolgens Volgende.

  6. Voer zone 1-sensor in als de naam van de gegevensset.

  7. Voer de drie waarden uit de stream in de volgende tabel in:

    Waardenaam Waardetype
    Tijdstempel DateTime
    Vochtigheid Number
    Temperatuur Number
  8. Schakel historische gegevensanalyse in.

  9. Selecteer Maken en vervolgens Gereed.

  10. Maak een andere streaminggegevensset met de naam Zone 2-sensor met hetzelfde schema en dezelfde instellingen als de streaminggegevensset zone 1 .

U hebt nu twee streaminggegevenssets. De logische app routeert telemetrie van de twee omgevingssensoren die zijn verbonden met uw in-store analyse: betaaltoepassing naar deze twee gegevenssets:

Schermopname van de definitie van de zone één sensorgegevensset in Power BI.

Deze oplossing maakt gebruik van één streaminggegevensset voor elke sensor, omdat het niet mogelijk is om filters toe te passen op streaminggegevens in Power BI.

U hebt ook een streaminggegevensset nodig voor de bezettingstelemetrie:

  1. Ga op de werkruimtepagina naar Streamingdataset maken>.

  2. Kies API op de Nieuwe streaming dataset pagina en selecteer vervolgens Volgende.

  3. Voer Bezettingssensor in als Gegevenssetnaam.

  4. Voer de vijf waarden uit de stream in de volgende tabel in:

    Waardenaam Waardetype
    Tijdstempel DateTime
    Wachtrijlengte 1 Number
    Wachtrijlengte 2 Number
    Verblijftijd 1 Number
    Verblijfsduur 2 Number
  5. Schakel historische gegevensanalyse in.

  6. Selecteer Maken en vervolgens Gereed.

U hebt nu een derde streaminggegevensset waarin waarden van de gesimuleerde bezettingssensor worden opgeslagen. Deze sensor rapporteert de wachtrijlengte bij de twee kassa's in de winkel en hoe lang klanten wachten in deze wachtrijen:

Schermopname van de definitie van de bezettingsdataset in Power BI.

Een logische app maken

In deze oplossing leest de logische app telemetrie van de Event Hub, parseert de gegevens en verzendt deze vervolgens naar de Power BI-streaminggegevenssets die u hebt gemaakt.

Voordat u de logische app maakt, hebt u de apparaat-id's nodig van de twee RuuviTag-sensoren die u hebt verbonden met uw IoT Central-toepassing in de zelfstudie Een in-Store Analytics-toepassingssjabloon maken en implementeren :

  1. Meld u aan bij uw In-store analytics - checkout IoT Central-toepassing.
  2. Selecteer Apparaten in het linkerdeelvenster. Selecteer vervolgens RuuviTag.
  3. Maak een notitie van de apparaat-ID's. In de volgende schermopname zijn de id's 8r6vfyiv1x en 1rvfk4ymk6z:

Schermopname van de apparaat-id's in de lijst met apparaten in een IoT Central-toepassing.

In de volgende stappen ziet u hoe u de logische app maakt in Azure Portal:

  1. Meld u aan bij de Azure portal en selecteer linksboven in het scherm Een resource maken.
  2. Voer in Zoek de MarketplaceLogic App in en druk op Enter.
  3. Open de Logic App-pagina en selecteer Maken.
  4. Op de pagina Maken :
    • Voer een unieke naam in voor uw logische app, zoals uwnaam-retail-store-analysis.
    • Selecteer hetzelfde abonnement dat u hebt gebruikt om uw IoT Central-toepassing te maken.
    • Selecteer de retail-store-analysis resourcegroep.
    • Selecteer het type als verbruik.
    • Selecteer dezelfde locatie die u hebt gebruikt voor uw IoT Central-toepassing.
    • Klik op Creëren. Mogelijk moet u enkele minuten wachten totdat het systeem de resources inricht.
  5. Navigeer in Azure Portal naar uw nieuwe logische app.
  6. Op de pagina Logic Apps Designer scroll omlaag en selecteer Blanco Logic App.
  7. Voer in Connectors en triggers zoeken, Event Hubs in.
  8. Selecteer in Triggerswanneer gebeurtenissen beschikbaar zijn in Event Hub.
  9. Voer Store-telemetrie in als de naam van de verbinding.
  10. Selecteer De toegangssleutel als verificatietype.
  11. Plak de Event Hub-verbindingsreeks voor het RootManageSharedAccessKey-beleid dat u eerder hebt genoteerd en selecteer Maken.
  12. In de actie Wanneer gebeurtenissen beschikbaar zijn in de actie Event Hub :
    • Selecteer in de naam van De Event Hubde optie Store-telemetrie.
    • Selecteer application/json in inhoudstype.
    • Stel het interval in op drie en de frequentie op seconden
  13. Selecteer Opslaan om uw logische app op te slaan.

Als u de logica wilt toevoegen aan het ontwerp van uw logische app, selecteert u de codeweergave:

  1. Vervang "actions": {}, door de volgende JSON. Vervang vervolgens de twee tijdelijke aanduidingen [YOUR RUUVITAG DEVICE ID 1] en [YOUR RUUVITAG DEVICE ID 2] door de id's van uw twee RuuviTag-apparaten. U hebt eerder een notitie gemaakt van deze id's:

    "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. Selecteer Opslaan en selecteer Vervolgens Designer om de visuele versie van de logica te zien die u hebt toegevoegd:

    Schermopname van Logic Apps Designer in Azure Portal met de eerste logische app.

  3. Selecteer Overschakelen op DeviceID om de actie uit te vouwen. Selecteer vervolgens Zone 1-omgeving en selecteer Een actie toevoegen.

  4. Voer in Zoeken in connectors en acties de tekst Rijen toevoegen aan een gegevensset in.

  5. Selecteer de actie Rijen toevoegen aan een dataset van Power BI.

  6. Selecteer Aanmelden en volg de aanwijzingen om u aan te melden bij uw Power BI-account.

  7. Nadat het aanmeldingsproces is voltooid, voegt u rijen toe aan een gegevenssetactie :

    • Selecteer In-Store Analytics: uitchecken als de werkruimte.
    • Selecteer Zone 1-sensor als de gegevensset.
    • Selecteer RealTimeData als de tabel.
    • Selecteer Nieuwe parameter toevoegen en selecteer vervolgens de velden Tijdstempel, Vochtigheid en Temperatuur .
    • Selecteer het tijdstempelveld en selecteer vervolgens enqueuedTime in de lijst met dynamische inhoud .
    • Selecteer het veld Vochtigheid en selecteer vervolgens Meer weergeven naast Parseren van telemetrie. Selecteer vervolgens vochtigheid.
    • Selecteer het veld Temperatuur en selecteer vervolgens Meer weergeven naast Telemetrie analyseren. Vervolgens selecteer temperatuur.

    Selecteer Opslaan om uw wijzigingen op te slaan. De omgevingsactie Zone 1 ziet er als volgt uit:

    Schermopname van de zone-één omgevingsactie in de Logic Apps Designer.

  8. Selecteer de omgevingsactie Zone 2 en selecteer Een actie toevoegen.

  9. Voer in Zoeken in connectors en acties de tekst Rijen toevoegen aan een gegevensset in.

  10. Selecteer de actie Rijen toevoegen aan een dataset van Power BI.

  11. In de actie Rijen toevoegen aan een gegevensset 2 :

    • Selecteer In-Store Analytics: uitchecken als de werkruimte.
    • Selecteer Zone 2-sensor als de gegevensset.
    • Selecteer RealTimeData als de tabel.
    • Selecteer Nieuwe parameter toevoegen en selecteer vervolgens de velden Tijdstempel, Vochtigheid en Temperatuur .
    • Selecteer het tijdstempelveld en selecteer vervolgens enqueuedTime in de lijst met dynamische inhoud .
    • Selecteer het veld Vochtigheid en selecteer vervolgens Meer weergeven naast Parseren van telemetrie. Selecteer vervolgens vochtigheid.
    • Selecteer het veld Temperatuur en selecteer vervolgens Meer weergeven naast Telemetrie analyseren. Vervolgens selecteer temperatuur.

    Selecteer Opslaan om uw wijzigingen op te slaan.

  12. Selecteer de actie Bezetting en selecteer Een actie toevoegen.

  13. Voer in Zoeken in connectors en acties de tekst Rijen toevoegen aan een gegevensset in.

  14. Selecteer de actie Rijen toevoegen aan een dataset van Power BI.

  15. In de actie Rijen toevoegen aan een gegevensset 3:

    • Selecteer In-Store Analytics: uitchecken als de werkruimte.
    • Kies Bezettingssensor als de gegevensset.
    • Selecteer RealTimeData als de tabel.
    • Selecteer Nieuwe parameter toevoegen en selecteer vervolgens de velden Timestamp, Queue Length 1, Queue Length 2, Dwell Time 1 en Dwell Time 2 .
    • Selecteer het tijdstempelveld en selecteer vervolgens enqueuedTime in de lijst met dynamische inhoud .
    • Selecteer het veld Wachtrijlengte 1 en kies vervolgens 'Meer weergeven' naast Telemetrie verwerken. Selecteer vervolgens count1.
    • Selecteer het veld Wachtrijlengte 2 en klik vervolgens op Meer weergeven naastParseren telemetrie. Selecteer daarna count2.
    • Selecteer het veld Dwell Time 1 en selecteer vervolgens Meer weergeven naast Parse Telemetry. Selecteer Vervolgens DwellTime1.
    • Selecteer het veld Dwell Time 2 en selecteer vervolgens Meer weergeven naast Parseren van telemetrie. Selecteer Vervolgens DwellTime2.

    Selecteer Opslaan om uw wijzigingen op te slaan. De actie Bezetting ziet er als volgt uit:

    Schermopname van de bezettingsactie in Logic Apps Designer.

De Logic App draait automatisch. Als u de status van elke uitvoering wilt zien, gaat u naar de pagina Overzicht voor de logische app in Azure Portal en selecteert u De uitvoeringsgeschiedenis. Selecteer Vernieuwen om de lijst met uitvoeringen bij te werken.

Een Power BI-dashboard maken

U hebt nu telemetrie die vanuit uw IoT Central-toepassing via uw Event Hub stroomt. Vervolgens parseert uw logische app de Event Hub-berichten en voegt deze toe aan een Power BI-streaminggegevensset. U kunt nu een Power BI-dashboard maken om de telemetrie te visualiseren:

  1. Meld u aan bij uw Power BI-account .
  2. Selecteer Werkruimten > In-store-analyse - afrekenen.
  3. Selecteer + Nieuw > dashboard.
  4. Voer Store Analytics in als de naam van het dashboard en selecteer Maken.

Lijndiagrammen toevoegen

Voeg vier lijndiagramtegels toe om de temperatuur en vochtigheid van de twee omgevingssensoren weer te geven. Gebruik de informatie in de volgende tabel om de tegels te maken. Als u elke tegel wilt toevoegen, selecteert u Eerst Een tegel bewerken>. Selecteer Aangepaste streaminggegevens en selecteer vervolgens Volgende:

Configuratie Grafiek 1 Grafiek 2 Grafiek 3 Grafiek 4
Dataset Sensor voor zone 1 Sensor voor zone 1 Zone 2-sensor Zone 2 sensor
Visualisatietype Lijndiagram Lijndiagram Lijndiagram Lijndiagram
As Tijdstempel Tijdstempel Tijdstempel Tijdstempel
Waarden Temperatuur Vochtigheid Temperatuur Vochtigheid
Tijdvenster 60 minuten 60 minuten 60 minuten 60 minuten
Title Temperatuur (1 uur) Vochtigheid (1 uur) Temperatuur (1 uur) Vochtigheid (1 uur)
Ondertitel Zone 1 Zone 1 Zone 2 Zone 2

In de volgende schermopname ziet u de instellingen voor de eerste grafiek:

Schermopname van de definitie van het lijndiagram in het Power BI-dashboard.

Kaarten toevoegen om omgevingsgegevens weer te geven

Voeg vier kaarttegels toe om de meest recente temperatuur- en vochtigheidswaarden van de twee omgevingssensoren weer te geven. Gebruik de informatie in de volgende tabel om de tegels te maken. Als u elke tegel wilt toevoegen, selecteert u Eerst Een tegel bewerken>. Selecteer Aangepaste streaminggegevens en selecteer vervolgens Volgende:

Configuratie Kaart 1 Kaart 2 Kaart 3 Kaart 4
Dataset sensor voor zone 1 Zone 1 Sensor Zone 2-sensor Sensor van zone 2
Visualisatietype Card Card Card Card
Fields Temperatuur Vochtigheid Temperatuur Vochtigheid
Title Temperatuur (F) Vochtigheid (%) Temperatuur (F) Vochtigheid (%)
Ondertitel Zone 1 Zone 1 Zone 2 Zone 2

In de volgende schermopname ziet u de instellingen voor de eerste kaart:

Schermopname van de kaartdefinitie in het Power BI-dashboard.tings.

Tegels toevoegen om de aanwezigheidsgegevens van het uitchecken weer te geven

Voeg vier kaarttegels toe om de wachtrijlengte en de verblijfstijd voor de twee kassa's in de winkel weer te geven. Gebruik de informatie in de volgende tabel om de tegels te maken. Als u elke tegel wilt toevoegen, selecteert u Eerst Een tegel bewerken>. Selecteer Aangepaste streaminggegevens en selecteer vervolgens Volgende:

Configuratie Kaart 1 Kaart 2 Kaart 3 Kaart 4
Dataset Bezettingssensor Bezettingssensor Bezettingssensor Bezettingssensor
Visualisatietype Gegroepeerd kolomdiagram Gegroepeerd kolomdiagram Meter Meter
As Tijdstempel Tijdstempel N/A N/A
Waarde Verblijftijd 1 Verblijfsduur 2 Wachtrijlengte 1 Wachtrijlengte 2
Tijdvenster 60 minuten 60 minuten N/A N/A
Title Verblijftijd Verblijftijd Wachtrijlengte Wachtrijlengte
Ondertitel Uitchecken 1 Uitchecken 2 Uitchecken 1 Uitchecken 2

Wijzig de grootte en rangschik de tegels op uw dashboard om er als volgt uit te zien:

Schermopname van het Power BI-dashboard met herformatteerde en opnieuw geordende tegels.

U kunt enkele grafische resources toevoegen om het dashboard verder aan te passen:

Schermopname van het Power BI-dashboard met extra afbeeldingen.

De hulpbronnen opschonen

Nadat u klaar bent met uw IoT Central-toepassing, kunt u deze verwijderen door u aan te melden bij de toepassing en naar de pagina Beheer in de sectie Toepassing te navigeren.

Als u de toepassing wilt behouden maar de bijbehorende kosten wilt verlagen, schakelt u de gegevensexport uit die telemetrie verzendt naar uw Event Hub.

U kunt de Event Hub en logische app in Azure Portal verwijderen door de resourcegroep met de naam retail-store-analysis te verwijderen.

U kunt uw Power BI-gegevenssets en -dashboard verwijderen door de werkruimte te verwijderen van de pagina met Power BI-instellingen voor de werkruimte.