Share via


Quickstart: Een apparaat beheren dat is verbonden met een IoT-hub

In deze quickstart gebruikt u een directe methode om een gesimuleerd apparaat te beheren dat is verbonden met uw IoT-hub. IoT Hub is een Azure-service waarmee u uw IoT-apparaten vanuit de cloud kunt beheren en grote hoeveelheden apparaattelemetrie naar de cloud kunt opnemen voor opslag of verwerking. U kunt directe methoden gebruiken om het gedrag van apparaten die zijn verbonden met uw IoT-hub op afstand te wijzigen.

In de quickstart worden twee vooraf geschreven .NET-toepassingen gebruikt:

  • Een gesimuleerde apparaattoepassing die reageert op directe methoden die worden aangeroepen vanuit een servicetoepassing. Als u de aanroepen van de directe methode wilt ontvangen, maakt deze toepassing verbinding met een apparaatspecifiek eindpunt op uw IoT-hub.

  • Een servicetoepassing die de directe methoden op het gesimuleerde apparaat aanroept. Als u een directe methode op een apparaat wilt aanroepen, maakt deze toepassing verbinding met het eindpunt aan de servicezijde van uw IoT-hub.

Vereiste voorwaarden

Opmerking

In dit artikel wordt de nieuwste versie van de Azure IoT-extensie gebruikt, die azure-iotwordt genoemd. 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 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.

In deze sectie gebruikt u Azure CLI om een IoT-hub en een resourcegroep 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.

Als u al een IoT-hub in uw Azure-abonnement hebt, kunt u deze sectie overslaan.

Een IoT-hub en een resourcegroep maken:

  1. Start je CLI-app. Als u de CLI-opdrachten in de rest van dit artikel wilt uitvoeren, kopieert u de syntaxis van de opdracht, plakt u deze in uw CLI-app, bewerkt u variabelewaarden en drukt u op Enter.

    • Als u Cloud Shell gebruikt, selecteert u de knop Uitproberen in de CLI-opdrachten om Cloud Shell te starten in een gesplitst browservenster. U kunt de Cloud Shell ook openen in een afzonderlijk browsertabblad.
    • Als u Azure CLI lokaal gebruikt, start u uw CLI-console-app en meldt u zich aan bij Azure CLI.
  2. Voer az extension add uit om de azure-iot-extensie te installeren of bij te werken naar de huidige versie.

    az extension add --upgrade --name azure-iot
    
  3. Voer in uw CLI-app de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht wordt een resourcegroep met de naam MyResourceGroup gemaakt in de locatie eastus.

    Opmerking

    U kunt desgewenst een andere locatie instellen. Als u de beschikbare locaties wilt zien, voert u de opdracht uit az account list-locations. In deze quickstart wordt gebruikgemaakt van eastus , zoals wordt weergegeven in de voorbeeldopdracht.

    az group create --name MyResourceGroup --location eastus
    
  4. Voer de opdracht az iot hub create uit om een IoT-hub te maken. Het kan enkele minuten duren voordat een IoT-hub is gemaakt.

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando 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 snelstartgids, waar u de tijdelijke aanduiding ziet.

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

De serviceverbindingsreeks ophalen

U hebt ook de serviceverbindingsreeks van uw IoT-hub nodig om de servicetoepassing in staat te stellen verbinding te maken met de hub en de berichten op te halen. De serviceverbindingsreeks is voor uw IoT-hub als geheel en verschilt van de apparaatverbindingsreeks die u in de vorige sectie hebt opgehaald.

Met de volgende opdracht wordt de serviceverbindingsreeks voor uw IoT-hub opgehaald:

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Noteer de serviceverbindingsreeks, die er als volgt uitziet:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

U gebruikt deze waarde verderop in de quickstart.

Een apparaat simuleren

