Teilen über


Schnellstart: Steuern eines Geräts, das mit einem IoT-Hub verbunden ist

In dieser Schnellstartanleitung verwenden Sie eine direkte Methode, um ein simuliertes Gerät zu steuern, das mit Ihrem IoT-Hub verbunden ist. IoT Hub ist ein Azure-Dienst, mit dem Sie Ihre IoT-Geräte aus der Cloud verwalten und hohe Mengen an Gerätetelemetrie zur Speicherung oder Verarbeitung in die Cloud aufnehmen können. Sie können direkte Methoden verwenden, um das Verhalten von Geräten zu ändern, die mit Ihrem IoT-Hub verbunden sind.

Die Schnellstartanleitung verwendet zwei vordefinierte .NET-Anwendungen:

  • Eine simulierte Geräteanwendung, die auf direkte Methoden reagiert, die von einer Dienstanwendung aufgerufen werden. Um die direkten Methodenaufrufe zu empfangen, stellt diese Anwendung eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her.

  • Eine Dienstanwendung, die die direkten Methoden auf dem simulierten Gerät aufruft. Um eine direkte Methode auf einem Gerät aufzurufen, stellt diese Anwendung eine Verbindung mit dem dienstseitigen Endpunkt auf Ihrem IoT-Hub her.

Voraussetzungen

  • Ein Azure-Konto mit einem aktiven Abonnement. Eines kostenlos erstellen.

  • Die beiden Beispielanwendungen, die Sie in dieser Schnellstartanleitung ausführen, werden mit C# geschrieben. Sie benötigen das .NET SDK 6.0 oder höher auf Ihrem Entwicklungscomputer.

    Sie können das .NET Core SDK für mehrere Plattformen von .NET herunterladen.

    Mit dem folgenden Befehl können Sie die aktuelle C#-Version auf Ihrem Entwicklungscomputer überprüfen:

    dotnet --version
    
  • Klonen sie, oder laden Sie das Microsoft Azure IoT SDK für .NET von GitHub herunter. Die von dieser Schnellstartanleitung verwendeten Beispielanwendungen sind im SDK enthalten.

  • Stellen Sie sicher, dass der Port 8883 in Ihrer Firewall geöffnet ist. Das Gerätebeispiel in dieser Schnellstartanleitung verwendet MQTT-Protokoll, das über Port 8883 kommuniziert. In einigen Netzwerkumgebungen von Unternehmen oder Bildungseinrichtungen könnte dieser Port unter Umständen blockiert sein. Weitere Informationen und Möglichkeiten, dieses Problem zu umgehen, finden Sie im Abschnitt „Verbinden mit IoT Hub“ von „Kommunikation mit einem IoT-Hub unter Verwendung des MQTT-Protokolls“.

Hinweis

In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacyversion heißt azure-cli-iot-ext. Sie sollten nur eine Version installiert haben. Sie können den Befehl az extension list verwenden, um die derzeit installierten Erweiterungen zu überprüfen.

Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

Um zu sehen, welche Erweiterungen derzeit installiert sind, verwenden Sie az extension list.

In diesem Abschnitt verwenden Sie die Azure CLI zum Erstellen eines IoT-Hubs und einer Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Ein IoT-Hub fungiert als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten.

Wenn Sie bereits über einen IoT-Hub in Ihrem Azure-Abonnement verfügen, können Sie diesen Abschnitt überspringen.

So erstellen Sie einen IoT-Hub und eine Ressourcengruppe:

  1. Starten der CLI-App. Kopieren Sie zum Ausführen der CLI-Befehle im restlichen Teil dieses Artikels die Befehlssyntax, fügen Sie diese in Ihre CLI-App ein, bearbeiten Sie die Variablenwerte und drücken Sie Enter.

    • Wählen Sie bei Verwendung von Cloud Shell die Schaltfläche Ausprobieren in den CLI-Befehlen aus, um Cloud Shell in einem geteilten Browserfenster zu starten. Alternativ können Sie Cloud Shell auch in einem separaten Browsertab öffnen.
    • Gehen Sie wie folgt vor, wenn Sie die Azure CLI lokal verwenden: Starten Sie Ihre CLI-Konsolen-App, und melden Sie sich bei der Azure CLI an.
  2. Führen Sie az extension add aus, um die Erweiterung azure-iot zu installieren oder auf die aktuelle Version zu aktualisieren.

    az extension add --upgrade --name azure-iot
    
  3. Führen Sie in Ihrer CLI-App den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Mit dem folgenden Befehl wird eine Ressourcengruppe mit dem Namen MyResourceGroup am Standort eastus erstellt.

    Hinweis

    Optional können Sie einen anderen Standort festlegen. Führen Sie zum Anzeigen der verfügbaren Standorte az account list-locations aus. In dieser Schnellstartanleitung wird eastus verwendet, wie im Beispielbefehl gezeigt.

    az group create --name MyResourceGroup --location eastus
    
  4. Führen Sie den Befehl az iot hub create aus, um einen IoT-Hub zu erstellen. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Verwenden Sie im weiteren Verlauf dieser Schnellstartanleitung den Namen des IoT-Hubs für alle Vorkommen dieses Platzhalters.

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

