Quickstart: Telemetrie verzenden van een apparaat naar een IoT-hub en deze bewaken met de Azure CLI

Azure IoT Hub is ontworpen voor het verzamelen van grote hoeveelheden telemetriegegevens van IoT-apparaten voor opslag of verwerking in de cloud. In deze quickstart zonder code gebruikt u de Azure CLI om een IoT-hub en een gesimuleerd apparaat te maken. U verzendt telemetrie van apparaten naar de hub en verzendt ook berichten, oproepmethoden en update-eigenschappen op het apparaat. U gebruikt de Azure-portal om metrische apparaatgegevens te visualiseren.

Dit artikel bevat een eenvoudige werkstroom voor ontwikkelaars met behulp van de Azure CLI om te communiceren met een IoT Hub toepassing.

Vereisten

  • Een Azure-abonnement. Als u er nog geen hebt, kunt u er gratis een maken voordat u begint.
  • De Azure CLI. U kunt alle opdrachten in deze quickstart uitvoeren met behulp van Azure Cloud Shell, een interactieve CLI-shell die wordt uitgevoerd in uw browser of in een app zoals Windows Terminal. Als u Cloud Shell gebruikt, hoeft u niets te installeren. Als u de CLI liever lokaal gebruikt, is voor deze quickstart Versie 2.36 of hoger van Azure CLI vereist. Voer az --version uit om de versie te bekijken. Ga naar Azure CLI installeren om te installeren of upgraden.

Meld u aan bij het Azure Portal

Meld u aan bij het Azure-portaal.

Houd de portal geopend in uw browser, ongeacht of u de CLI lokaal of in Cloud Shell uitvoert. Je gebruikt het later in deze snelstartgids.

Cloud Shell openen

In deze sectie opent u een exemplaar van Cloud Shell. Als u de CLI lokaal gebruikt, gaat u naar de sectie Twee CLI-sessies voorbereiden.

  1. Selecteer Cloud Shell in de menubalk rechtsboven in de Azure portal.

    Screenshot met de Azure portal Cloud Shell button.

    Als dit de eerste keer is dat u Cloud Shell gebruikt, wordt u gevraagd om opslag te maken. Dit is vereist voor het gebruik van Cloud Shell. Selecteer een abonnement om een opslagaccount en een Azure Files share te maken.

  2. Selecteer de gewenste CLI-omgeving in de vervolgkeuzelijst Omgeving selecteren . In deze quickstart wordt de Bash-omgeving gebruikt. U kunt ook de PowerShell-omgeving gebruiken.

    Schermopname van het selecteren van de CLI-omgeving.

    Voor sommige opdrachten zijn verschillende syntaxis of opmaak vereist in de Bash- en PowerShell-omgevingen. Voor meer informatie, zie Tips voor het succesvol gebruiken van de Azure CLI.

Twee CLI-sessies voorbereiden

Vervolgens bereidt u twee Azure CLI-sessies voor. Als u Cloud Shell gebruikt, voert u deze sessies uit op afzonderlijke Cloud Shell tabbladen. Als u een lokale CLI-client gebruikt, voert u afzonderlijke CLI-exemplaren uit. Gebruik de afzonderlijke CLI-sessies voor de volgende taken:

  • De eerste sessie simuleert een IoT-apparaat dat communiceert met uw IoT-hub.
  • De tweede sessie bewaakt het apparaat in de eerste sessie of verzendt berichten, opdrachten en eigenschapsupdates.

Als u een opdracht wilt uitvoeren, selecteert u Kopiëren om een codeblok uit deze snelstartgids te kopiëren; plak de code in de shell-sessie en voer deze uit.