De gesimuleerde apparaattoepassing maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verzendt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit uw hub. In deze quickstart instrueert de aanroep van de directe methode van de hub het apparaat om het interval te wijzigen waarop het telemetrie verzendt. Het gesimuleerde apparaat verzendt een bevestiging terug naar uw hub nadat deze de directe methode heeft uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van de SDK. Navigeer vervolgens naar de map iothub\device\samples\getting started\SimulatedDeviceWithCommand .

  2. Voer de volgende opdracht uit om de vereiste pakketten voor de toepassing voor het gesimuleerde apparaat te installeren:

    dotnet restore
    
  3. Voer de volgende opdracht uit om de toepassing voor het gesimuleerde apparaat te bouwen en uit te voeren.

    {DeviceConnectionString}: Vervang deze tijdelijke aanduiding door de verbindingsreeks van het apparaat die u eerder hebt genoteerd.

    dotnet run -- -c "{DeviceConnectionString}"
    

    In de volgende schermafbeelding ziet u de uitvoer op het moment dat de toepassing voor het gesimuleerde apparaat telemetriegegevens naar uw IoT-hub verzendt:

    Schermopname van een terminalvenster met de uitvoer van de toepassing voor het gesimuleerde apparaat.

De directe methode aanroepen

De servicetoepassing maakt verbinding met een eindpunt aan de servicezijde van uw IoT Hub. De toepassing maakt directe methode-aanroepen naar een apparaat via uw IoT-hub en luistert naar bevestigingen. Een IoT Hub-servicetoepassing wordt doorgaans uitgevoerd in de cloud.

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van de SDK. Navigeert u vervolgens naar de map iothub\service\samples\getting started\InvokeDeviceMethod.

  2. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken voor de servicetoepassing te installeren:

    dotnet build
    
  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de servicetoepassing te bouwen en uit te voeren.

    {ServiceConnectionString}: Vervang deze tijdelijke aanduiding door de verbindingsreeks van de IoT Hub-service die u eerder hebt genoteerd.

    {DeviceName}: Vervang deze tijdelijke aanduiding door de naam van het apparaat dat u hebt geregistreerd.

    dotnet run -- -c "{ServiceConnectionString}" -d {DeviceName}
    

    In de volgende schermopname ziet u de uitvoer wanneer de toepassing een directe methodeaanroep naar het apparaat maakt en een bevestiging ontvangt:

    Schermopname van een terminalvenster met het resultaat van de aanroep van de directe methode vanuit de servicetoepassing.

    Nadat u de servicetoepassing hebt uitgevoerd, ziet u een bericht in het lokale terminalvenster dat het gesimuleerde apparaat uitvoert, en verandert de snelheid waarmee het berichten verzendt.

    Schermopname van een terminalvenster met het resultaat van het directe bericht en de bijgewerkte uitvoer van de toepassing voor het gesimuleerde apparaat.

In deze quickstart worden twee Java-toepassingen gebruikt:

  • Een gesimuleerde apparaattoepassing die reageert op directe methoden die worden aangeroepen vanuit een back-endtoepassing.
  • Een servicetoepassing die de directe methode aanroept op het gesimuleerde apparaat.

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Maak gratis een account.

  • Java SE Development Kit 8. Selecteer Java 8 in Java voor langetermijnondersteuning voor Azure en Azure Stack, onder langetermijnondersteuning.

    U kunt de huidige versie van Java op uw ontwikkelcomputer controleren met behulp van de volgende opdracht:

    java -version
    
  • Apache Maven 3.

    U kunt de huidige versie van Maven op uw ontwikkelcomputer controleren met behulp van de volgende opdracht:

    mvn --version
    
  • Kloon of download de Azure IoT-voorbeelden voor Java vanuit GitHub.

  • Zorg ervoor dat de poort 8883 is geopend in uw firewall. Het apparaatvoorbeeld in deze quickstart maakt gebruik van het MQTT-protocol, dat via poort 8883 communiceert. Deze poort kan worden geblokkeerd in sommige bedrijfs- en onderwijsnetwerkomgevingen. Zie de sectie Verbinding maken met IoT Hub van Communiceren met een IoT-hub met behulp van het MQTT-protocol voor meer informatie en manieren om dit probleem te omzeilen.

Opmerking

In dit artikel wordt de nieuwste versie van de Azure IoT-extensie gebruikt, die azure-iotwordt genoemd. 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 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.

Een IoT-hub maken

In deze sectie gebruikt u Azure CLI om een IoT-hub en een resourcegroep 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.

Als u al een IoT-hub in uw Azure-abonnement hebt, kunt u deze sectie overslaan.

