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

In deze snelstartgids gebruikt u een directe methode om een gesimuleerd apparaat te beheren dat met uw IoT-hub is verbonden. IoT Hub is een Azure-service waarmee u uw IoT-apparaten vanuit de cloud kunt beheren en grote hoeveelheden apparaattelemetrie kunt opnemen in de cloud 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 snelstartgids worden twee vooraf geschreven .NET-toepassingen gebruikt:

  • Een toepassing voor een gesimuleerd apparaat dat reageert op de directe methoden die worden aangeroepen vanuit een servicetoepassing. Om de aanroepen van de directe methoden te kunnen 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 u met deze toepassing verbinding met een eindpunt aan de servicezijde van uw IoT-hub.

Vereisten

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

  • De twee voorbeeldtoepassingen die u uitvoert in deze snelstartgids zijn geschreven in C#. U hebt de .NET SDK 6.0 of hoger nodig op uw ontwikkelcomputer.

    U kunt de .NET Core SDK voor meerdere platforms downloaden van .NET.

    Gebruik de volgende opdracht om de huidige versie van C# op uw ontwikkelcomputer te controleren:

    dotnet --version
    
  • Kloon of download de Azure IoT C#-SDK van GitHub.

  • Zorg ervoor dat de poort 8883 is geopend in de firewall. In het apparaatvoorbeeld in deze quickstart wordt het MQTT-protocol gebruikt, dat communiceert via poort 8883. Deze poort is in sommige netwerkomgevingen van bedrijven en onderwijsinstellingen mogelijk geblokkeerd. Zie Verbinding maken met IoT Hub (MQTT) voor meer informatie en manieren om dit probleem te omzeilen.

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.

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 uw CLI-app. Als u de CLI-opdrachten in de rest van deze quickstart 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 de 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 te upgraden 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 op de locatie VS - oost.

    Notitie

    U kunt desgewenst een andere locatie instellen. Voer uit om beschikbare locaties weer te geven az account list-locations. In deze quickstart wordt eastus gebruikt, 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 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 ziet.

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

    Tip

    Nadat u een IoT-hub hebt gemaakt, kunt u in de rest van deze quickstart CLI-opdrachten blijven gebruiken om te communiceren met de hub. U kunt desgewenst Azure IoT Explorer gebruiken in plaats van de CLI-opdrachten. IoT Explorer is een GUI-toepassing waarmee u verbinding kunt maken met een bestaande IoT Hub en apparaten kunt toevoegen, beheren en bewaken. Zie Azure IoT Explorer installeren en gebruiken voor meer informatie.

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 door een door u gekozen naam voor de IoT-hub.

    myDevice. U kunt deze naam rechtstreeks gebruiken voor de apparaat-id in de rest van deze quickstart. U kunt ook een andere naam gebruiken.

    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 uitvoer van connection string heeft de volgende indeling:

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

Notitie

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

De verbindingsreeks voor de service ophalen

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

Met de volgende opdracht haalt u de serviceverbindingsreeks voor uw IoT-hub op:

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

Noteer de serviceverbindingsreeks. Deze ziet er ongeveer als volgt uit:

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

U gebruikt deze waarde verderop in de snelstartgids.

Een apparaat simuleren

De toepassing voor het gesimuleerde apparaat maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verstuurt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit de hub. In deze snelstartgids geeft de aanroep van de directe methode vanuit de hub het apparaat opdracht om het interval voor het verzenden van telemetrie te wijzigen. Het gesimuleerde apparaat stuurt een bevestiging terug naar de hub nadat de directe methode is uitgevoerd.

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

  2. Voer de volgende opdracht uit om de vereiste pakketten voor de toepassing van 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 het apparaat connection string u eerder hebt genoteerd.

    dotnet run -- "{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:

    Het gesimuleerde apparaat uitvoeren

De directe methode aanroepen

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

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het voorbeeldproject in C#. Navigeer vervolgens naar de map iothub\device\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 IoT Hub service connection string 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 schermafbeelding ziet u de uitvoer op het moment dat de toepassing een directe methode op het apparaat aanroept en een bevestiging ontvangt:

    De servicetoepassing uitvoeren

    Nadat u de servicetoepassing hebt uitgevoerd, ziet u een bericht in het consolevenster dat het gesimuleerde apparaat wordt uitgevoerd, en dat het interval voor het verzenden van berichten is gewijzigd:

    Wijziging in gesimuleerde client

In deze quickstart worden twee Java-toepassingen gebruikt:

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