Als u de Azure CLI wilt gebruiken, moet u zijn aangemeld bij uw Azure-account. Alle communicatie tussen uw Azure CLI-shell-sessie en uw IoT-hub wordt geverifieerd en versleuteld. Daarom is voor deze quickstart geen extra verificatie vereist, zoals u die bij een echt apparaat gebruikt, bijvoorbeeld een verbindingsreeks.

  • Voer in de eerste CLI-sessie de opdracht az extension add uit . Met de opdracht wordt de Microsoft Azure IoT-extensie voor Azure CLI aan uw CLI-shell toegevoegd. Met de IoT-extensie worden opdrachten voor IoT Hub, Azure IoT Edge en IoT Device Provisioning Service toegevoegd die specifiek zijn voor de Azure CLI.

    az extension add --name azure-iot
    

    Nadat u de Azure IoT-extensie hebt geïnstalleerd, hoeft u deze niet opnieuw te installeren in een Cloud Shell sessie.

    Notitie

    In dit artikel wordt gebruikgemaakt van de nieuwste versie van de Azure IoT-extensie, azure-iot. De verouderde versie wordt aangeroepen azure-cli-iot-ext. U moet slechts één versie tegelijk hebben geïnstalleerd. U kunt de opdracht az extension list gebruiken om de momenteel geïnstalleerde extensies te valideren.

    Gebruik az extension remove --name azure-cli-iot-ext om de verouderde versie van de extensie te verwijderen.

    Gebruik az extension add --name azure-iot om de nieuwe versie van de extensie toe te voegen.

    Als u wilt zien welke extensies momenteel zijn geïnstalleerd, gebruikt u az extension list.

  • Open de tweede CLI-sessie. Als u Cloud Shell in een browser gebruikt, gebruikt u Open nieuwe sessie. Als u de CLI lokaal gebruikt, opent u een tweede CLI-exemplaar.

    Schermafbeelding met het openen van een nieuwe Cloud Shell session.

Een IoT Hub maken

In deze sectie gebruikt u de Azure CLI om een resourcegroep en een IoT-hub te maken. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Een IoT-hub fungeert als een centrale berichtenhub voor bidirectionele communicatie tussen uw IoT-toepassing en de apparaten.

  1. Voer in de eerste CLI-sessie de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht maakt u een resourcegroep met de naam MyResourceGroup op de eastus locatie.

    az group create --name MyResourceGroup --location eastus
    
  2. Voer in de eerste CLI-sessie de opdracht Az PowerShell-module iot hub create uit om een IoT-hub te maken. Het duurt enkele minuten om een IoT-hub te maken.

    Vervang de YourIotHubName tijdelijke aanduiding en de omringende accolades in de volgende opdracht door de naam die u hebt gekozen voor uw IoT-hub. De naam van de IoT-hub moet wereldwijd uniek zijn in Azure. Gebruik de naam van uw IoT-hub in de rest van deze quickstart, waar u de tijdelijke aanduiding ziet.

    az iot hub create --resource-group MyResourceGroup --name {YourIoTHubName}
    

Een apparaat maken en bewaken

In deze sectie maakt u een gesimuleerd apparaat in de eerste CLI-sessie. Het gesimuleerde apparaat verzendt telemetrie van het apparaat naar uw IoT-hub. In de tweede CLI-sessie bewaakt u gebeurtenissen en telemetrie.

Zo maakt en start u een gesimuleerd apparaat:

  1. Voer in de eerste CLI-sessie de opdracht az iot hub device-identity create uit . Met deze opdracht maakt u de gesimuleerde apparaat-id.

    • YourIotHubName. Vervang deze tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.
    • simDevice. U kunt deze naam in de rest van deze quickstart rechtstreeks voor het gesimuleerde apparaat gebruiken. U kunt ook een andere naam gebruiken.
    az iot hub device-identity create -d simDevice -n {YourIoTHubName} 
    
  2. Voer in de eerste CLI-sessie de opdracht az iot device simulate uit. Met deze opdracht wordt het gesimuleerde apparaat gestart. Het apparaat verzendt telemetrie naar uw IoT-hub en ontvangt berichten van de hub.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    

Zo bewaakt u een apparaat:

  1. Voer in de tweede CLI-sessie de opdracht az iot hub monitor-events uit. Met deze opdracht wordt het gesimuleerde apparaat continu bewaakt. De uitvoer toont telemetrie, zoals gebeurtenissen en eigenschapsstatuswijzigingen die het gesimuleerde apparaat naar de IoT-hub verzendt.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot hub monitor-events --output table -p all -n {YourIoTHubName}
    

    Schermopname van bewakingsgebeurtenissen op een gesimuleerd apparaat.

  2. Nadat u het gesimuleerde apparaat in de tweede CLI-sessie hebt bewaakt, selecteert u Ctrl+C om de bewaking te stoppen. Houd de tweede CLI-sessie geopend voor gebruik in latere stappen.

