Quickstart: Telemetrie verzenden van een apparaat naar een IoT-hub en deze bewaken met de Azure CLI
IoT Hub is een Azure-service waarmee grote hoeveelheden telemetrie van uw IoT-apparaten naar de cloud kunt opnemen voor opslag of verwerking. 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 berichten, oproepmethoden en update-eigenschappen op het apparaat. U gebruikt ook Azure Portal om metrische apparaatgegevens te visualiseren. Dit artikel bevat een eenvoudige werkstroom voor ontwikkelaars die de CLI gebruiken om te communiceren met een IoT Hub-toepassing.
Vereisten
- Als u geen Azure-abonnement hebt, kunt u er gratis een maken voordat u begint.
- Azure CLI. U kunt alle opdrachten in deze quickstart uitvoeren met behulp van De Azure Cloud Shell, een interactieve CLI-shell die wordt uitgevoerd in uw browser of in een app zoals Windows Terminal. Als u de 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. Zie Azure CLI installeren als u CLI wilt installeren of upgraden.
Meld u aan bij het Azure Portal
Meld u aan bij het Azure-portaal.
Ongeacht of u de CLI lokaal of in Cloud Shell uitvoert, houdt u de portal geopend in uw browser. U gebruikt deze verderop in deze quickstart.
De Cloud Shell starten
In deze sectie start u een exemplaar van de Azure Cloud Shell. Als u de CLI lokaal gebruikt, gaat u naar de sectie Twee CLI-sessies voorbereiden.
Zo start u de Cloud Shell:
Selecteer de knop Cloud Shell in de menubalk rechtsboven in de Azure-portal.
Notitie
Als de Cloud Shell voor het eerst gebruikt, wordt u gevraagd opslag te maken. Dit is nodig om de Cloud Shell te gebruiken. Selecteer een abonnement om een opslagaccount en een Microsoft Azure Files-share te maken.
Selecteer uw favoriete CLI-omgeving in de vervolgkeuzelijst Omgeving selecteren. In deze snelstartgids wordt gebruikgemaakt van de bash-omgeving. U kunt ook de PowerShell-omgeving gebruiken.
Notitie
Voor sommige opdrachten zijn verschillende syntaxis of opmaak vereist in de Bash- en PowerShell-omgevingen. Zie Tips voor het gebruik van de Azure CLI voor meer informatie.
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 updates van eigenschappen.
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.
Voor Azure CLI moet u zijn aangemeld bij uw Azure-account. Alle communicatie tussen uw Azure CLI-shell-sessie en uw IoT-hub wordt geverifieerd en versleuteld. Als gevolg hiervan heeft deze quickstart geen extra verificatie nodig die u zou gebruiken met een echt apparaat, zoals 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 toegevoegd aan uw CLI-shell. Met de IoT-extensie worden IoT Hub-, IoT Edge- en IoT DPS-specifieke (Device Provisioning Service) opdrachten toegevoegd aan 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 heetazure-cli-iot-ext
. Zorg ervoor dat er maar één versie is geïnstalleerd. U kunt de opdrachtaz 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.Gebruik
az extension list
om te bekijken welke installaties u hebt geïnstalleerd.Open de tweede CLI-sessie. Als u Cloud Shell in een browser gebruikt, gebruikt u de knop Nieuwe sessie openen . Als u de CLI lokaal gebruikt, opent u een tweede CLI-exemplaar.
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.
Voer in de eerste CLI-sessie de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht wordt een resourcegroep met de naam MyResourceGroup gemaakt op de locatie VS - oost.
az group create --name MyResourceGroup --location eastus
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.
YourIotHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in de volgende opdracht met behulp van 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 ook 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:
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 door een door u gekozen naam voor de 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}
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.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.
az iot device simulate -d simDevice -n {YourIoTHubName}
Zo bewaakt u een apparaat:
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.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.
az iot hub monitor-events --output table -p all -n {YourIoTHubName}
Nadat u het gesimuleerde apparaat in de tweede CLI-sessie hebt bewaakt, drukt u op Ctrl+C om het bewaken 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.
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:
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.
az iot device simulate -d simDevice -n {YourIoTHubName}
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.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de 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. Daartoe bladert u naar de overzichtspagina voor uw IoT Hub, selecteert u IoT-apparaten, selecteert u het gesimuleerde apparaat en selecteert u Bericht naar apparaat.
Controleer in de eerste CLI-sessie of het gesimuleerde apparaat het bericht heeft ontvangen.
De CLI gebruiken om een apparaatmethode aan te roepen
In deze sectie roept u een directe methode aan op het gesimuleerde apparaat.
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.
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 voorbeeldmethodenaam aangeroepen op het gesimuleerde apparaat en wordt een nettolading geretourneerd.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.
az iot hub invoke-device-method --mn MySampleMethod -d simDevice -n {YourIoTHubName}
Controleer in de eerste CLI-sessie of de uitvoer de methode-aanroep weergeeft.
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.
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.
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 onderstaande opdracht. Voor PowerShell moet u de tekens in de JSON-nettolading escapen.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de 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}
Controleer in de eerste CLI-sessie of het gesimuleerde apparaat de update van de eigenschap uitvoert.
Voer in de tweede CLI-sessie de opdracht az iot hub device-twin show uit . Met deze opdracht worden wijzigingen in de apparaateigenschappen gerapporteerd.
YourIotHubName. vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.
az iot hub device-twin show -d simDevice --query properties.reported -n {YourIoTHubName}
Metrische gegevens over berichten weergeven in de portal
Met Azure Portal kunt u alle aspecten van uw IoT-hub en -apparaten beheren. 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:
Selecteer in het linkernavigatiemenu in de portal de optie Alle resources. Dit tabblad bevat alle resources in uw abonnement, inclusief de IoT-hub die u hebt gemaakt.
Selecteer de koppeling in de IoT-hub die u hebt gemaakt. In de portal wordt de overzichtspagina voor de hub weergegeven.
Selecteer Metrische gegevens in het linkerdeelvenster van uw IoT Hub.
Voer in het veld Bereik de naam van uw IoT-hub in.
Selecteer in het veld Metrische naamruimte Iot Hub Standard Metrics.
Selecteer in het veld Metrische gegevens het totale aantal gebruikte berichten.
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.
U kunt ook de vervolgkeuzelijst Metrisch gegeven gebruiken om andere metrische gegevens op uw gesimuleerde apparaat weer te geven. Bijvoorbeeld Voltooide C2d-berichtleveringen of Totaal aantal apparaten (preview).
Resources 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 verder wilt gaan met 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 resources verwijdert.
Een resourcegroep verwijderen op naam:
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
Voer de opdracht az group list uit om te controleren of de resourcegroep is verwijderd.
az group list
Volgende stappen
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 quickstart voor telemetrie die gebruikmaakt van de Azure IoT Device SDK voor C. Raadpleeg desgewenst een van de beschikbare azure IoT Hub-snelstartartikelen voor 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.