Een IoT-hub en een resourcegroep maken:

  1. Start je CLI-app. Als u de CLI-opdrachten in de rest van dit artikel wilt uitvoeren, kopieert u de syntaxis van de opdracht, plakt u deze in uw CLI-app, bewerkt u variabelewaarden en drukt u op Enter.

    • Als u Cloud Shell gebruikt, selecteert u de knop Uitproberen in de CLI-opdrachten om Cloud Shell te starten in een gesplitst browservenster. U kunt de Cloud Shell ook openen in een afzonderlijk browsertabblad.
    • Als u Azure CLI lokaal gebruikt, start u uw CLI-console-app en meldt u zich aan bij Azure CLI.
  2. Voer az extension add uit om de azure-iot-extensie te installeren of bij te werken naar de huidige versie.

    az extension add --upgrade --name azure-iot
    
  3. Voer in uw CLI-app de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht wordt een resourcegroep met de naam MyResourceGroup gemaakt in de locatie eastus.

    Opmerking

    U kunt desgewenst een andere locatie instellen. Als u de beschikbare locaties wilt zien, voert u de opdracht uit az account list-locations. In deze quickstart wordt gebruikgemaakt van eastus , zoals wordt weergegeven in de voorbeeldopdracht.

    az group create --name MyResourceGroup --location eastus
    
  4. Voer de opdracht az iot hub create uit om een IoT-hub te maken. Het kan enkele minuten duren voordat een IoT-hub is gemaakt.

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando 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 snelstartgids, waar u de tijdelijke aanduiding ziet.

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

Een apparaat registreren

Een apparaat moet zijn geregistreerd bij uw IoT-hub voordat het verbinding kan maken. In deze sectie gebruikt u Azure CLI om een apparaat-id te maken.

Als u al een apparaat hebt geregistreerd in uw IoT-hub, kunt u deze sectie overslaan.

Een apparaat-id maken:

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

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando door de naam die u hebt gekozen voor uw IoT-hub. De naam van de IoT-hub moet wereldwijd uniek zijn in Azure.

    myDevice. U kunt deze naam gebruiken voor de apparaat-id in dit artikel of een andere apparaatnaam opgeven.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    De verbindingsreeks-uitvoer heeft de volgende indeling:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Sla de verbindingsreeks op een veilige locatie op.

Opmerking

Houd uw CLI-app geopend. U gebruikt deze in latere stappen.

De serviceverbindingsreeks ophalen

U hebt ook een serviceverbindingsreeks nodig om de back-endtoepassing in staat te stellen verbinding te maken met uw IoT-hub en de berichten op te halen. Met de volgende opdracht wordt de serviceverbindingsreeks voor uw IoT-hub opgehaald:

YourIoTHubName: Vervang deze tijdelijke aanduiding in de volgende opdracht door de naam die u hebt gekozen voor uw IoT-hub.

az iot hub connection-string show --policy-name service --hub-name {YourIoTHubName} --output table

Noteer de serviceverbindingsreeks, die er als volgt uitziet:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

U gebruikt deze waarde verderop in de quickstart. Deze serviceverbindingsreeks verschilt van de apparaatverbindingsreeks die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De gesimuleerde apparaattoepassing maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verzendt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit uw hub. In deze quickstart instrueert de aanroep van de directe methode van de hub het apparaat om het interval te wijzigen waarop het telemetrie verzendt. Het gesimuleerde apparaat verzendt een bevestiging terug naar uw hub nadat deze de directe methode heeft uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van het Java-voorbeeldproject. Navigeer vervolgens naar de map iot-hub\Quickstarts\simulated-device-2 .

  2. Open het bestand src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java in een teksteditor van uw keuze.

    Vervang de waarde van de connString variabele door de apparaatverbindingsreeks die u eerder hebt genoteerd. Sla uw wijzigingen vervolgens op in SimulatedDevice.java.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken te installeren en de toepassing voor het gesimuleerde apparaat te bouwen:

    mvn clean package
    
  4. Voer in het lokale terminalvenster de volgende opdrachten uit om de toepassing voor het gesimuleerde apparaat uit te voeren:

    java -jar target/simulated-device-2-1.0.0-with-deps.jar
    

    In de volgende schermafbeelding ziet u de uitvoer op het moment dat de toepassing voor het gesimuleerde apparaat telemetriegegevens naar uw IoT-hub verzendt:

    Schermopname van een terminalvenster met de uitvoer van de toepassing voor het gesimuleerde apparaat.

De directe methode aanroepen