Rufen Sie die Dienstverbindungszeichenfolge ab

Außerdem benötigen Sie die Dienstverbindungszeichenfolge Ihres IoT-Hubs, damit die Dienstanwendung eine Verbindung mit dem Hub herstellen und die Nachrichten abrufen kann. Die Dienstverbindungszeichenfolge ist für Ihren IoT-Hub als Ganzes vorgesehen und unterscheidet sich von der Geräteverbindungszeichenfolge, die Sie im vorherigen Abschnitt abgerufen haben.

Mit dem folgenden Befehl wird die Dienstverbindungszeichenfolge für Ihren IoT-Hub abgerufen:

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

Notieren Sie sich die Dienstverbindungszeichenfolge, die wie folgt aussieht:

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

Sie verwenden diesen Wert später in der Schnellstartanleitung.

Simulieren eines Geräts

Die simulierte Geräteanwendung stellt eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her, sendet simulierte Telemetrie und lauscht auf direkte Methodenaufrufe von Ihrem Hub. In dieser Schnellstartanleitung weist der direkte Methodenaufruf vom Hub das Gerät an, das Intervall zu ändern, in dem Telemetrie gesendet wird. Das simulierte Gerät sendet eine Bestätigung zurück an Ihren Hub, nachdem die direkte Methode ausgeführt wurde.

  1. Navigieren Sie in einem lokalen Terminalfenster zum Stammordner des SDK. Navigieren Sie dann zum Ordner "iothub\device\samples\getting started\SimulatedDeviceWithCommand ".

  2. Führen Sie den folgenden Befehl aus, um die erforderlichen Pakete für die simulierte Geräteanwendung zu installieren:

    dotnet restore
    
  3. Führen Sie den folgenden Befehl aus, um die simulierte Geräteanwendung zu erstellen und auszuführen.

    {DeviceConnectionString}: Ersetzen Sie diesen Platzhalter durch die zuvor erwähnte Geräteverbindungszeichenfolge.

    dotnet run -- -c "{DeviceConnectionString}"
    

    Der folgende Screenshot zeigt die Ausgabe, während die Anwendung zur Simulation eines Geräts Telemetriedaten an Ihre IoT Hub-Instanz sendet:

    Screenshot eines Terminalfensters, in dem die Ausgabe der simulierten Geräteanwendung angezeigt wird.

Rufen Sie die direkte Methode auf

Die Dienstanwendung stellt eine Verbindung mit einem dienstseitigen Endpunkt auf Ihrem IoT Hub her. Die Anwendung führt direkte Methodenaufrufe an ein Gerät über Ihren IoT-Hub durch und lauscht auf Bestätigungen. Eine IoT Hub-Dienstanwendung wird in der Regel in der Cloud ausgeführt.

  1. Navigieren Sie in einem anderen lokalen Terminalfenster zum Stammordner des SDK. Navigieren Sie dann zum Ordner "iothub\service\samples\getting started\InvokeDeviceMethod ".

  2. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken für die Dienstanwendung zu installieren:

    dotnet build
    
  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die Dienstanwendung zu erstellen und auszuführen.

    {ServiceConnectionString}: Ersetzen Sie diesen Platzhalter durch die Zuvor erwähnte IoT Hub-Dienstverbindungszeichenfolge.

    {DeviceName}: Ersetzen Sie diesen Platzhalter durch den Namen des Geräts, das Sie registriert haben.

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

    Der folgende Screenshot zeigt die Ausgabe, wenn die Anwendung einen direkten Methodenaufruf an das Gerät sendet und eine Bestätigung erhält:

    Screenshot eines Terminalfensters, das das Ergebnis des direkten Methodenaufrufs aus der Dienstanwendung zeigt.

    Nachdem Sie die Dienstanwendung ausgeführt haben, wird im lokalen Terminalfenster, in dem das simulierte Gerät ausgeführt wird, eine Meldung angezeigt, und die Häufigkeit, mit der Nachrichten gesendet werden, werden geändert:

    Screenshot eines Terminalfensters, in dem das Ergebnis der direkten Nachricht und die aktualisierte Ausgabe der simulierten Geräteanwendung angezeigt werden.

