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
Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Führen Sie die Schritte im Artikel Einrichten des IoT Hub Device Provisioning Service im Azure-Portal aus.
- Installieren Sie bei Verwendung einer Windows-Entwicklungsumgebung Visual Studio 2019 mit der aktivierten Workload „Desktopentwicklung mit C++“. Visual Studio 2015 und Visual Studio 2017 werden ebenfalls unterstützt. Informationen zu Linux oder macOS finden Sie in der SDK-Dokumentation im entsprechenden Abschnitt unter Vorbereiten Ihrer Entwicklungsumgebung.
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 Node.js v4.0+.
- 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 das Java SE Development Kit 8 oder höher auf Ihrem Computer.
Laden Sie Maven herunter, und installieren Sie es.
- 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.
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.Öffnen Sie einen Webbrowser, und wechseln Sie zur Releaseseite für das Azure IoT C SDK.
Wählen Sie oben auf der Seite die Registerkarte Tags aus.
Kopieren Sie den Tagnamen für das aktuelle Release des Azure IoT C SDK.
Ö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.
Führen Sie nach Abschluss des Vorgangs die folgenden Befehle aus dem Verzeichnis
azure-iot-sdk-c
aus:mkdir cmake cd cmake
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.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
Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.
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
Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.
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
Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.
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.
Öffnen Sie eine Git CMD- oder Git Bash-Befehlszeilenumgebung.
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
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:
- Registrierungsgruppen: Für die Registrierung mehrerer verbundener Geräte
- Individuelle Registrierung: Für die Registrierung eines einzelnen Geräts
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.
Melden Sie sich beim Azure-Portal an, und navigieren Sie zur Dienstinstanz für die Gerätebereitstellung.
Wählen Sie im Navigationsmenü im Abschnitt Einstellungen die Option Registrierungen verwalten aus.
Wählen Sie die Registerkarte Individuelle Registrierungen und dann Individuelle Registrierung hinzufügen aus.
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. Wählen Sie Weiter: IoT-Hubs aus.
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.Wählen Sie Weiter: Geräteeinstellungen aus
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.
Klicken Sie auf Weiter: Überprüfen + erstellen.
Ü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.
Wählen Sie die Registerkarte Individuelle Registrierungen aus, um Ihre Registrierungen für das simulierte Gerät mit symmetrischem Schlüssel anzuzeigen.
Wählen Sie die Registrierungs-ID Ihres Geräts aus der Liste der einzelnen Registrierungen aus.
Kopieren Sie den Wert des generierten Primärschlüssels.
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:
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
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:
Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.
Kopieren Sie den Wert von ID-Bereich.
Ö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.
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.
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";
Suchen Sie die Definition für die Funktion
main()
in der gleichen Datei. Vergewissern Sie sich, dass die Variablehsm_type
aufSECURE_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;
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");
Speichern Sie die Datei .
Klicken Sie mit der rechten Maustaste auf das Projekt prov_dev_client_sample, und wählen Sie Als Startprojekt festlegen aus.
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:
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
Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.
Sendet eine Testtelemetrienachricht an den IoT-Hub.
Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:
Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.
Kopieren Sie den Wert von ID-Bereich.
Ö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\'
Ö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
undHttp1
Ö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.
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>
- Ersetzen Sie
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:
Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.
Sendet eine Testtelemetrienachricht an den IoT-Hub.
Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:
Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.
Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt.
Ö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
Ö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.
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>
- Ersetzen Sie
Erstellen Sie den Beispielcode, und führen Sie ihn aus, indem Sie die folgenden Befehle verwenden:
npm install
node register_symkey.js
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:
Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:
PROVISIONING_HOST
PROVISIONING_IDSCOPE
PROVISIONING_REGISTRATION_ID
PROVISIONING_SYMMETRIC_KEY
Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.
Sendet eine Testtelemetrienachricht an den IoT-Hub.
Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:
Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.
Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt.
Ö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
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>
- Ersetzen Sie
Installieren Sie die Bibliothek azure-iot-device, indem Sie den folgenden Befehl ausführen.
pip install azure-iot-device
Führen Sie den Python-Beispielcode in der Datei provision_symmetric_key.py aus.
python provision_symmetric_key.py
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:
Authentifiziert Ihr Gerät mit den folgenden vier Parametern bei Ihrer Device Provisioning-Ressource:
GLOBAL_ENDPOINT
SCOPE_ID
REGISTRATION_ID
SYMMETRIC_KEY
Weist das Gerät dem IoT-Hub zu, der bereits mit Ihrer Device Provisioning Service-Instanz verknüpft ist.
Sendet eine Testtelemetrienachricht an den IoT-Hub.
Gehen Sie wie folgt vor, um das Bereitstellungsbeispiel mit Ihren Geräteinformationen zu aktualisieren und auszuführen:
Wählen Sie im Hauptmenü Ihrer Device Provisioning Service-Instanz die Option Übersicht aus.
Kopieren Sie die Werte für ID-Bereich und Globaler Geräteendpunkt. Diese Werte sind Ihre Parameter
SCOPE_ID
bzwGLOBAL_ENDPOINT
.Ö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
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>";
- Ersetzen Sie
Ö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
Erstellen Sie das Beispiel.
mvn clean install
Navigieren Sie zum Ordner
target
, und führen Sie die erstellte.jar
-Datei aus. Ersetzen Sie im Befehljava
den Platzhalter{version}
durch die Version im Dateinamen.jar
auf Ihrem Computer.cd target java -jar ./provisioning-symmetrickey-individual-sample-{version}-with-deps.jar
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
Öffnen Sie das Azure-Portal.
Wählen Sie im Menü auf der linken Seite oder auf der Portalseite die Option Alle Ressourcen aus.
Wählen Sie den IoT-Hub aus, dem Ihr Gerät zugewiesen wurde.
Wählen Sie im Menü Geräteverwaltung die Option Geräte aus.
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.
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
Schließen Sie auf Ihrem Computer das Ausgabefenster des Geräteclientbeispiels.
Wählen Sie im Azure-Portal im linken Menü die Option Alle Ressourcen aus.
Wählen Sie Ihre Device Provisioning Service-Instanz aus.
Wählen Sie im Menü Einstellungen die Option Registrierungen verwalten aus.
Wählen Sie die Registerkarte Individuelle Registrierungen aus.
Aktivieren Sie das Kontrollkästchen neben der Registrierungs-ID des Geräts, das Sie in dieser Schnellstartanleitung registriert haben.
Wählen Sie oben auf der Seite Löschen aus.
Löschen Ihrer Geräteregistrierung aus IoT Hub
Wählen Sie im Azure-Portal im linken Menü die Option Alle Ressourcen aus.
Wählen Sie Ihren IoT Hub aus.
Wählen Sie im Menü Explorer die Option IoT-Geräte aus.
Aktivieren Sie das Kontrollkästchen neben der Geräte-ID des Geräts, das Sie in dieser Schnellstartanleitung registriert haben.
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.