De CLI gebruiken om een bericht te verzenden

In deze sectie verzendt u een bericht naar het gesimuleerde apparaat.

  1. Controleer in de eerste CLI-sessie of het gesimuleerde apparaat nog steeds wordt uitgevoerd. Als het apparaat is gestopt, voert u de volgende opdracht uit om het opnieuw op te starten.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot device simulate -d simDevice -n {YourIoTHubName}
    
  2. Voer in de tweede CLI-sessie de opdracht az iot device c2d-message send uit. Met deze opdracht wordt een cloud-naar-apparaat-bericht van uw IoT-hub naar het gesimuleerde apparaat verzonden. Het bericht bevat een tekenreeks en twee sleutel-/waardeparen.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot device c2d-message send -d simDevice --data "Hello World" --props "key0=value0;key1=value1" -n {YourIoTHubName}
    

    U kunt cloud-naar-apparaat-berichten ook verzenden met behulp van de Azure-portal. Als u berichten wilt verzenden via de Azure-portal, bladert u naar de pagina Overview voor uw IoT-hub, selecteert u IoT-apparaten, selecteert u het gesimuleerde apparaat en selecteert u Bericht naar Apparaat.

  3. Controleer in de eerste CLI-sessie of het gesimuleerde apparaat het bericht heeft ontvangen.

    Schermopname van een gesimuleerd apparaat dat een bericht ontvangt.

De CLI gebruiken om een apparaatmethode aan te roepen

In deze sectie roept u een directe methode aan op het gesimuleerde apparaat.

  1. Zoals u eerder hebt gedaan, controleert u of het gesimuleerde apparaat in de eerste CLI-sessie wordt uitgevoerd. Als dat niet het is, start u het opnieuw.

  2. Voer in de tweede CLI-sessie de opdracht az iot hub invoke-device-method uit. In dit voorbeeld is er geen vooraf bestaande methode voor het apparaat. Met de opdracht wordt een voorbeeld methode aangeroepen op het gesimuleerde apparaat en wordt een gegevensinhoud geretourneerd.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
    
  3. Controleer in de eerste CLI-sessie of de uitvoer de methode-aanroep weergeeft.

    Schermopname van een gesimuleerd apparaat met uitvoer nadat een methode is aangeroepen.

De CLI gebruiken om apparaateigenschappen bij te werken

In deze sectie werkt u de status van het gesimuleerde apparaat bij door eigenschapswaarden in te stellen.

  1. Zoals u eerder hebt gedaan, controleert u of het gesimuleerde apparaat in de eerste CLI-sessie wordt uitgevoerd. Als dat niet het is, start u het opnieuw.

  2. Voer in de tweede CLI-sessie de opdracht az iot hub device-twin update uit. Met deze opdracht worden de eigenschappen bijgewerkt naar de gewenste status op de IoT Hub-apparaatdubbel die overeenkomt met uw gesimuleerde apparaat. In dit geval stelt de opdracht voorbeeldeigenschappen voor temperatuurvoorwaarde in.

    Belangrijk

    Als u PowerShell in de CLI-shell gebruikt, gebruikt u de PowerShell-versie van de opdracht in de volgende code. Voor PowerShell moet u de tekens in de JSON-payload escapen.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot hub device-twin update -d simDevice --desired '{"conditions":{"temperature":{"warning":98, "critical":107}}}' -n {YourIoTHubName}
    
    az iot hub device-twin update -d simDevice --desired '{\"conditions\":{\"temperature\":{\"warning\":98, \"critical\":107}}}' -n {YourIoTHubName}
    
  3. Controleer in de eerste CLI-sessie of het gesimuleerde apparaat de update van de eigenschap uitvoert.

    Schermopname van het bijwerken van eigenschappen op een apparaat.

  4. Voer in de tweede CLI-sessie de opdracht az iot hub device-twin show uit . Met deze opdracht worden wijzigingen in de apparaateigenschappen gerapporteerd.

    Vervang de YourIotHubName tijdelijke aanduiding in de volgende code door de naam die u hebt gekozen voor uw IoT-hub.

    az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
    

    Schermopname die de bijgewerkte eigenschappen op een apparaatstweeling toont.