De back-endtoepassing maakt verbinding met een eindpunt aan de servicezijde op uw IoT Hub. De toepassing maakt directe methode-aanroepen naar een apparaat via uw IoT-hub en luistert naar bevestigingen. Een IoT Hub-back-endtoepassing wordt doorgaans uitgevoerd in de cloud.

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het Java-voorbeeldproject. Navigeer vervolgens naar de map iot-hub\Quickstarts\back-end-application .

  2. Open het bestand src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java in een teksteditor van uw keuze.

    Vervang de waarde van de iotHubConnectionString variabele door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla uw wijzigingen vervolgens op in BackEndApplication.java.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken te installeren en de back-endtoepassing te bouwen:

    mvn clean package
    
  4. Voer in het lokale terminalvenster de volgende opdrachten uit om de back-endtoepassing uit te voeren:

    java -jar target/back-end-application-1.0.0-with-deps.jar
    

    In de volgende schermopname ziet u de uitvoer wanneer de toepassing een directe methodeaanroep naar het apparaat maakt en een bevestiging ontvangt:

    Schermopname van een terminalvenster met het resultaat van de aanroep van de directe methode vanuit de servicetoepassing.

    Nadat u de back-endtoepassing hebt gestart, ziet u een bericht in het lokale terminalvenster van het gesimuleerde apparaat, en de frequentie waarmee het berichten verzendt verandert.

    Schermopname van een terminalvenster met het resultaat van het directe bericht en de bijgewerkte uitvoer van de toepassing voor het gesimuleerde apparaat.

In deze quickstart worden twee Node.js toepassingen gebruikt:

  • Een gesimuleerde apparaattoepassing die reageert op directe methoden die worden aangeroepen vanuit een back-endtoepassing. Als u de aanroepen van de directe methode wilt ontvangen, maakt deze toepassing verbinding met een apparaatspecifiek eindpunt op uw IoT-hub.
  • Een back-endtoepassing die de directe methoden op het gesimuleerde apparaat aanroept. Als u een directe methode op een apparaat wilt aanroepen, maakt deze toepassing verbinding met een servicespecifiek eindpunt op uw IoT-hub.

Vereiste voorwaarden

Opmerking

In dit artikel wordt de nieuwste versie van de Azure IoT-extensie gebruikt, die azure-iotwordt genoemd. 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 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.

Een IoT-hub maken

In deze sectie gebruikt u Azure CLI om een IoT-hub en een resourcegroep 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.

Als u al een IoT-hub in uw Azure-abonnement hebt, kunt u deze sectie overslaan.

Een IoT-hub en een resourcegroep maken:

  1. Start je CLI-app. Als u de CLI-opdrachten in de rest van dit artikel wilt uitvoeren, kopieert u de syntaxis van de opdracht, plakt u deze in uw CLI-app, bewerkt u variabelewaarden en drukt u op Enter.

    • Als u Cloud Shell gebruikt, selecteert u de knop Uitproberen in de CLI-opdrachten om Cloud Shell te starten in een gesplitst browservenster. U kunt de Cloud Shell ook openen in een afzonderlijk browsertabblad.
    • Als u Azure CLI lokaal gebruikt, start u uw CLI-console-app en meldt u zich aan bij Azure CLI.
  2. Voer az extension add uit om de azure-iot-extensie te installeren of bij te werken naar de huidige versie.

    az extension add --upgrade --name azure-iot
    
  3. Voer in uw CLI-app de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht wordt een resourcegroep met de naam MyResourceGroup gemaakt in de locatie eastus.

    Opmerking

    U kunt desgewenst een andere locatie instellen. Als u de beschikbare locaties wilt zien, voert u de opdracht uit az account list-locations. In deze quickstart wordt gebruikgemaakt van eastus , zoals wordt weergegeven in de voorbeeldopdracht.

    az group create --name MyResourceGroup --location eastus
    
  4. Voer de opdracht az iot hub create uit om een IoT-hub te maken. Het kan enkele minuten duren voordat een IoT-hub is gemaakt.

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando 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 snelstartgids, waar u de tijdelijke aanduiding ziet.

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

Een apparaat registreren

Een apparaat moet zijn geregistreerd bij uw IoT-hub voordat het verbinding kan maken. In deze sectie gebruikt u Azure CLI om een apparaat-id te maken.

Als u al een apparaat hebt geregistreerd in uw IoT-hub, kunt u deze sectie overslaan.

