Schnellstart: Bereitstellen eines simulierten Geräts mit symmetrischem Schlüssel

In diesem Schnellstart erstellen Sie ein simuliertes Gerät auf Ihrem Windows-Computer. Das simulierte Gerät wird für die Verwendung des Mechanismus Nachweis des symmetrischen Schlüssels zur Authentifizierung konfiguriert. Nachdem Sie Ihr Gerät konfiguriert haben, stellen Sie es mithilfe des Azure IoT Hub Device Provisioning Service für Ihren IoT-Hub bereit.

Wenn Sie mit dem Prozess der Bereitstellung noch nicht vertraut sind, sollten Sie zunächst die Übersicht zur Bereitstellung lesen.

In dieser Schnellstartanleitung wird die Vorgehensweise anhand einer Projektmappe für eine Windows-Arbeitsstation veranschaulicht. Sie können die Schritte aber auch unter Linux ausführen. Ein Beispiel für Linux finden Sie im Tutorial: Bereitstellen für Geolatenz.

Voraussetzungen

  • Installieren Sie das .NET SDK 6.0 oder höher auf Ihrem Windows-Computer. Sie können den folgenden Befehl ausführen, um Ihre Version zu überprüfen:

    dotnet --info
    
  • Installieren Sie Python 3.7 oder höher auf Ihrem Windows-Computer. Durch Ausführen von python --version können Sie überprüfen, welche Python-Version verwendet wird.
  • Installieren Sie die aktuelle Version von Git. Stellen Sie sicher, dass Git den Umgebungsvariablen hinzugefügt wurde, auf die das Befehlsfenster Zugriff hat. Unter den Git-Clienttools von Software Freedom Conservancy finden Sie die neueste Version der zu installierenden git-Tools. Hierzu zählt auch die Befehlszeilen-App Git Bash, über die Sie mit Ihrem lokalen Git-Repository interagieren können.

Vorbereiten Ihrer Entwicklungsumgebung