Metrische gegevens over berichten weergeven in de portal

U kunt alle aspecten van uw IoT-hub en -apparaten beheren in de Azure-portal. In een typische IoT Hub-toepassing die telemetrie van apparaten opneemt, wilt u mogelijk apparaten bewaken of metrische gegevens over de telemetrie van het apparaat bekijken.

Zo visualiseert u metrische gegevens voor berichten in de Azure-portal:

  1. Selecteer Alle resources in het servicemenu in de portal. Dit tabblad bevat alle resources in uw abonnement, inclusief de IoT-hub die u hebt gemaakt.

  2. Selecteer de koppeling op de IoT-hub die u hebt gemaakt. In de portal wordt de overzichtspagina voor de hub weergegeven.

  3. Selecteer Metrische gegevens in het linkerdeelvenster van uw IoT-hub.

    Schermopname waarop de metrische gegevens voor IoT Hub-berichtenverkeer te zien zijn.

  4. Voer in het veld Bereik de naam van uw IoT-hub in.

  5. Selecteer in het veld Metrische naamruimteIoT Hub-standaardmetrieken.

  6. Selecteer in het veld Metrische gegevens het totale aantal gebruikte berichten.

  7. Beweeg de muisaanwijzer over het gebied van de tijdlijn waarin uw apparaat berichten heeft verzonden. Het totale aantal berichten op een bepaald moment wordt weergegeven in de linkerbenedenhoek van de tijdlijn.

    Screenshot met een weergave van IoT Hub metrics.

  8. U kunt eventueel de vervolgkeuzelijst Metrische gegevens gebruiken om andere metrische gegevens weer te geven op uw gesimuleerde apparaat. Zie bijvoorbeeld C2d-berichtleveringen voltooid of Totaal aantal apparaten (preview).

Middelen opschonen

Als u de Azure resources die u in deze quickstart hebt gemaakt niet meer nodig hebt, kunt u de Azure CLI gebruiken om ze te verwijderen.

Als u doorgaat naar het volgende aanbevolen artikel, kunt u de resources die u al hebt gemaakt behouden en opnieuw gebruiken.

Belangrijk

Het verwijderen van een resourcegroep kan niet ongedaan worden gemaakt. De resourcegroep en alle resources daarin worden permanent verwijderd. Zorg ervoor dat u niet per ongeluk de verkeerde resourcegroep of bronnen verwijdert.

De resourcegroep verwijderen op basis van de naam:

  1. Voer de opdracht az group delete uit. Met deze opdracht verwijdert u de resourcegroep, de IoT-hub en de apparaatregistratie die u hebt gemaakt.

    az group delete --name MyResourceGroup
    
  2. Voer de opdracht az group list uit om te bevestigen dat de resourcegroep is verwijderd.

    az group list
    

Overzicht

In deze quickstart hebt u de Azure CLI gebruikt om een IoT-hub te maken, een gesimuleerd apparaat te maken, telemetrie te verzenden en bewaken, een methode aan te roepen, gewenste eigenschappen in te stellen en resources op te schonen. U hebt de Azure-portal gebruikt om metrische gegevens van berichten op uw apparaat te visualiseren.

Als u een apparaatontwikkelaar bent, is de voorgestelde volgende stap het bekijken van de snelstartgids voor telemetrie die gebruikmaakt van de Azure IoT Device SDK voor C. Raadpleeg desgewenst een van de beschikbare artikelen IoT Hub quickstart over telemetrie in uw voorkeurstaal of SDK.

Ga verder met de volgende snelstartgids als u wilt weten hoe u een gesimuleerd apparaat beheert vanuit een back-endtoepassing.

Volgende stap