Een apparaat-id maken:

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

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando door de naam die u hebt gekozen voor uw IoT-hub. De naam van de IoT-hub moet wereldwijd uniek zijn in Azure.

    myDevice. U kunt deze naam gebruiken voor de apparaat-id in dit artikel of een andere apparaatnaam opgeven.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    De verbindingsreeks-uitvoer heeft de volgende indeling:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Sla de verbindingsreeks op een veilige locatie op.

Opmerking

Houd uw CLI-app geopend. U gebruikt deze in latere stappen.

De serviceverbindingsreeks ophalen

U hebt ook de serviceverbindingsreeks van uw IoT Hub nodig om de back-endtoepassing in staat te stellen verbinding te maken met uw IoT-hub en de berichten op te halen. Met de volgende opdracht wordt de serviceverbindingsreeks voor uw IoT-hub opgehaald:

YourIoTHubName: Vervang deze tijdelijke aanduiding in de volgende opdracht door de naam die u hebt gekozen voor uw IoT-hub.

az iot hub connection-string show \
  --policy-name service --hub-name {YourIoTHubName} --output table

Noteer de serviceverbindingsreeks, die er als volgt uitziet:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

U gebruikt deze waarde verderop in de quickstart. Deze serviceverbindingsreeks verschilt van de apparaatverbindingsreeks die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De gesimuleerde apparaattoepassing maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verzendt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit uw hub. In deze quickstart instrueert de aanroep van de directe methode van de hub het apparaat om het interval te wijzigen waarop het telemetrie verzendt. Het gesimuleerde apparaat verzendt een bevestiging terug naar uw hub nadat deze de directe methode heeft uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van het voorbeeldproject Node.js. Navigeer vervolgens naar de map iot-hub\Quickstarts\simulated-device-2 .

  2. Open het SimulatedDevice.js bestand in een teksteditor van uw keuze.

    Vervang de waarde van de connectionString variabele door de apparaatverbindingsreeks die u eerder hebt genoteerd. Sla uw wijzigingen vervolgens op in SimulatedDevice.js.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken te installeren en de toepassing voor het gesimuleerde apparaat uit te voeren:

    npm install
    node SimulatedDevice.js
    

    In de volgende schermafbeelding ziet u de uitvoer op het moment dat de toepassing voor het gesimuleerde apparaat telemetriegegevens naar uw IoT-hub verzendt:

    Schermopname van een terminalvenster met de uitvoer van de toepassing voor het gesimuleerde apparaat.

De directe methode aanroepen

De back-endtoepassing maakt verbinding met een eindpunt aan de servicezijde op uw IoT-hub. De toepassing maakt directe methode-aanroepen naar een apparaat via uw IoT-hub en luistert naar bevestigingen. Een IoT Hub-back-endtoepassing wordt doorgaans uitgevoerd in de cloud.

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het voorbeeldproject Node.js. Navigeer vervolgens naar de map iot-hub\Quickstarts\back-end-application .

  2. Open het BackEndApplication.js bestand in een teksteditor van uw keuze.

    Vervang de waarde van de connectionString variabele door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla uw wijzigingen vervolgens op in BackEndApplication.js.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken te installeren en de back-endtoepassing uit te voeren:

    npm install
    node BackEndApplication.js
    

    In de volgende schermopname ziet u de uitvoer wanneer de toepassing een directe methodeaanroep naar het apparaat maakt en een bevestiging ontvangt:

    Schermopname van een terminalvenster met het resultaat van de aanroep van de directe methode vanuit de servicetoepassing.

    Nadat u de back-endtoepassing hebt gestart, ziet u een bericht in het lokale terminalvenster van het gesimuleerde apparaat, en de frequentie waarmee het berichten verzendt verandert.

    Schermopname van een terminalvenster met het resultaat van het directe bericht en de bijgewerkte uitvoer van de toepassing voor het gesimuleerde apparaat.

In deze quickstart worden twee Python-toepassingen gebruikt:

  • Een gesimuleerde apparaattoepassing die reageert op directe methoden die worden aangeroepen vanuit een back-endtoepassing.
  • Een back-endtoepassing die de directe methoden op het gesimuleerde apparaat aanroept.

Vereiste voorwaarden

Opmerking