Vereisten

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

  • Java SE Development Kit 8. In Java-langetermijnondersteuning voor Azure en Azure Stack onder Langetermijnondersteuning selecteert u Java 8.

    Gebruik de volgende opdracht om de huidige versie van Java op uw ontwikkelcomputer te controleren:

    java -version
    
  • Apache Maven 3.

    Gebruik de volgende opdracht om de huidige versie van Maven op uw ontwikkelcomputer te controleren:

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

  • Zorg ervoor dat poort 8883 is geopend in uw firewall. In het apparaatvoorbeeld in deze quickstart wordt het MQTT-protocol gebruikt, dat communiceert via poort 8883. Deze poort is in sommige netwerkomgevingen van bedrijven en onderwijsinstellingen mogelijk geblokkeerd. Zie Verbinding maken met IoT Hub (MQTT) voor meer informatie en manieren om dit probleem te omzeilen.

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.

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 uw CLI-app. Als u de CLI-opdrachten in de rest van deze quickstart 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 de 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 te upgraden 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 op de locatie VS - oost.

    Notitie

    U kunt desgewenst een andere locatie instellen. Voer uit om beschikbare locaties weer te geven az account list-locations.

    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 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 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 quickstart gebruikt u de Azure Cloud Shell om een apparaat-id te maken.

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

  1. Voer de opdracht az iot hub device-identity create uit in Azure Cloud Shell om de apparaat-id te maken.

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    MyJavaDevice : dit is de naam van het apparaat dat u gaat registreren. Het is raadzaam om MyJavaDevice te gebruiken zoals wordt weergegeven. Als u een andere naam voor het apparaat kiest, moet u deze naam mogelijk ook in de rest van dit artikel gebruiken, en moet u de apparaatnaam bijwerken in de voorbeeldtoepassingen voordat u ze uitvoert.

    az iot hub device-identity create \
      --hub-name {YourIoTHubName} --device-id MyJavaDevice
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit in Azure Cloud Shell om het apparaat connection string op te halen voor het apparaat dat u zojuist hebt geregistreerd:

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    az iot hub device-identity connection-string show\
      --hub-name {YourIoTHubName} \
      --device-id MyJavaDevice \
      --output table
    

    Noteer de apparaatverbindingsreeks. Deze ziet er ongeveer als volgt uit:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

    U gebruikt deze waarde verderop in de snelstartgids.

De verbindingsreeks voor de service ophalen

U hebt ook een service-verbindingsreeks nodig, zodat de back-end-toepassing verbinding kan maken met de IoT-hub en de berichten kan ophalen. Met de volgende opdracht haalt u de serviceverbindingsreeks voor uw IoT-hub op:

YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

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

Noteer de serviceverbindingsreeks. Deze ziet er ongeveer als volgt uit:

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

U gebruikt deze waarde verderop in de snelstartgids. De verbindingsreeks voor de service is anders dan de verbindingsreeks voor het apparaat die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De toepassing voor het gesimuleerde apparaat maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verstuurt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit de hub. In deze snelstartgids geeft de aanroep van de directe methode vanuit de hub het apparaat opdracht om het interval voor het verzenden van telemetrie te wijzigen. Het gesimuleerde apparaat stuurt een bevestiging terug naar de hub nadat de directe methode is uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van het voorbeeldproject in Java. 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 variabele connString door de apparaatverbindingsreeks die u eerder hebt genoteerd. Sla daarna de wijzigingen 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 compileren:

    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:

    Uitvoer van de telemetrie die door het apparaat wordt verzonden naar uw IoT-hub

De directe methode aanroepen

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

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het voorbeeldproject in Java. 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 variabele iotHubConnectionString door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla de 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 compileren:

    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 schermafbeelding ziet u de uitvoer op het moment dat de toepassing een directe methode op het apparaat aanroept en een bevestiging ontvangt:

    Uitvoer terwijl de toepassing een directe methode aanroept via uw IoT-hub

    Nadat u de back-endtoepassing hebt uitgevoerd, ziet u een bericht in het consolevenster dat het gesimuleerde apparaat wordt uitgevoerd, en dat het interval voor het verzenden van berichten is gewijzigd:

    Consolebericht van apparaat toont de mate waarin het verandert

In deze quickstart worden twee Node.js toepassingen gebruikt:

  • Een toepassing voor een gesimuleerd apparaat die reageert op de directe methoden die worden aangeroepen vanuit een back-endtoepassing. Om de aanroepen van de directe methoden te kunnen 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.