In diesem Abschnitt bereiten Sie eine Entwicklungsumgebung vor, die zum Erstellen des Azure IoT C SDK verwendet wird. Mit dem Beispielcode wird versucht, das Gerät während der Startsequenz des Geräts bereitzustellen.

  1. Laden Sie das neueste CMake-Buildsystem herunter.

    Wichtig

    Vergewissern Sie sich vor Beginn der Installation von CMake, dass die erforderlichen Visual Studio-Komponenten (Visual Studio und die Workload „Desktopentwicklung mit C++“) auf dem Computer installiert sind. Sobald die Voraussetzungen erfüllt sind und der Download überprüft wurde, installieren Sie das CMake-Buildsystem. Beachten Sie auch, dass ältere Versionen des CMake-Buildsystems die in diesem Artikel verwendete Projektmappendatei nicht generieren können. Stellen Sie sicher, dass Sie die neueste Version von CMake verwenden.

  2. Öffnen Sie einen Webbrowser, und wechseln Sie zur Releaseseite für das Azure IoT C SDK.

  3. Wählen Sie oben auf der Seite die Registerkarte Tags aus.

  4. Kopieren Sie den Tagnamen für das aktuelle Release des Azure IoT C SDK.

  5. Öffnen Sie eine Eingabeaufforderung oder die Git Bash-Shell. Führen Sie die folgenden Befehle aus, um das aktuelle Release des GitHub-Repositorys für das Azure IoT Device SDK für C zu klonen. Ersetzen Sie <release-tag> durch das Tag, das Sie im vorherigen Schritt kopiert haben. Beispiel: lts_01_2023.

    git clone -b <release-tag> https://github.com/Azure/azure-iot-sdk-c.git
    cd azure-iot-sdk-c
    git submodule update --init
    

    Dieser Vorgang kann mehrere Minuten dauern.

  6. Führen Sie nach Abschluss des Vorgangs die folgenden Befehle aus dem Verzeichnis azure-iot-sdk-c aus:

    mkdir cmake
    cd cmake
    
  7. Im Codebeispiel wird ein symmetrischer Schlüssel verwendet, um den erforderlichen Nachweis zu erbringen. Erstellen Sie mit dem folgenden Befehl eine spezifische SDK-Version für Ihre Entwicklungsclientplattform, die den Client für die Gerätebereitstellung enthält.

    cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    

    Tipp

    Falls cmake Ihren C++-Compiler nicht findet, treten beim Ausführen des obigen Befehls unter Umständen Buildfehler auf. Führen Sie den Befehl in diesem Fall an der Visual Studio-Eingabeaufforderung aus.

  8. Nach der erfolgreichen Erstellung ähneln die letzten Ausgabezeilen der folgenden Ausgabe:

    $ cmake -Dhsm_type_symm_key:BOOL=ON -Duse_prov_client:BOOL=ON  ..
    -- Building for: Visual Studio 16 2019
    -- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042.
    -- The C compiler identification is MSVC 19.29.30040.0
    -- The CXX compiler identification is MSVC 19.29.30040.0
    
    ...
    
    -- Configuring done
    -- Generating done
    -- Build files have been written to: E:/IoT Testing/azure-iot-sdk-c/cmake
    
  1. Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.

  2. Klonen Sie mit dem folgenden Befehl das GitHub-Repository mit dem Azure IoT SDK für C#:

    git clone https://github.com/Azure/azure-iot-sdk-csharp.git
    
  1. Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.

  2. Klonen Sie mithilfe des folgenden Befehls das GitHub-Repository mit dem Azure IoT SDK für Node.js:

    git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
    
  1. Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.

  2. Klonen Sie mit dem folgenden Befehl das GitHub-Repository mit dem Azure IoT SDK für Python:

    git clone -b v2 https://github.com/Azure/azure-iot-sdk-python.git --recursive
    

    Hinweis

    Die in diesem Tutorial verwendeten Beispiele befinden sich im v2-Branch des Repositorys „azure-iot-sdk-python“. V3 des Python SDK ist für die Verwendung in der Betaversion verfügbar.

  1. Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.

  2. Klonen Sie mit dem folgenden Befehl das GitHub-Repository mit dem Azure IoT SDK für Java:

    git clone https://github.com/Azure/azure-iot-sdk-java.git --recursive
    
  3. Navigieren Sie zum Stammverzeichnis azure-iot-sdk-java, und erstellen Sie das Projekt, um alle erforderlichen Pakete herunterzuladen. Dieser Schritt kann mehrere Minuten dauern.

    cd azure-iot-sdk-java
    mvn install -DskipTests=true
    

Erstellen einer Geräteregistrierung

In Azure IoT Device Provisioning Service werden zwei Registrierungsarten unterstützt:

In diesem Artikel wird veranschaulicht, wie eine individuelle Registrierung für ein einzelnes Gerät, das mit einem IoT-Hub bereitgestellt werden soll, durchgeführt wird.

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zur Dienstinstanz für die Gerätebereitstellung.

  2. Wählen Sie im Navigationsmenü im Abschnitt Einstellungen die Option Registrierungen verwalten aus.

  3. Wählen Sie die Registerkarte Individuelle Registrierungen und dann Individuelle Registrierung hinzufügen aus.

    Screenshot that shows the add individual enrollment option.

  4. Geben Sie unter Registrierung und Bereitstellung der Seite Registrierung hinzufügen die folgenden Informationen an, um die Registrierungsdetails zu konfigurieren:

    Feld Beschreibung
    Nachweis Wählen Sie Symmetrischer Schlüssel als Nachweismechanismus aus.
    Einstellungen für symmetrische Schlüssel Aktivieren Sie das Kontrollkästchen Symmetrische Schlüssel automatisch generieren, wenn Sie zufällig generierte Schlüssel verwenden möchten. Deaktivieren Sie dieses Kontrollkästchen, wenn Sie Ihre eigenen Schlüssel bereitstellen möchten.
    Registrierungs-ID Geben Sie eine eindeutige Registrierungs-ID für das Gerät an.
    Bereitstellungsstatus Aktivieren Sie das Kontrollkästchen Diese Registrierung aktivieren, wenn diese Registrierung für die Bereitstellung des Geräts verfügbar sein soll. Deaktivieren Sie dieses Kontrollkästchen, wenn die Registrierung deaktiviert werden soll. Sie können diese Einstellung später ändern.
    Richtlinie für die erneute Bereitstellung Wählen Sie eine Richtlinie für die erneute Bereitstellung aus, die angibt, wie DPS Geräte, die eine erneute Bereitstellung anfordern, handhaben soll. Weitere Informationen finden Sie unter Richtlinien für die erneute Bereitstellung.
  5. Wählen Sie Weiter: IoT-Hubs aus.

  6. Geben Sie auf der Registerkarte IoT-Hubs der Seite Registrierung hinzufügen die folgenden Informationen an, um zu bestimmen, für welche IoT-Hubs die Registrierung Geräte bereitstellen kann:

    Feld Beschreibung
    Ziel-IoT-Hubs Wählen Sie einen oder mehrere Ihrer verknüpften IoT-Hubs aus, oder fügen Sie einem IoT-Hub einen neuen Link hinzu. Weitere Informationen zum Verknüpfen von IoT-Hubs mit Ihrer DPS-Instanz finden Sie unter Verknüpfen und Verwalten von IoT-Hubs.
    Zuordnungsrichtlinie Wenn Sie mehrere verknüpfte IoT-Hubs ausgewählt haben, wählen Sie aus, wie Sie den verschiedenen Hubs Geräte zuweisen möchten. Weitere Informationen zu Zuordnungsrichtlinien finden Sie unter Verwenden von Zuordnungsrichtlinien.

    Wenn Sie nur einen verknüpften IoT-Hub ausgewählt haben, empfehlen wir die Verwendung der Richtlinie Gleichmäßig gewichtete Verteilung.
  7. Wählen Sie Weiter: Geräteeinstellungen aus

  8. Geben Sie auf der Registerkarte Geräteeinstellungen der Seite Registrierung hinzufügen die folgenden Informationen an, um zu definieren, wie neu bereitgestellte Geräte konfiguriert werden sollen:

    Feld Beschreibung
    Geräte-ID Geben Sie eine Geräte-ID an, die dem bereitgestellten Gerät im IoT-Hub zugewiesen wird. Wenn Sie keine Geräte-ID angeben, wird die Registrierungs-ID verwendet.
    IoT Edge Aktivieren Sie das Kontrollkästchen IoT Edge auf bereitgestellten Geräten aktivieren, wenn auf dem bereitgestellten Gerät Azure IoT Edge ausgeführt wird. Deaktivieren Sie dieses Kontrollkästchen, wenn diese Registrierung für ein Gerät ohne IoT Edge aktiviert ist.
    Gerätetags Verwenden Sie dieses Textfeld, um alle Tags anzugeben, die Sie auf den Gerätezwilling des bereitgestellten Geräts anwenden möchten.
    Gewünschte Eigenschaften Verwenden Sie dieses Textfeld, um alle gewünschten Eigenschaften anzugeben, die Sie auf den Gerätezwilling des bereitgestellten Geräts anwenden möchten.

    Weitere Informationen finden Sie unter Verstehen und Verwenden von Gerätezwillingen in IoT Hub.

  9. Klicken Sie auf Weiter: Überprüfen + erstellen.

  10. Überprüfen Sie auf der Registerkarte Überprüfen + erstellen all Ihre Werte, und wählen Sie dann Erstellen aus.

Nachdem Sie die einzelne Registrierung erstellt haben, werden ein Primärschlüssel und ein Sekundärer Schlüssel generiert und dem Registrierungseintrag hinzugefügt. Sie verwenden den Primärschlüssel im Gerätebeispiel weiter unten in diesem Schnellstart.

  1. Wählen Sie die Registerkarte Individuelle Registrierungen aus, um Ihre Registrierungen für das simulierte Gerät mit symmetrischem Schlüssel anzuzeigen.

  2. Wählen Sie die Registrierungs-ID Ihres Geräts aus der Liste der einzelnen Registrierungen aus.

  3. Kopieren Sie den Wert des generierten Primärschlüssels.

    Screenshot showing the enrollment details, highlighting the Copy button for the primary key of the device enrollment

Vorbereiten und Ausführen des Gerätebereitstellungscodes

In diesem Abschnitt aktualisieren Sie den Beispielcode für das Gerät, um die Startsequenz des Geräts an Ihre Gerätebereitstellungs-Dienstinstanz zu senden. Diese Startsequenz bewirkt, dass das Gerät erkannt, authentifiziert und einem IoT-Hub zugewiesen wird, der mit der Gerätebereitstellungs-Dienstinstanz verknüpft ist.

Mit dem Beispielcode für die Bereitstellung werden nacheinander die folgenden Aufgaben durchgeführt:

  1. Authentifiziert Ihr Gerät mit den folgenden drei Parametern bei Ihrer Device Provisioning-Ressource:

    • ID-Bereich Ihrer Device Provisioning Service-Instanz
    • Registrierungs-ID für Ihre Geräteregistrierung
    • Primärer symmetrischer Schlüssel für Ihre Geräteregistrierung
  2. Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.

Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:

  1. Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.

  2. Kopieren Sie den Wert von ID-Bereich.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Öffnen Sie in Visual Studio die Projektmappendatei azure_iot_sdks.sln, die zuvor durch das Ausführen von CMake generiert wurde. Die Projektmappendatei befindet sich am folgenden Speicherort:

    
    \azure-iot-sdk-c\cmake\azure_iot_sdks.sln
    
    

    Tipp

    Wurde die Datei nicht in Ihrem CMake-Verzeichnis erstellt, vergewissern Sie sich, dass Sie eine aktuelle Version des CMake-Buildsystems verwendet haben.

  4. Navigieren Sie im Visual Studio-Fenster Projektmappen-Explorer zum Ordner Provision_Samples. Erweitern Sie das Beispielprojekt prov_dev_client_sample. Erweitern Sie Quelldateien, und öffnen Sie prov_dev_client_sample.c.

  5. Suchen Sie die Konstante id_scope, und ersetzen Sie den Wert durch den Wert von ID-Bereich, den Sie in Schritt 2 kopiert haben.

    static const char* id_scope = "0ne00002193";
    
  6. Suchen Sie die Definition für die Funktion main() in der gleichen Datei. Vergewissern Sie sich, dass die Variable hsm_type auf SECURE_DEVICE_TYPE_SYMMETRIC_KEY festgelegt wurde, wie im folgenden Beispiel gezeigt wird:

    SECURE_DEVICE_TYPE hsm_type;
    //hsm_type = SECURE_DEVICE_TYPE_TPM;
    //hsm_type = SECURE_DEVICE_TYPE_X509;
    hsm_type = SECURE_DEVICE_TYPE_SYMMETRIC_KEY;
    
  7. Suchen Sie in prov_dev_client_sample.c den auskommentierten Aufruf von prov_dev_set_symmetric_key_info().

    // Set the symmetric key if using they auth type
    //prov_dev_set_symmetric_key_info("<symm_registration_id>", "<symmetric_Key>");
    

    Heben Sie die Auskommentierung für den Funktionsaufruf auf, und ersetzen Sie die Platzhalterwerte (einschließlich der spitzen Klammern) durch die oben kopierte Registrierungs-ID des Geräts und den Primärschlüsselwert.

    // Set the symmetric key if using they auth type
    prov_dev_set_symmetric_key_info("symm-key-device-007", "your primary key here");
    
  8. Speichern Sie die Datei .

  9. Klicken Sie mit der rechten Maustaste auf das Projekt prov_dev_client_sample, und wählen Sie Als Startprojekt festlegen aus.

  10. Wählen Sie im Visual Studio-Menü die Option Debuggen>Starten ohne Debugging aus, um die Projektmappe auszuführen. Wählen Sie in der Aufforderung zum erneuten Erstellen des Projekts Ja aus, um das Projekt vor der Ausführung neu zu erstellen.

    Die folgende Beispielausgabe zeigt die erfolgreiche Verbindungsherstellung des Geräts mit der Provisioning Service-Instanz, um einem IoT-Hub zugewiesen zu werden:

    Provisioning API Version: 1.2.8
    
    Registering Device
    
    Provisioning Status: PROV_DEVICE_REG_STATUS_CONNECTED
    Provisioning Status: PROV_DEVICE_REG_STATUS_ASSIGNING
    
    Registration Information received from service:
    test-docs-hub.azure-devices.net, deviceId: device-007
    Press enter key to exit:
    