In dit artikel wordt de nieuwste versie van de Azure IoT-extensie gebruikt, die azure-iotwordt genoemd. 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 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.

Een IoT-hub maken

In deze sectie gebruikt u Azure CLI om een IoT-hub en een resourcegroep 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.

Als u al een IoT-hub in uw Azure-abonnement hebt, kunt u deze sectie overslaan.

Een IoT-hub en een resourcegroep maken:

  1. Start je CLI-app. Als u de CLI-opdrachten in de rest van dit artikel wilt uitvoeren, kopieert u de syntaxis van de opdracht, plakt u deze in uw CLI-app, bewerkt u variabelewaarden en drukt u op Enter.

    • Als u Cloud Shell gebruikt, selecteert u de knop Uitproberen in de CLI-opdrachten om Cloud Shell te starten in een gesplitst browservenster. U kunt de Cloud Shell ook openen in een afzonderlijk browsertabblad.
    • Als u Azure CLI lokaal gebruikt, start u uw CLI-console-app en meldt u zich aan bij Azure CLI.
  2. Voer az extension add uit om de azure-iot-extensie te installeren of bij te werken naar de huidige versie.

    az extension add --upgrade --name azure-iot
    
  3. Voer in uw CLI-app de opdracht az group create uit om een resourcegroep te maken. Met de volgende opdracht wordt een resourcegroep met de naam MyResourceGroup gemaakt in de locatie eastus.

    Opmerking

    U kunt desgewenst een andere locatie instellen. Als u de beschikbare locaties wilt zien, voert u de opdracht uit az account list-locations. In deze quickstart wordt gebruikgemaakt van eastus , zoals wordt weergegeven in de voorbeeldopdracht.

    az group create --name MyResourceGroup --location eastus
    
  4. Voer de opdracht az iot hub create uit om een IoT-hub te maken. Het kan enkele minuten duren voordat een IoT-hub is gemaakt.

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando 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 snelstartgids, waar u de tijdelijke aanduiding ziet.

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

Een apparaat registreren

Een apparaat moet zijn geregistreerd bij uw IoT-hub voordat het verbinding kan maken. In deze sectie gebruikt u Azure CLI om een apparaat-id te maken.

Als u al een apparaat hebt geregistreerd in uw IoT-hub, kunt u deze sectie overslaan.

Een apparaat-id maken:

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

    YourIoTHubName. Vervang deze tijdelijke aanduiding en de omringende accolades in het volgende commando door de naam die u hebt gekozen voor uw IoT-hub. De naam van de IoT-hub moet wereldwijd uniek zijn in Azure.

    myDevice. U kunt deze naam gebruiken voor de apparaat-id in dit artikel of een andere apparaatnaam opgeven.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit.

    az iot hub device-identity connection-string show --device-id myDevice --hub-name {YourIoTHubName}
    

    De verbindingsreeks-uitvoer heeft de volgende indeling:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Sla de verbindingsreeks op een veilige locatie op.

Opmerking

Houd uw CLI-app geopend. U gebruikt deze in latere stappen.

De serviceverbindingsreeks ophalen

U hebt ook een serviceverbindingsreeks nodig om de back-endtoepassing in staat te stellen verbinding te maken met uw IoT-hub en de berichten op te halen. Met de volgende opdracht wordt de serviceverbindingsreeks voor uw IoT-hub opgehaald:

YourIoTHubName: Vervang deze tijdelijke aanduiding in de volgende opdracht door de naam die u voor uw IoT-hub kiest.

az iot hub connection-string show \
  --policy-name service \
  --hub-name {YourIoTHubName} \
  --output table

Noteer de serviceverbindingsreeks, die er als volgt uitziet:

HostName={YourIoTHubName}.azure-devices.net;SharedAccessKeyName=service;SharedAccessKey={YourSharedAccessKey}