Diese Schnellstartanleitung verwendet zwei Java-Anwendungen:

  • Eine simulierte Geräteanwendung, die auf direkte Methoden reagiert, die von einer Back-End-Anwendung aufgerufen werden.
  • Eine Dienstanwendung, die die direkte Methode auf dem simulierten Gerät aufruft.

Voraussetzungen

Hinweis

In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacyversion heißt azure-cli-iot-ext. Sie sollten nur eine Version installiert haben. Sie können den Befehl az extension list verwenden, um die derzeit installierten Erweiterungen zu überprüfen.

Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

Um zu sehen, welche Erweiterungen derzeit installiert sind, verwenden Sie az extension list.

Erstellen eines IoT-Hubs

In diesem Abschnitt verwenden Sie die Azure CLI zum Erstellen eines IoT-Hubs und einer Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Ein IoT-Hub fungiert als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten.

Wenn Sie bereits über einen IoT-Hub in Ihrem Azure-Abonnement verfügen, können Sie diesen Abschnitt überspringen.

So erstellen Sie einen IoT-Hub und eine Ressourcengruppe:

  1. Starten der CLI-App. Kopieren Sie zum Ausführen der CLI-Befehle im restlichen Teil dieses Artikels die Befehlssyntax, fügen Sie diese in Ihre CLI-App ein, bearbeiten Sie die Variablenwerte und drücken Sie Enter.

    • Wählen Sie bei Verwendung von Cloud Shell die Schaltfläche Ausprobieren in den CLI-Befehlen aus, um Cloud Shell in einem geteilten Browserfenster zu starten. Alternativ können Sie Cloud Shell auch in einem separaten Browsertab öffnen.
    • Gehen Sie wie folgt vor, wenn Sie die Azure CLI lokal verwenden: Starten Sie Ihre CLI-Konsolen-App, und melden Sie sich bei der Azure CLI an.
  2. Führen Sie az extension add aus, um die Erweiterung azure-iot zu installieren oder auf die aktuelle Version zu aktualisieren.

    az extension add --upgrade --name azure-iot
    
  3. Führen Sie in Ihrer CLI-App den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Mit dem folgenden Befehl wird eine Ressourcengruppe mit dem Namen MyResourceGroup am Standort eastus erstellt.

    Hinweis

    Optional können Sie einen anderen Standort festlegen. Führen Sie zum Anzeigen der verfügbaren Standorte az account list-locations aus. In dieser Schnellstartanleitung wird eastus verwendet, wie im Beispielbefehl gezeigt.

    az group create --name MyResourceGroup --location eastus
    
  4. Führen Sie den Befehl az iot hub create aus, um einen IoT-Hub zu erstellen. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Verwenden Sie im weiteren Verlauf dieser Schnellstartanleitung den Namen des IoT-Hubs für alle Vorkommen dieses Platzhalters.

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

Gerät registrieren

Ein Gerät muss bei Ihrer IoT Hub-Instanz registriert sein, um eine Verbindung herstellen zu können. In diesem Abschnitt wird die Azure-Befehlszeilenschnittstelle (CLI) verwendet, um eine Geräteidentität zu erstellen.

Wenn Sie bereits ein Gerät in Ihrem IoT-Hub registriert haben, können Sie diesen Abschnitt überspringen.

So erstellen Sie eine Geräteidentität:

  1. Führen Sie in der CLI-Shell den Befehl az iot hub device-identity create aus. Dieser Befehl erstellt die Geräteidentität.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein.

    myDevice. Sie können diesen Namen für die Geräte-ID in diesem Artikel verwenden oder einen anderen Gerätenamen angeben.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Geben Sie den Befehl az iot hub device-identity connection-string show ein.

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

    Die Ausgabe der Verbindungszeichenfolge hat folgendes Format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Speichern Sie die Verbindungszeichenfolge an einem sicheren Ort.

Hinweis

Lassen Sie Ihre CLI-App geöffnet. Sie verwenden es in späteren Schritten.

Rufen Sie die Dienstverbindungszeichenfolge ab

Außerdem benötigen Sie eine Dienstverbindungszeichenfolge , damit die Back-End-Anwendung eine Verbindung mit Ihrem IoT-Hub herstellen und die Nachrichten abrufen kann. Mit dem folgenden Befehl wird die Dienstverbindungszeichenfolge für Ihren IoT-Hub abgerufen:

YourIoTHubName: Ersetzen Sie diesen Platzhalter im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

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

Notieren Sie sich die Dienstverbindungszeichenfolge, die wie folgt aussieht:

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

