4.1 KiB
Verwenden Sie das X.509-Zertifikat in Ihrem Gerätecode - Virtuelle IoT-Hardware und Raspberry Pi
In diesem Teil der Lektion verbinden Sie Ihr virtuelles IoT-Gerät oder Ihren Raspberry Pi mit Ihrem IoT Hub unter Verwendung des X.509-Zertifikats.
Verbinden Sie Ihr Gerät mit dem IoT Hub
Der nächste Schritt besteht darin, Ihr Gerät mithilfe der X.509-Zertifikate mit dem IoT Hub zu verbinden.
Aufgabe - Verbindung mit dem IoT Hub herstellen
-
Kopieren Sie die Schlüssel- und Zertifikatsdateien in den Ordner, der Ihren IoT-Gerätecode enthält. Wenn Sie einen Raspberry Pi über VS Code Remote SSH verwenden und die Schlüssel auf Ihrem PC oder Mac erstellt haben, können Sie die Dateien per Drag-and-Drop in den Explorer in VS Code ziehen, um sie zu kopieren.
-
Öffnen Sie die Datei
app.py
. -
Um sich mit einem X.509-Zertifikat zu verbinden, benötigen Sie den Hostnamen des IoT Hubs und das X.509-Zertifikat. Beginnen Sie damit, eine Variable zu erstellen, die den Hostnamen enthält, indem Sie den folgenden Code vor der Erstellung des Geräteclients hinzufügen:
host_name = "<host_name>"
Ersetzen Sie
<host_name>
durch den Hostnamen Ihres IoT Hubs. Sie finden diesen im AbschnittHostName
derconnection_string
. Es wird der Name Ihres IoT Hubs sein, der mit.azure-devices.net
endet. -
Deklarieren Sie darunter eine Variable mit der Geräte-ID:
device_id = "soil-moisture-sensor-x509"
-
Sie benötigen eine Instanz der
X509
-Klasse, die die X.509-Dateien enthält. Fügen SieX509
zur Liste der Klassen hinzu, die aus dem Modulazure.iot.device
importiert werden:from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
-
Erstellen Sie eine Instanz der
X509
-Klasse mit Ihren Zertifikats- und Schlüsseldateien, indem Sie diesen Code unter der Deklaration vonhost_name
hinzufügen:x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
Dies erstellt die
X509
-Klasse unter Verwendung der Dateiensoil-moisture-sensor-x509-cert.pem
undsoil-moisture-sensor-x509-key.pem
, die zuvor erstellt wurden. -
Ersetzen Sie die Codezeile, die den
device_client
aus einer Verbindungszeichenfolge erstellt, durch Folgendes:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
Dadurch wird die Verbindung mithilfe des X.509-Zertifikats anstelle einer Verbindungszeichenfolge hergestellt.
-
Löschen Sie die Zeile mit der
connection_string
-Variable. -
Führen Sie Ihren Code aus. Überwachen Sie die Nachrichten, die an den IoT Hub gesendet werden, und senden Sie wie zuvor direkte Methodenanforderungen. Sie werden sehen, wie das Gerät sich verbindet, Bodenfeuchtigkeitswerte sendet und direkte Methodenanforderungen empfängt.
💁 Sie finden diesen Code im Ordner code/pi oder code/virtual-device.
😀 Ihr Bodenfeuchtigkeitssensor-Programm ist jetzt mit Ihrem IoT Hub über ein X.509-Zertifikat verbunden!
Haftungsausschluss:
Dieses Dokument wurde mit dem KI-Übersetzungsdienst Co-op Translator übersetzt. Obwohl wir uns um Genauigkeit bemühen, beachten Sie bitte, dass automatisierte Übersetzungen Fehler oder Ungenauigkeiten enthalten können. Das Originaldokument in seiner ursprünglichen Sprache sollte als maßgebliche Quelle betrachtet werden. Für kritische Informationen wird eine professionelle menschliche Übersetzung empfohlen. Wir übernehmen keine Haftung für Missverständnisse oder Fehlinterpretationen, die sich aus der Nutzung dieser Übersetzung ergeben.