U gebruikt deze waarde verderop in de quickstart. Deze serviceverbindingsreeks verschilt van de apparaatverbindingsreeks die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De gesimuleerde apparaattoepassing maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verzendt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit uw hub. In deze quickstart instrueert de aanroep van de directe methode van de hub het apparaat om het interval te wijzigen waarop het telemetrie verzendt. Het gesimuleerde apparaat verzendt een bevestiging terug naar uw hub nadat deze de directe methode heeft uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van het Python-voorbeeldproject. Navigeer vervolgens naar de map iot-hub\Quickstarts\simulated-device-2 .

  2. Open het SimulatedDeviceSync.py bestand in een teksteditor van uw keuze.

    Vervang de waarde van de CONNECTION_STRING variabele door de apparaatverbindingsreeks die u eerder hebt genoteerd. Sla de wijzigingen vervolgens op in SimulatedDeviceSync.py.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken voor de toepassing voor het gesimuleerde apparaat te installeren:

    pip install azure-iot-device
    
  4. Voer in het lokale terminalvenster de volgende opdrachten uit om de toepassing voor het gesimuleerde apparaat uit te voeren:

    python SimulatedDeviceSync.py
    

    In de volgende schermafbeelding ziet u de uitvoer op het moment dat de toepassing voor het gesimuleerde apparaat telemetriegegevens naar uw IoT-hub verzendt:

    Schermopname van een terminalvenster met de uitvoer van de toepassing voor het gesimuleerde apparaat.

De directe methode aanroepen

De back-endtoepassing maakt verbinding met een eindpunt aan de servicezijde op uw IoT Hub. De toepassing maakt directe methode-aanroepen naar een apparaat via uw IoT-hub en luistert naar bevestigingen. Een IoT Hub-back-endtoepassing wordt doorgaans uitgevoerd in de cloud.

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het Python-voorbeeldproject. Navigeer vervolgens naar de map iot-hub\Quickstarts\back-end-application .

  2. Open het bestand BackEndApplication.py in een teksteditor van uw keuze.

    Vervang de waarde van de CONNECTION_STRING variabele door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla uw wijzigingen vervolgens op in BackEndApplication.py.

  3. Voer in het lokale terminalvenster de volgende opdrachten uit om de vereiste bibliotheken voor de toepassing voor het gesimuleerde apparaat te installeren:

    pip install azure-iot-hub
    
  4. Voer in het lokale terminalvenster de volgende opdrachten uit om de back-endtoepassing uit te voeren:

    python BackEndApplication.py
    

    In de volgende schermopname ziet u de uitvoer wanneer de toepassing een directe methodeaanroep naar het apparaat maakt en een bevestiging ontvangt:

    Schermopname van een terminalvenster met het resultaat van de aanroep van de directe methode vanuit de servicetoepassing.

    Nadat u de back-endtoepassing hebt uitgevoerd, ziet u een bericht in het consolevenster terwijl het gesimuleerde apparaat draait, en de snelheid waarmee het berichten verzendt verandert.

    Schermopname van een terminalvenster met het resultaat van het directe bericht en de bijgewerkte uitvoer van de toepassing voor het gesimuleerde apparaat.

De hulpbronnen opschonen

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

Anders kunt u de Azure-resources die in dit artikel zijn gemaakt, verwijderen om kosten te voorkomen.

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 middelen verwijdert. Als u de IoT-hub in een bestaande resourcegroep hebt gemaakt die resources bevat die u wilt behouden, verwijdert u alleen de IoT Hub-resource zelf in plaats van de resourcegroep te verwijderen.

Verwijderen van een resourcegroep op naam:

  1. Meld u aan bij de Azure-portal en selecteer Resourcegroepen.

  2. Typ in het tekstvak Filteren op een veld de naam van de resourcegroep die uw IoT-hub bevat.

  3. Selecteer in de lijst met resultaten de resourcegroep met uw IoT-hub.

  4. Selecteer in het werkvenster voor de resourcegroep de optie Resourcegroep verwijderen in de opdrachtbalk.

    Schermopname van het werkvenster van een resourcegroep in Azure Portal, met de opdracht Resourcegroep verwijderen gemarkeerd in de opdrachtbalk.

  5. U wordt gevraagd om het verwijderen van de resourcegroep te bevestigen. Typ ter bevestiging nogmaals de naam van de resourcegroep. Selecteer vervolgens Verwijderen. Na enkele ogenblikken worden de resourcegroep en alle daarin opgenomen resources verwijderd.

Volgende stappen

In deze quickstart hebt u een directe methode aangeroepen op een apparaat vanuit een servicetoepassing en gereageerd op de aanroep van de directe methode in een gesimuleerde apparaattoepassing.

Voor meer informatie over het routeren van apparaat-naar-cloud-berichten naar verschillende bestemmingen in de cloud, gaat u verder met de volgende zelfstudie.