Sie verwenden diesen Wert später in der Schnellstartanleitung. Diese Dienstverbindungszeichenfolge unterscheidet sich von der Geräteverbindungszeichenfolge, die Sie im vorherigen Schritt angegeben haben.

Simulieren eines Geräts

Die simulierte Geräteanwendung stellt eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her, sendet simulierte Telemetrie und lauscht auf direkte Methodenaufrufe von Ihrem Hub. In dieser Schnellstartanleitung weist der direkte Methodenaufruf vom Hub das Gerät an, das Intervall zu ändern, in dem Telemetrie gesendet wird. Das simulierte Gerät sendet eine Bestätigung zurück an Ihren Hub, nachdem die direkte Methode ausgeführt wurde.

  1. Navigieren Sie in einem lokalen Terminalfenster zum Stammordner des Java-Beispielprojekts. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\simulated-device-2 ".

  2. Öffnen Sie die Datei "src/main/java/com/microsoft/docs/iothub/samples/SimulatedDevice.java " in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der connString Variablen durch die Geräteverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an SimulatedDevice.java.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken zu installieren und die simulierte Geräteanwendung zu erstellen:

    mvn clean package
    
  4. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die simulierte Geräteanwendung auszuführen:

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

    Der folgende Screenshot zeigt die Ausgabe, während die Anwendung zur Simulation eines Geräts Telemetriedaten an Ihre IoT Hub-Instanz sendet:

    Screenshot eines Terminalfensters, in dem die Ausgabe der simulierten Geräteanwendung angezeigt wird.

Rufen Sie die direkte Methode auf

Die Back-End-Anwendung stellt eine Verbindung mit einem dienstseitigen Endpunkt auf Ihrem IoT Hub her. Die Anwendung führt direkte Methodenaufrufe an ein Gerät über Ihren IoT-Hub durch und lauscht auf Bestätigungen. Eine IoT Hub-Back-End-Anwendung wird in der Regel in der Cloud ausgeführt.

  1. Navigieren Sie in einem anderen lokalen Terminalfenster zum Stammordner des Java-Beispielprojekts. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\back-end-application" .

  2. Öffnen Sie die Datei "src/main/java/com/microsoft/docs/iothub/samples/BackEndApplication.java " in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der Variablen iotHubConnectionString durch die Dienstverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an BackEndApplication.java.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken zu installieren und die Back-End-Anwendung zu erstellen:

    mvn clean package
    
  4. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die Back-End-Anwendung auszuführen:

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

    Der folgende Screenshot zeigt die Ausgabe, wenn die Anwendung einen direkten Methodenaufruf an das Gerät sendet und eine Bestätigung erhält:

    Screenshot eines Terminalfensters, das das Ergebnis des direkten Methodenaufrufs aus der Dienstanwendung zeigt.

    Nachdem Sie die Back-End-Anwendung ausgeführt haben, wird im lokalen Terminalfenster, in dem das simulierte Gerät ausgeführt wird, eine Meldung angezeigt, und die Häufigkeit, mit der Nachrichten gesendet werden, werden geändert:

    Screenshot eines Terminalfensters, in dem das Ergebnis der direkten Nachricht und die aktualisierte Ausgabe der simulierten Geräteanwendung angezeigt werden.

In dieser Schnellstartanleitung werden zwei Node.js Anwendungen verwendet:

  • Eine simulierte Geräteanwendung, die auf direkte Methoden reagiert, die von einer Back-End-Anwendung aufgerufen werden. Um die direkten Methodenaufrufe zu empfangen, stellt diese Anwendung eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her.
  • Eine Back-End-Anwendung, die die direkten Methoden auf dem simulierten Gerät aufruft. Um eine direkte Methode auf einem Gerät aufzurufen, stellt diese Anwendung eine Verbindung mit einem dienstspezifischen Endpunkt auf Ihrem IoT-Hub her.

Voraussetzungen

Hinweis

In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacyversion heißt azure-cli-iot-ext. Sie sollten nur eine Version installiert haben. Sie können den Befehl az extension list verwenden, um die derzeit installierten Erweiterungen zu überprüfen.

Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

Um zu sehen, welche Erweiterungen derzeit installiert sind, verwenden Sie az extension list.

Erstellen eines IoT-Hubs

In diesem Abschnitt verwenden Sie die Azure CLI zum Erstellen eines IoT-Hubs und einer Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Ein IoT-Hub fungiert als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten.

Wenn Sie bereits über einen IoT-Hub in Ihrem Azure-Abonnement verfügen, können Sie diesen Abschnitt überspringen.