Mit dem Beispielcode für die Bereitstellung werden die folgenden Aufgaben durchgeführt:

  1. Authentifiziert Ihr Gerät mit den folgenden drei Parametern bei Ihrer Device Provisioning-Ressource:

    • ID-Bereich Ihrer Device Provisioning Service-Instanz
    • Registrierungs-ID für Ihre Geräteregistrierung
    • Primärer symmetrischer Schlüssel für Ihre Geräteregistrierung
  2. Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.

  3. Sendet eine Testtelemetrienachricht an den IoT-Hub.

Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:

  1. Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.

  2. Kopieren Sie den Wert von ID-Bereich.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the ID Scope value for the instance.

  3. Öffnen Sie eine Eingabeaufforderung, und wechseln Sie im geklonten SDK-Repository zu SymmetricKeySample:

    cd '.\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample\'
    
  4. Öffnen Sie im Ordner SymmetricKeySample die Datei Parameters.cs in einem Text-Editor. Diese Datei zeigt die verfügbaren Parameter für das Beispiel. Beim Ausführen des Beispiels werden nur die ersten drei erforderlichen Parameter in diesem Artikel verwendet. Sehen Sie sich den Code in dieser Datei an. Es sind keine Änderungen erforderlich.

    Parameter Erforderlich BESCHREIBUNG
    --i oder --IdScope Richtig Der ID-Bereich der DPS-Instanz
    --r oder --RegistrationId Richtig Bei der Registrierungs-ID handelt es sich um eine Zeichenfolge (bis zu 128 Zeichen lang) alphanumerischer Zeichen ohne Beachtung der Groß-/Kleinschreibung plus diese Sonderzeichen: '-', '.', '_', ':'. Das letzte Zeichen muss alphanumerisch oder ein Bindestrich ('-') sein.
    --p oder --PrimaryKey Richtig Der Primärschlüssel der einzelnen Registrierung oder der abgeleitete Geräteschlüssel der Gruppenregistrierung. Informationen zum Generieren des abgeleiteten Schlüssels finden Sie in ComputeDerivedSymmetricKeySample.
    --g oder --GlobalDeviceEndpoint Falsch Der globale Endpunkt, mit dem Geräte eine Verbindung herstellen sollen. Der Standardwert lautet global.azure-devices-provisioning.net.
    --t oder --TransportType Falsch Der Transporttyp, der für die Kommunikation mit der Gerätebereitstellungsinstanz verwendet werden soll. Wird standardmäßig auf Mqtt festgelegt. Mögliche Werte: Mqtt, Mqtt_WebSocket_Only, Mqtt_Tcp_Only, Amqp, Amqp_WebSocket_Only, Amqp_Tcp_only und Http1
  5. Öffnen Sie im Ordner SymmetricKeySample die Datei ProvisioningDeviceClientSample.cs in einem Text-Editor. Diese Datei verdeutlicht, wie die SecurityProviderSymmetricKey-Klasse zusammen mit der ProvisioningDeviceClient-Klasse verwendet wird, um Ihr simuliertes Gerät mit symmetrischem Schlüssel bereitzustellen. Sehen Sie sich den Code in dieser Datei an. Es sind keine Änderungen erforderlich.

  6. Erstellen Sie den Code, und führen Sie ihn mithilfe des folgenden Befehls aus:

    • Ersetzen Sie <id-scope> durch den ID-Bereich, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <registration-id> durch die Registrierungs-ID, die Sie für die Geräteregistrierung angegeben haben.
    • Ersetzen Sie <primarykey> durch den Primärschlüssel, den Sie aus der Geräteregistrierung kopiert haben.
    dotnet run --i <id-scope> --r <registration-id> --p <primarykey>
    
  7. Nun sollte in etwa die folgende Ausgabe angezeigt werden. Die Zeichenfolge „TestMessage“ wird als Testnachricht an den Hub gesendet.

    D:\azure-iot-sdk-csharp\provisioning\device\samples\how to guides\SymmetricKeySample>dotnet run --i 0ne00000A0A --r symm-key-csharp-device-01 --p sbDDeEzRuEuGKag+kQKV+T1QGakRtHpsERLP0yPjwR93TrpEgEh/Y07CXstfha6dhIPWvdD1nRxK5T0KGKA+nQ==
    
    Initializing the device provisioning client...
    Initialized for registration Id symm-key-csharp-device-01.
    Registering with the device provisioning service...
    Registration status: Assigned.
    Device csharp-device-01 registered to ExampleIoTHub.azure-devices.net.
    Creating symmetric key authentication for IoT Hub...
    Testing the provisioned device with IoT Hub...
    Sending a telemetry message...
    Finished.
    Enter any key to exit.
    

Mit dem Beispielcode für die Bereitstellung werden nacheinander die folgenden Aufgaben durchgeführt:

  1. Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.

  3. Sendet eine Testtelemetrienachricht an den IoT-Hub.

Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:

  1. Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.

  2. Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öffnen Sie eine Eingabeaufforderung für die Ausführung von Node.js-Befehlen, und navigieren Sie zum folgenden Verzeichnis:

    cd azure-iot-sdk-node/provisioning/device/samples
    
  4. Öffnen Sie im Ordner provisioning/device/samples die Datei register_symkey.js, und überprüfen Sie den Code. Beachten Sie, dass mit dem Beispielcode benutzerdefinierte Nutzdaten festgelegt werden:

    provisioningClient.setProvisioningPayload({a: 'b'});
    

    Sie können diesen Code auskommentieren, da er für diesen Schnellstart nicht benötigt wird. Benutzerdefinierte Nutzdaten wären erforderlich, wenn Sie eine benutzerdefinierte Zuordnungsfunktion für die Zuweisung Ihres Geräts zu einem IoT-Hub verwenden möchten. Weitere Informationen finden Sie im Tutorial: Verwenden benutzerdefinierter Zuordnungsrichtlinien.

    Mit der Methode provisioningClient.register() wird die Registrierung Ihres Geräts versucht.

    Es sind keine weiteren Änderungen erforderlich.

  5. Führen Sie an der Eingabeaufforderung die folgenden Befehle aus, um die vom Beispiel verwendeten Umgebungsvariablen festzulegen:

    • Ersetzen Sie <provisioning-global-endpoint> durch den globalen Geräteendpunkt, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <id-scope> durch den ID-Bereich, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <registration-id> durch die Registrierungs-ID, die Sie für die Geräteregistrierung angegeben haben.
    • Ersetzen Sie <primarykey> durch den Primärschlüssel, den Sie aus der Geräteregistrierung kopiert haben.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  6. Erstellen Sie den Beispielcode, und führen Sie ihn aus, indem Sie die folgenden Befehle verwenden:

     npm install
    
    node register_symkey.js
    
  7. Nun sollte in etwa die folgende Ausgabe angezeigt werden. Die Zeichenfolge „Hallo Welt“ wird als Testnachricht an den Hub gesendet.

    D:\azure-iot-samples-csharp\provisioning\device\samples>node register_symkey.js
    registration succeeded
    assigned hub=ExampleIoTHub.azure-devices.net
    deviceId=nodejs-device-01
    payload=undefined
    Client connected
    send status: MessageEnqueued
    