Vereisten

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

  • Node.js 12+.

    Gebruik de volgende opdracht om de huidige versie van Node.js op uw ontwikkelcomputer te controleren:

    node --version
    
  • Kloon of download de Azure IoT Node.js-voorbeelden van GitHub.

  • Zorg ervoor dat de poort 8883 is geopend in de firewall. In het apparaatvoorbeeld in deze quickstart wordt het MQTT-protocol gebruikt, dat communiceert via poort 8883. Deze poort is in sommige netwerkomgevingen van bedrijven en onderwijsinstellingen mogelijk geblokkeerd. Zie Verbinding maken met IoT Hub (MQTT) voor meer informatie en manieren om dit probleem te omzeilen.

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.

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 uw CLI-app. Als u de CLI-opdrachten in de rest van deze quickstart 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 de 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 te upgraden 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 op de locatie VS - oost.

    Notitie

    U kunt desgewenst een andere locatie instellen. Voer uit om beschikbare locaties weer te geven az account list-locations.

    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 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 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 quickstart 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.

  1. Voer de opdracht az iot hub device-identity create uit in Azure Cloud Shell om de apparaat-id te maken.

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    MyNodeDevice: dit is de naam van het apparaat dat u gaat registreren. Het is raadzaam om MyNodeDevice te gebruiken zoals wordt weergegeven. Als u een andere naam voor het apparaat kiest, moet u deze naam mogelijk ook in de rest van dit artikel gebruiken, en moet u de apparaatnaam bijwerken in de voorbeeldtoepassingen voordat u ze uitvoert.

    az iot hub device-identity create \
      --hub-name {YourIoTHubName} --device-id MyNodeDevice
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit in Azure Cloud Shell om het apparaat connection string op te halen voor het apparaat dat u zojuist hebt geregistreerd:

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    az iot hub device-identity connection-string show \
      --hub-name {YourIoTHubName} \
      --device-id MyNodeDevice \
      --output table
    

    Noteer de apparaatverbindingsreeks. Deze ziet er ongeveer als volgt uit:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

    U gebruikt deze waarde verderop in de snelstartgids.

De verbindingsreeks voor de service ophalen

U hebt ook de service van uw IoT-hub nodig connection string 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 haalt u de serviceverbindingsreeks voor uw IoT-hub op:

YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

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

Noteer de serviceverbindingsreeks. Deze ziet er ongeveer als volgt uit:

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

U gebruikt deze waarde verderop in de snelstartgids. De verbindingsreeks voor de service is anders dan de verbindingsreeks voor het apparaat die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De toepassing voor het gesimuleerde apparaat maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verstuurt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit de hub. In deze snelstartgids geeft de aanroep van de directe methode vanuit de hub het apparaat opdracht om het interval voor het verzenden van telemetrie te wijzigen. Het gesimuleerde apparaat stuurt een bevestiging terug naar de hub nadat de directe methode is uitgevoerd.

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

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

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

  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:

    Het gesimuleerde apparaat uitvoeren

De directe methode aanroepen

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

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

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

    Vervang de waarde van de variabele connectionString door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla de 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 schermafbeelding ziet u de uitvoer op het moment dat de toepassing een directe methode op het apparaat aanroept en een bevestiging ontvangt:

    Uitvoer wanneer de toepassing via een directe methode het apparaat aanroept

    Nadat u de back-endtoepassing hebt uitgevoerd, ziet u een bericht in het consolevenster dat het gesimuleerde apparaat wordt uitgevoerd, en dat het interval voor het verzenden van berichten is gewijzigd:

    Uitvoer wanneer er een wijziging in de gesimuleerde client is

In deze quickstart worden twee Python-toepassingen gebruikt:

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

Vereisten

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.

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 uw CLI-app. Als u de CLI-opdrachten in de rest van deze quickstart 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 de 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 te upgraden 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 op de locatie VS - oost.

    Notitie

    U kunt desgewenst een andere locatie instellen. Voer uit om beschikbare locaties weer te geven az account list-locations.

    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 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 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 snelstart gebruikt u Azure Cloud Shell om een gesimuleerd apparaat te registreren.

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

  1. Voer de opdracht az iot hub device-identity create uit in Azure Cloud Shell om de apparaat-id te maken.

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    MyPythonDevice: dit is de naam van het apparaat dat u gaat registreren. Het is raadzaam om MyPythonDevice te gebruiken zoals wordt weergegeven. Als u een andere naam voor het apparaat kiest, moet u deze naam mogelijk ook in de rest van dit artikel gebruiken, en moet u de apparaatnaam bijwerken in de voorbeeldtoepassingen voordat u ze uitvoert.

    az iot hub device-identity create --hub-name {YourIoTHubName} --device-id MyPythonDevice
    
  2. Voer de opdracht az iot hub device-identity connection-string show uit in Azure Cloud Shell om het apparaat connection string op te halen voor het apparaat dat u zojuist hebt geregistreerd:

    YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

    az iot hub device-identity connection-string show --hub-name {YourIoTHubName} --device-id MyPythonDevice --output table
    

    Noteer de apparaatverbindingsreeks. Deze ziet er ongeveer als volgt uit:

    HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyNodeDevice;SharedAccessKey={YourSharedAccessKey}

    U gebruikt deze waarde verderop in de snelstartgids.

De verbindingsreeks voor de service ophalen

U hebt ook een service-verbindingsreeks nodig, zodat de back-end-toepassing verbinding kan maken met de IoT-hub en de berichten kan ophalen. Met de volgende opdracht haalt u de serviceverbindingsreeks voor uw IoT-hub op:

YourIoTHubName: vervang deze tijdelijke aanduiding door een door u gekozen naam voor de IoT-hub.

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

Noteer de serviceverbindingsreeks. Deze ziet er ongeveer als volgt uit:

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

U gebruikt deze waarde verderop in de snelstartgids. De verbindingsreeks voor de service is anders dan de verbindingsreeks voor het apparaat die u in de vorige stap hebt genoteerd.

Een apparaat simuleren

De toepassing voor het gesimuleerde apparaat maakt verbinding met een apparaatspecifiek eindpunt op uw IoT-hub, verstuurt gesimuleerde telemetrie en luistert naar aanroepen van directe methoden vanuit de hub. In deze snelstartgids geeft de aanroep van de directe methode vanuit de hub het apparaat opdracht om het interval voor het verzenden van telemetrie te wijzigen. Het gesimuleerde apparaat stuurt een bevestiging terug naar de hub nadat de directe methode is uitgevoerd.

  1. Navigeer in een lokaal terminalvenster naar de hoofdmap van het voorbeeldproject in Python. 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 variabele CONNECTION_STRING 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 te installeren voor de toepassing voor het gesimuleerde apparaat:

    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:

    Het gesimuleerde apparaat uitvoeren

De directe methode aanroepen

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

  1. Navigeer in een ander lokaal terminalvenster naar de hoofdmap van het voorbeeldproject in Python. 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 variabele CONNECTION_STRING door de serviceverbindingsreeks die u eerder hebt genoteerd. Sla daarna de wijzigingen in het bestand BackEndApplication.py op.

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

    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 schermafbeelding ziet u de uitvoer op het moment dat de toepassing een directe methode op het apparaat aanroept en een bevestiging ontvangt:

    De back-endtoepassing uitvoeren

    Nadat u de back-endtoepassing hebt uitgevoerd, ziet u een bericht in het consolevenster dat het gesimuleerde apparaat wordt uitgevoerd, en dat het interval voor het verzenden van berichten is gewijzigd:

    Wijziging in gesimuleerde client

Resources opschonen

Als u verder wilt gaan met het volgende aanbevolen artikel, kunt u de resources die u al hebt gemaakt behouden en opnieuw gebruiken.

Anders kunt u de Azure-resources die u in dit artikel hebt 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 resources verwijdert. Als u de IoT Hub in een bestaande resourcegroep hebt gemaakt met resources die u wilt behouden, moet u alleen de IoT Hub-resource zelf verwijderen in plaats van de resourcegroep te verwijderen.

Een resourcegroep verwijderen op naam:

  1. Meld u aan bij Azure Portal en selecteer Resourcegroepen.

  2. Typ in het tekstvak Filteren op naam de naam van de resourcegroep die uw IoT Hub bevat.

  3. Selecteer rechts van de resourcegroep in de lijst met resultaten ... en vervolgens Resourcegroep verwijderen.

    Verwijderen

  4. 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 resources in de groep verwijderd.

Volgende stappen

In deze quickstart hebt u vanuit een servicetoepassing een directe methode op een apparaat aangeroepen, en op de aanroep van de directe methode gereageerd in een toepassing voor een gesimuleerd apparaat.

Ga verder met de volgende zelfstudie als u wilt leren hoe u berichten van een apparaat naar andere bestemmingen in de cloud kunt routeren.