So erstellen Sie einen IoT-Hub und eine Ressourcengruppe:

  1. Starten der CLI-App. Kopieren Sie zum Ausführen der CLI-Befehle im restlichen Teil dieses Artikels die Befehlssyntax, fügen Sie diese in Ihre CLI-App ein, bearbeiten Sie die Variablenwerte und drücken Sie Enter.

    • Wählen Sie bei Verwendung von Cloud Shell die Schaltfläche Ausprobieren in den CLI-Befehlen aus, um Cloud Shell in einem geteilten Browserfenster zu starten. Alternativ können Sie Cloud Shell auch in einem separaten Browsertab öffnen.
    • Gehen Sie wie folgt vor, wenn Sie die Azure CLI lokal verwenden: Starten Sie Ihre CLI-Konsolen-App, und melden Sie sich bei der Azure CLI an.
  2. Führen Sie az extension add aus, um die Erweiterung azure-iot zu installieren oder auf die aktuelle Version zu aktualisieren.

    az extension add --upgrade --name azure-iot
    
  3. Führen Sie in Ihrer CLI-App den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Mit dem folgenden Befehl wird eine Ressourcengruppe mit dem Namen MyResourceGroup am Standort eastus erstellt.

    Hinweis

    Optional können Sie einen anderen Standort festlegen. Führen Sie zum Anzeigen der verfügbaren Standorte az account list-locations aus. In dieser Schnellstartanleitung wird eastus verwendet, wie im Beispielbefehl gezeigt.

    az group create --name MyResourceGroup --location eastus
    
  4. Führen Sie den Befehl az iot hub create aus, um einen IoT-Hub zu erstellen. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Verwenden Sie im weiteren Verlauf dieser Schnellstartanleitung den Namen des IoT-Hubs für alle Vorkommen dieses Platzhalters.

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

Gerät registrieren

Ein Gerät muss bei Ihrer IoT Hub-Instanz registriert sein, um eine Verbindung herstellen zu können. In diesem Abschnitt wird die Azure-Befehlszeilenschnittstelle (CLI) verwendet, um eine Geräteidentität zu erstellen.

Wenn Sie bereits ein Gerät in Ihrem IoT-Hub registriert haben, können Sie diesen Abschnitt überspringen.

So erstellen Sie eine Geräteidentität:

  1. Führen Sie in der CLI-Shell den Befehl az iot hub device-identity create aus. Dieser Befehl erstellt die Geräteidentität.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein.

    myDevice. Sie können diesen Namen für die Geräte-ID in diesem Artikel verwenden oder einen anderen Gerätenamen angeben.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Geben Sie den Befehl az iot hub device-identity connection-string show ein.

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

    Die Ausgabe der Verbindungszeichenfolge hat folgendes Format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Speichern Sie die Verbindungszeichenfolge an einem sicheren Ort.

Hinweis

Lassen Sie Ihre CLI-App geöffnet. Sie verwenden es in späteren Schritten.

Rufen Sie die Dienstverbindungszeichenfolge ab

Außerdem benötigen Sie die Dienstverbindungszeichenfolge Ihres IoT-Hubs, damit die Back-End-Anwendung eine Verbindung mit Ihrem IoT-Hub herstellen und die Nachrichten abrufen kann. Mit dem folgenden Befehl wird die Dienstverbindungszeichenfolge für Ihren IoT-Hub abgerufen:

YourIoTHubName: Ersetzen Sie diesen Platzhalter im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben.

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

Notieren Sie sich die Dienstverbindungszeichenfolge, die wie folgt aussieht:

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

Sie verwenden diesen Wert später in der Schnellstartanleitung. Diese Dienstverbindungszeichenfolge unterscheidet sich von der Geräteverbindungszeichenfolge, die Sie im vorherigen Schritt angegeben haben.

Simulieren eines Geräts

Die simulierte Geräteanwendung stellt eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her, sendet simulierte Telemetrie und lauscht auf direkte Methodenaufrufe von Ihrem Hub. In dieser Schnellstartanleitung weist der direkte Methodenaufruf vom Hub das Gerät an, das Intervall zu ändern, in dem Telemetrie gesendet wird. Das simulierte Gerät sendet eine Bestätigung zurück an Ihren Hub, nachdem die direkte Methode ausgeführt wurde.

  1. Navigieren Sie in einem lokalen Terminalfenster zum Stammordner des Beispielprojekts Node.js. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\simulated-device-2 ".

  2. Öffnen Sie die SimulatedDevice.js Datei in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der connectionString Variablen durch die Geräteverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an SimulatedDevice.js.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken zu installieren und die simulierte Geräteanwendung auszuführen:

    npm install
    node SimulatedDevice.js
    

    Der folgende Screenshot zeigt die Ausgabe, während die Anwendung zur Simulation eines Geräts Telemetriedaten an Ihre IoT Hub-Instanz sendet:

    Screenshot eines Terminalfensters, in dem die Ausgabe der simulierten Geräteanwendung angezeigt wird.

Rufen Sie die direkte Methode auf

Die Back-End-Anwendung stellt eine Verbindung mit einem dienstseitigen Endpunkt auf Ihrem IoT-Hub her. Die Anwendung führt direkte Methodenaufrufe an ein Gerät über Ihren IoT-Hub durch und lauscht auf Bestätigungen. Eine IoT Hub-Back-End-Anwendung wird in der Regel in der Cloud ausgeführt.

  1. Navigieren Sie in einem anderen lokalen Terminalfenster zum Stammordner des Beispielprojekts Node.js Projekts. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\back-end-application" .

  2. Öffnen Sie die BackEndApplication.js Datei in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der Variablen connectionString durch die Dienstverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an BackEndApplication.js.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken zu installieren und die Back-End-Anwendung auszuführen:

    npm install
    node BackEndApplication.js
    

    Der folgende Screenshot zeigt die Ausgabe, wenn die Anwendung einen direkten Methodenaufruf an das Gerät sendet und eine Bestätigung erhält:

    Screenshot eines Terminalfensters, das das Ergebnis des direkten Methodenaufrufs aus der Dienstanwendung zeigt.

    Nachdem Sie die Back-End-Anwendung ausgeführt haben, wird im lokalen Terminalfenster, in dem das simulierte Gerät ausgeführt wird, eine Meldung angezeigt, und die Häufigkeit, mit der Nachrichten gesendet werden, werden geändert:

    Screenshot eines Terminalfensters, in dem das Ergebnis der direkten Nachricht und die aktualisierte Ausgabe der simulierten Geräteanwendung angezeigt werden.

Diese Schnellstartanleitung verwendet zwei Python-Anwendungen:

  • Eine simulierte Geräteanwendung, die auf direkte Methoden reagiert, die von einer Back-End-Anwendung aufgerufen werden.
  • Eine Back-End-Anwendung, die die direkten Methoden auf dem simulierten Gerät aufruft.

Voraussetzungen

Hinweis

In diesem Artikel wird die neueste Version der Azure IoT-Erweiterung namens azure-iot verwendet. Die Legacyversion heißt azure-cli-iot-ext. Sie sollten nur eine Version installiert haben. Sie können den Befehl az extension list verwenden, um die derzeit installierten Erweiterungen zu überprüfen.

Verwenden Sie az extension remove --name azure-cli-iot-ext, um die Legacy-Version der Erweiterung zu entfernen.

Verwenden Sie az extension add --name azure-iot, um die neue Version der Erweiterung hinzuzufügen.

Um zu sehen, welche Erweiterungen derzeit installiert sind, verwenden Sie az extension list.

Erstellen eines IoT-Hubs

In diesem Abschnitt verwenden Sie die Azure CLI zum Erstellen eines IoT-Hubs und einer Ressourcengruppe. Eine Azure-Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen bereitgestellt und verwaltet werden. Ein IoT-Hub fungiert als zentraler Nachrichtenhub für die bidirektionale Kommunikation zwischen Ihrer IoT-Anwendung und den Geräten.

Wenn Sie bereits über einen IoT-Hub in Ihrem Azure-Abonnement verfügen, können Sie diesen Abschnitt überspringen.

So erstellen Sie einen IoT-Hub und eine Ressourcengruppe:

  1. Starten der CLI-App. Kopieren Sie zum Ausführen der CLI-Befehle im restlichen Teil dieses Artikels die Befehlssyntax, fügen Sie diese in Ihre CLI-App ein, bearbeiten Sie die Variablenwerte und drücken Sie Enter.

    • Wählen Sie bei Verwendung von Cloud Shell die Schaltfläche Ausprobieren in den CLI-Befehlen aus, um Cloud Shell in einem geteilten Browserfenster zu starten. Alternativ können Sie Cloud Shell auch in einem separaten Browsertab öffnen.
    • Gehen Sie wie folgt vor, wenn Sie die Azure CLI lokal verwenden: Starten Sie Ihre CLI-Konsolen-App, und melden Sie sich bei der Azure CLI an.
  2. Führen Sie az extension add aus, um die Erweiterung azure-iot zu installieren oder auf die aktuelle Version zu aktualisieren.

    az extension add --upgrade --name azure-iot
    
  3. Führen Sie in Ihrer CLI-App den Befehl az group create aus, um eine Ressourcengruppe zu erstellen. Mit dem folgenden Befehl wird eine Ressourcengruppe mit dem Namen MyResourceGroup am Standort eastus erstellt.

    Hinweis

    Optional können Sie einen anderen Standort festlegen. Führen Sie zum Anzeigen der verfügbaren Standorte az account list-locations aus. In dieser Schnellstartanleitung wird eastus verwendet, wie im Beispielbefehl gezeigt.

    az group create --name MyResourceGroup --location eastus
    
  4. Führen Sie den Befehl az iot hub create aus, um einen IoT-Hub zu erstellen. Es kann einige Minuten dauern, bis ein IoT-Hub erstellt wurde.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein. Verwenden Sie im weiteren Verlauf dieser Schnellstartanleitung den Namen des IoT-Hubs für alle Vorkommen dieses Platzhalters.

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

Gerät registrieren

Ein Gerät muss bei Ihrer IoT Hub-Instanz registriert sein, um eine Verbindung herstellen zu können. In diesem Abschnitt wird die Azure-Befehlszeilenschnittstelle (CLI) verwendet, um eine Geräteidentität zu erstellen.

Wenn Sie bereits ein Gerät in Ihrem IoT-Hub registriert haben, können Sie diesen Abschnitt überspringen.

So erstellen Sie eine Geräteidentität:

  1. Führen Sie in der CLI-Shell den Befehl az iot hub device-identity create aus. Dieser Befehl erstellt die Geräteidentität.

    YourIoTHubName. Ersetzen Sie diesen Platzhalter und die umgebenden geschweiften Klammern im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub ausgewählt haben. Der Name eines IoT-Hubs muss in Azure global eindeutig sein.

    myDevice. Sie können diesen Namen für die Geräte-ID in diesem Artikel verwenden oder einen anderen Gerätenamen angeben.

    az iot hub device-identity create --device-id myDevice --hub-name {YourIoTHubName}
    
  2. Geben Sie den Befehl az iot hub device-identity connection-string show ein.

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

    Die Ausgabe der Verbindungszeichenfolge hat folgendes Format:

    HostName=<your IoT Hub name>.azure-devices.net;DeviceId=<your device id>;SharedAccessKey=<some value>
    
  3. Speichern Sie die Verbindungszeichenfolge an einem sicheren Ort.

Hinweis

Lassen Sie Ihre CLI-App geöffnet. Sie verwenden es in späteren Schritten.

Rufen Sie die Dienstverbindungszeichenfolge ab

Außerdem benötigen Sie eine Dienstverbindungszeichenfolge , damit die Back-End-Anwendung eine Verbindung mit Ihrem IoT-Hub herstellen und die Nachrichten abrufen kann. Mit dem folgenden Befehl wird die Dienstverbindungszeichenfolge für Ihren IoT-Hub abgerufen:

YourIoTHubName: Ersetzen Sie diesen Platzhalter im folgenden Befehl durch den Namen, den Sie für Ihren IoT-Hub auswählen.

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

Notieren Sie sich die Dienstverbindungszeichenfolge, die wie folgt aussieht:

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

Sie verwenden diesen Wert später in der Schnellstartanleitung. Diese Dienstverbindungszeichenfolge unterscheidet sich von der Geräteverbindungszeichenfolge, die Sie im vorherigen Schritt angegeben haben.

Simulieren eines Geräts

Die simulierte Geräteanwendung stellt eine Verbindung mit einem gerätespezifischen Endpunkt auf Ihrem IoT-Hub her, sendet simulierte Telemetrie und lauscht auf direkte Methodenaufrufe von Ihrem Hub. In dieser Schnellstartanleitung weist der direkte Methodenaufruf vom Hub das Gerät an, das Intervall zu ändern, in dem Telemetrie gesendet wird. Das simulierte Gerät sendet eine Bestätigung zurück an Ihren Hub, nachdem die direkte Methode ausgeführt wurde.

  1. Navigieren Sie in einem lokalen Terminalfenster zum Stammordner des Python-Beispielprojekts. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\simulated-device-2 ".

  2. Öffnen Sie die SimulatedDeviceSync.py Datei in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der CONNECTION_STRING Variablen durch die Geräteverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an SimulatedDeviceSync.py.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken für die simulierte Geräteanwendung zu installieren:

    pip install azure-iot-device
    
  4. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die simulierte Geräteanwendung auszuführen:

    python SimulatedDeviceSync.py
    

    Der folgende Screenshot zeigt die Ausgabe, während die Anwendung zur Simulation eines Geräts Telemetriedaten an Ihre IoT Hub-Instanz sendet:

    Screenshot eines Terminalfensters, in dem die Ausgabe der simulierten Geräteanwendung angezeigt wird.

Rufen Sie die direkte Methode auf

Die Back-End-Anwendung stellt eine Verbindung mit einem dienstseitigen Endpunkt auf Ihrem IoT Hub her. Die Anwendung führt direkte Methodenaufrufe an ein Gerät über Ihren IoT-Hub durch und lauscht auf Bestätigungen. Eine IoT Hub-Back-End-Anwendung wird in der Regel in der Cloud ausgeführt.

  1. Navigieren Sie in einem anderen lokalen Terminalfenster zum Stammordner des Python-Beispielprojekts. Navigieren Sie dann zum Ordner "iot-hub\Quickstarts\back-end-application" .

  2. Öffnen Sie die BackEndApplication.py Datei in einem Text-Editor Ihrer Wahl.

    Ersetzen Sie den Wert der Variablen CONNECTION_STRING durch die Dienstverbindungszeichenfolge, die Sie sich zuvor notiert haben. Speichern Sie dann Ihre Änderungen an BackEndApplication.py.

  3. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die erforderlichen Bibliotheken für die simulierte Geräteanwendung zu installieren:

    pip install azure-iot-hub
    
  4. Führen Sie im lokalen Terminalfenster die folgenden Befehle aus, um die Back-End-Anwendung auszuführen:

    python BackEndApplication.py
    

    Der folgende Screenshot zeigt die Ausgabe, wenn die Anwendung einen direkten Methodenaufruf an das Gerät sendet und eine Bestätigung erhält:

    Screenshot eines Terminalfensters, das das Ergebnis des direkten Methodenaufrufs aus der Dienstanwendung zeigt.

    Nachdem Sie die Back-End-Anwendung ausgeführt haben, wird im Konsolenfenster, in dem das simulierte Gerät ausgeführt wird, eine Meldung angezeigt, und die Häufigkeit, mit der Nachrichten gesendet werden, werden geändert:

    Screenshot eines Terminalfensters, in dem das Ergebnis der direkten Nachricht und die aktualisierte Ausgabe der simulierten Geräteanwendung angezeigt werden.

Bereinigen von Ressourcen

Wenn Sie mit dem nächsten empfohlenen Artikel fortfahren, können Sie die bereits erstellten Ressourcen beibehalten und wiederverwenden.

Andernfalls können Sie die in diesem Artikel erstellten Azure-Ressourcen löschen, um Gebühren zu vermeiden.

Wichtig

Das Löschen einer Ressourcengruppe kann nicht rückgängig gemacht werden. Die Ressourcengruppe und alle darin enthaltenen Ressourcen werden unwiderruflich gelöscht. Achten Sie daher darauf, dass Sie nicht versehentlich die falsche Ressourcengruppe oder die falschen Ressourcen löschen. Wenn Sie den IoT-Hub in einer vorhandenen Ressourcengruppe erstellt haben, die Ressourcen enthält, die Sie behalten möchten, löschen Sie nur die IoT Hub-Ressource selbst, anstatt die Ressourcengruppe zu löschen.

So löschen Sie eine Ressourcengruppe anhand des Namens:

  1. Melden Sie sich beim Azure-Portal an, und klicken Sie auf Ressourcengruppen.

  2. Geben Sie im Filter für ein beliebiges Feldtextfeld den Namen der Ressourcengruppe ein, die Ihren IoT-Hub enthält.

  3. Wählen Sie in der Ergebnisliste die Ressourcengruppe aus, die Ihren IoT-Hub enthält.

  4. Wählen Sie im Arbeitsbereich für die Ressourcengruppe die Option "Ressourcengruppe löschen " in der Befehlsleiste aus.

    Screenshot des Arbeitsbereichs einer Ressourcengruppe im Azure-Portal, wobei der Befehl

  5. Sie werden aufgefordert, das Löschen der Ressourcengruppe zu bestätigen. Geben Sie den Namen Ihrer Ressourcengruppe zur Bestätigung erneut ein, und wählen Sie Löschen aus. Daraufhin werden die Ressourcengruppe und alle darin enthaltenen Ressourcen gelöscht.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie eine direkte Methode auf einem Gerät aus einer Dienstanwendung aufgerufen und auf den direkten Methodenaufruf in einer simulierten Geräteanwendung geantwortet.

Wenn Sie erfahren möchten, wie Sie Geräte-zu-Cloud-Nachrichten an verschiedene Ziele in der Cloud weiterleiten, fahren Sie mit dem nächsten Lernprogramm fort.