Mit dem Beispielcode für die Bereitstellung werden nacheinander die folgenden Aufgaben durchgeführt:

  1. Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:

    • PROVISIONING_HOST
    • PROVISIONING_IDSCOPE
    • PROVISIONING_REGISTRATION_ID
    • PROVISIONING_SYMMETRIC_KEY
  2. Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.

  3. Sendet eine Testtelemetrienachricht an den IoT-Hub.

Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:

  1. Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.

  2. Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öffnen Sie eine Eingabeaufforderung, und navigieren Sie zum Verzeichnis mit der Beispieldatei provision_symmetric_key.py.

    cd azure-iot-sdk-python\samples\async-hub-scenarios
    
  4. Führen Sie an der Eingabeaufforderung die folgenden Befehle aus, um die vom Beispiel verwendeten Umgebungsvariablen festzulegen:

    • Ersetzen Sie <provisioning-global-endpoint> durch den globalen Geräteendpunkt, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <id-scope> durch den ID-Bereich, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <registration-id> durch die Registrierungs-ID, die Sie für die Geräteregistrierung angegeben haben.
    • Ersetzen Sie <primarykey> durch den Primärschlüssel, den Sie aus der Geräteregistrierung kopiert haben.
    set PROVISIONING_HOST=<provisioning-global-endpoint>
    
    set PROVISIONING_IDSCOPE=<id-scope>
    
    set PROVISIONING_REGISTRATION_ID=<registration-id>
    
    set PROVISIONING_SYMMETRIC_KEY=<primarykey>
    
  5. Installieren Sie die Bibliothek azure-iot-device, indem Sie den folgenden Befehl ausführen.

    pip install azure-iot-device
    
  6. Führen Sie den Python-Beispielcode in der Datei provision_symmetric_key.py aus.

    python provision_symmetric_key.py
    
  7. Nun sollte in etwa die folgende Ausgabe angezeigt werden. Zu Testzwecken werden auch einige Beispielnachrichten mit Telemetriedaten zur Windgeschwindigkeit an den Hub gesendet.

    D:\azure-iot-sdk-python\samples\async-hub-scenarios>python provision_symmetric_key.py
    RegistrationStage(RequestAndResponseOperation): Op will transition into polling after interval 2.  Setting timer.
    The complete registration result is
    python-device-008
    docs-test-iot-hub.azure-devices.net
    initialAssignment
    null
    Will send telemetry from the provisioned device
    sending message #8
    sending message #9
    sending message #3
    sending message #10
    sending message #4
    sending message #2
    sending message #6
    sending message #7
    sending message #1
    sending message #5
    done sending message #8
    done sending message #9
    done sending message #3
    done sending message #10
    done sending message #4
    done sending message #2
    done sending message #6
    done sending message #7
    done sending message #1
    done sending message #5
    

Mit dem Beispielcode für die Bereitstellung werden nacheinander die folgenden Aufgaben durchgeführt:

  1. Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:

    • GLOBAL_ENDPOINT
    • SCOPE_ID
    • REGISTRATION_ID
    • SYMMETRIC_KEY
  2. Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.

  3. Sendet eine Testtelemetrienachricht an den IoT-Hub.

Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:

  1. Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.

  2. Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt. Diese Werte sind Ihre Parameter SCOPE_ID bzw GLOBAL_ENDPOINT.

    Screenshot showing the overview of the Device Provisioning Service instance, highlighting the global device endpoint and ID Scope values for the instance.

  3. Öffnen Sie den Beispielcode für das Java-Gerät zur Bearbeitung. Der vollständige Pfad zum Beispielcode für das Gerät lautet:

    azure-iot-sdk-java/provisioning/provisioning-device-client-samples/provisioning-symmetrickey-individual-sample/src/main/java/samples/com/microsoft/azure/sdk/iot/ProvisioningSymmetricKeyIndividualEnrollmentSample.java

  4. Legen Sie für Ihre DPS- und Geräteregistrierung den Wert der folgenden Variablen fest:

    • Ersetzen Sie <id-scope> durch den ID-Bereich, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <provisioning-global-endpoint> durch den globalen Geräteendpunkt, den Sie in Schritt 2 kopiert haben.
    • Ersetzen Sie <registration-id> durch die Registrierungs-ID, die Sie für die Geräteregistrierung angegeben haben.
    • Ersetzen Sie <primarykey> durch den Primärschlüssel, den Sie aus der Geräteregistrierung kopiert haben.
    private static final String SCOPE_ID = "<id-scope>";
    private static final String GLOBAL_ENDPOINT = "<provisioning-global-endpoint>";
    private static final String SYMMETRIC_KEY = "<primarykey>";
    private static final String REGISTRATION_ID = "<registration-id>";
    
  5. Öffnen Sie eine Eingabeaufforderung für den Buildvorgang. Navigieren Sie zum Projektordner mit dem Bereitstellungsbeispiel im Java-SDK-Repository.

    cd azure-iot-sdk-java\provisioning\provisioning-device-client-samples\provisioning-symmetrickey-individual-sample
    
  6. Erstellen Sie das Beispiel.

    mvn clean install
    
  7. Navigieren Sie zum Ordner target, und führen Sie die erstellte .jar-Datei aus. Ersetzen Sie im Befehl java den Platzhalter {version} durch die Version im Dateinamen .jar auf Ihrem Computer.

    cd target
    java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
    
  8. Nun sollte in etwa die folgende Ausgabe angezeigt werden.

    Starting...
    Beginning setup.
    Initialized a ProvisioningDeviceClient instance using SDK version 1.11.0
    Starting provisioning thread...
    Waiting for Provisioning Service to register
    Opening the connection to device provisioning service...
    Connection to device provisioning service opened successfully, sending initial device registration message
    Authenticating with device provisioning service using symmetric key
    Waiting for device provisioning service to provision this device...
    Current provisioning status: ASSIGNING
    Device provisioning service assigned the device successfully
    IotHUb Uri : <Your IoT hub name>.azure-devices.net
    Device ID : java-device-007
    Sending message from device to IoT Hub...
    Press any key to exit...
    Message received! Response status: OK_EMPTY
    

Bestätigen der Registrierung der Gerätebereitstellung

  1. Öffnen Sie das Azure-Portal.

  2. Wählen Sie im Menü auf der linken Seite oder auf der Portalseite die Option Alle Ressourcen aus.

  3. Wählen Sie den IoT-Hub aus, dem Ihr Gerät zugewiesen wurde.

  4. Wählen Sie im Menü Geräteverwaltung die Option Geräte aus.

  5. Wenn Ihr Gerät erfolgreich bereitgestellt wurde, sollte die Geräte-ID in der Liste angezeigt werden, wobei der Status auf Aktiviert festgelegt ist. Wählen Sie oben auf der Seite Aktualisieren aus, falls Ihr Gerät nicht angezeigt wird.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the C# example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Node.js example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Python example.

    Screenshot showing that the device is registered with the IoT hub and enabled for the Java example.

Hinweis

Wenn Sie den anfänglichen Gerätezwillingsstatus im Registrierungseintrag für Ihr Gerät gegenüber dem Standardwert geändert haben, kann der gewünschte Zwillingsstatus vom Hub abgerufen werden, und es können entsprechende Aktionen durchgeführt werden. Weitere Informationen finden Sie unter Verstehen und Verwenden von Gerätezwillingen in IoT Hub.

Bereinigen von Ressourcen

Wenn Sie das Geräteclientbeispiel weiter verwenden und erkunden möchten, sollten Sie die in dieser Schnellstartanleitung erstellten Ressourcen nicht bereinigen. Falls Sie nicht fortfahren möchten, führen Sie die folgenden Schritte aus, um alle Ressourcen zu löschen, die im Rahmen dieser Schnellstartanleitung erstellt wurden.

Löschen der Geräteregistrierung

  1. Schließen Sie auf Ihrem Computer das Ausgabefenster des Geräteclientbeispiels.

  2. Wählen Sie im Azure-Portal im linken Menü die Option Alle Ressourcen aus.

  3. Wählen Sie Ihre Device Provisioning Service-Instanz aus.

  4. Wählen Sie im Menü Einstellungen die Option Registrierungen verwalten aus.

  5. Wählen Sie die Registerkarte Individuelle Registrierungen aus.

  6. Aktivieren Sie das Kontrollkästchen neben der Registrierungs-ID des Geräts, das Sie in dieser Schnellstartanleitung registriert haben.

  7. Wählen Sie oben auf der Seite Löschen aus.

Löschen Ihrer Geräteregistrierung aus IoT Hub

  1. Wählen Sie im Azure-Portal im linken Menü die Option Alle Ressourcen aus.

  2. Wählen Sie Ihren IoT Hub aus.

  3. Wählen Sie im Menü Explorer die Option IoT-Geräte aus.

  4. Aktivieren Sie das Kontrollkästchen neben der Geräte-ID des Geräts, das Sie in dieser Schnellstartanleitung registriert haben.

  5. Wählen Sie oben auf der Seite Löschen aus.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie ein einzelnes Gerät mit einer individuellen Registrierung für Ihren IoT-Hub bereitgestellt. Informieren Sie sich als Nächstes, wie IoT-Geräte auf mehreren IoT-Hubs bereitgestellt werden.