Delen via


De IoT-extensie voor Azure CLI gebruiken voor Azure IoT Hub apparaatbeheer

End-to-end-diagram

In dit artikel leert u hoe u de IoT-extensie voor Azure CLI gebruikt met verschillende beheeropties op uw ontwikkelcomputer. De IoT-extensie voor Azure CLI is een opensource-IoT-extensie die bijdraagt aan de mogelijkheden van de Azure CLI. De Azure CLI bevat opdrachten voor interactie met Azure Resource Manager- en beheereindpunten. U kunt bijvoorbeeld Azure CLI gebruiken om een Azure-VM of een IoT-hub te maken. Met een CLI-extensie kan een Azure-service de Azure CLI uitbreiden, zodat u toegang krijgt tot aanvullende servicespecifieke mogelijkheden. De IoT-extensie biedt IoT-ontwikkelaars opdrachtregeltoegang tot alle mogelijkheden van IoT Hub, IoT Edge en IoT Hub Device Provisioning Service.

Beheeroptie Taak
Directe methoden Een apparaat laten werken zoals het starten of stoppen met het verzenden van berichten of het opnieuw opstarten van het apparaat.
Gewenste eigenschappen van dubbels Zet een apparaat in bepaalde toestanden, zoals het instellen van een LED op groen of het instellen van het interval voor het verzenden van telemetrie op 30 minuten.
Gerapporteerde eigenschappen van dubbels De gerapporteerde status van een apparaat ophalen. Het apparaat meldt bijvoorbeeld dat de LED nu knippert.
Dubbeltags Sla apparaatspecifieke metagegevens op in de cloud. Bijvoorbeeld de implementatielocatie van een verkoopautomaat.
Query's voor apparaatdubbels Voer een query uit op alle apparaatdubbels om deze dubbels op te halen met willekeurige voorwaarden, zoals het identificeren van de apparaten die beschikbaar zijn voor gebruik.

Zie Richtlijnen voor apparaat-naar-cloud-communicatie en Richtlijnen voor cloud-naar-apparaatcommunicatie voor meer gedetailleerde uitleg over de verschillen en richtlijnen voor het gebruik van deze opties.

Apparaatdubbels zijn JSON-documenten waarin statusinformatie van een apparaat (metagegevens, configuraties en voorwaarden) zijn opgeslagen. IoT Hub blijft een apparaatdubbel behouden voor elk apparaat dat er verbinding mee maakt. Zie Aan de slag met apparaatdubbels voor meer informatie over apparaatdubbels.

Notitie

In dit artikel wordt gebruikgemaakt van de nieuwste versie van de Azure IoT-extensie, azure-iot. De verouderde versie heet azure-cli-iot-ext. Zorg ervoor dat er maar één versie is 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.

Gebruik az extension list om te bekijken welke installaties u hebt geïnstalleerd.

Notitie

De functies die in dit artikel worden beschreven, zijn alleen beschikbaar in de standaardlaag van de IoT Hub. Zie De juiste IoT Hub laag voor uw oplossing kiezen voor meer informatie over de lagen Basic en Standard/free IoT Hub.

Vereisten

  • Voltooi de onlinesimulator voor Raspberry Pi of een van de zelfstudies voor apparaten. U kunt bijvoorbeeld naar Raspberry Pi gaan met Node.js of naar een van de quickstarts voor telemetrie verzenden . Deze artikelen hebben betrekking op de volgende vereisten:

    • Een actief Azure-abonnement.
    • Een Azure IoT-hub onder uw abonnement.
    • Een clienttoepassing die berichten verzendt naar uw Azure IoT-hub.
  • Zorg ervoor dat uw apparaat wordt uitgevoerd met de clienttoepassing tijdens deze zelfstudie.

  • Python 2.7x of Python 3.x

  • De Azure CLI. Zie De Azure CLI installeren als u deze wilt installeren. Uw Azure CLI-versie moet minimaal 2.0.70 of hoger zijn. Gebruik az –version om de versie te valideren.

Notitie

In dit artikel wordt gebruikgemaakt van de nieuwste versie van de Azure IoT-extensie, azure-iot. De verouderde versie heet azure-cli-iot-ext. Zorg ervoor dat er maar één versie is 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.

Gebruik az extension list om te bekijken welke installaties u hebt geïnstalleerd.

  • Installeer de IoT-extensie. De eenvoudigste manier is az extension add --name azure-iot uit te voeren. In het Leesmij-bestand bij de IoT-extensie worden verschillende manieren voor het installeren van de extensie beschreven.

Aanmelden bij uw Azure-account

Meld u aan bij uw Azure-account door de volgende opdracht uit te voeren:

az login

Directe methoden

az iot hub invoke-device-method --device-id <your device id> \
  --hub-name <your hub name> \
  --method-name <the method name> \
  --method-payload <the method payload>

Gewenste eigenschappen van apparaatdubbel

Stel een gewenst eigenschapsinterval = 3000 in door de volgende opdracht uit te voeren:

az iot hub device-twin update -n <your hub name> \
  -d <your device id> --set properties.desired.interval=3000

Deze eigenschap kan worden gelezen vanaf uw apparaat.

Gerapporteerde eigenschappen van apparaatdubbel

Haal de gerapporteerde eigenschappen van het apparaat op door de volgende opdracht uit te voeren:

az iot hub device-twin show -n <your hub name> -d <your device id>

Een van de gerapporteerde eigenschappen van de tweeling is $metadata.$lastUpdated, waarin de laatste keer wordt weergegeven dat de apparaat-app de gerapporteerde eigenschappenset heeft bijgewerkt.

Tags van apparaatdubbels

Geef de tags en eigenschappen van het apparaat weer door de volgende opdracht uit te voeren:

az iot hub device-twin show --hub-name <your hub name> --device-id <your device id>

Voeg een veldrol = temperatuurvochtigheid&toe aan het apparaat door de volgende opdracht uit te voeren:

az iot hub device-twin update \
  --hub-name <your hub name> \
  --device-id <your device id> \
  --set tags='{"role":"temperature&humidity"}'

Query's voor apparaatdubbels

Voer de volgende opdracht uit om een query uit te voeren op apparaten met de tag role = 'temperature&humidity':

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role = 'temperature&humidity'"

Voer de volgende opdracht uit om een query uit te voeren op alle apparaten, behalve apparaten met de tag role = 'temperature&humidity':

az iot hub query --hub-name <your hub name> \
  --query-command "SELECT * FROM devices WHERE tags.role != 'temperature&humidity'"

Volgende stappen

U hebt geleerd hoe u apparaat-naar-cloud-berichten bewaakt en cloud-naar-apparaat-berichten verzendt tussen uw IoT-apparaat en Azure IoT Hub.

Als u wilt doorgaan met Azure IoT Hub en alle uitgebreide IoT-scenario's wilt verkennen, raadpleegt u het volgende: