3.8 KiB
Użyj certyfikatu X.509 w kodzie urządzenia - Wirtualny sprzęt IoT i Raspberry Pi
W tej części lekcji połączysz swoje wirtualne urządzenie IoT lub Raspberry Pi z IoT Hub, używając certyfikatu X.509.
Połącz swoje urządzenie z IoT Hub
Kolejnym krokiem jest połączenie urządzenia z IoT Hub za pomocą certyfikatów X.509.
Zadanie - połącz z IoT Hub
-
Skopiuj pliki klucza i certyfikatu do folderu zawierającego kod Twojego urządzenia IoT. Jeśli korzystasz z Raspberry Pi przez VS Code Remote SSH i utworzyłeś klucze na swoim komputerze PC lub Mac, możesz przeciągnąć i upuścić pliki do eksploratora w VS Code, aby je skopiować.
-
Otwórz plik
app.py
. -
Aby połączyć się za pomocą certyfikatu X.509, będziesz potrzebować nazwy hosta IoT Hub oraz certyfikatu X.509. Zacznij od utworzenia zmiennej zawierającej nazwę hosta, dodając poniższy kod przed utworzeniem klienta urządzenia:
host_name = "<host_name>"
Zamień
<host_name>
na nazwę hosta Twojego IoT Hub. Możesz ją znaleźć w sekcjiHostName
wconnection_string
. Będzie to nazwa Twojego IoT Hub, kończąca się na.azure-devices.net
. -
Poniżej zadeklaruj zmienną z identyfikatorem urządzenia:
device_id = "soil-moisture-sensor-x509"
-
Będziesz potrzebować instancji klasy
X509
, która zawiera pliki certyfikatu X.509. DodajX509
do listy klas importowanych z modułuazure.iot.device
:from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
-
Utwórz instancję klasy
X509
, używając swoich plików certyfikatu i klucza, dodając ten kod poniżej deklaracjihost_name
:x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
To utworzy klasę
X509
, używając plikówsoil-moisture-sensor-x509-cert.pem
isoil-moisture-sensor-x509-key.pem
, które zostały utworzone wcześniej. -
Zamień linię kodu, która tworzy
device_client
z connection string, na następującą:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
To połączy urządzenie za pomocą certyfikatu X.509 zamiast connection string.
-
Usuń linię z zmienną
connection_string
. -
Uruchom swój kod. Monitoruj wiadomości wysyłane do IoT Hub i wysyłaj żądania metod bezpośrednich, jak wcześniej. Zobaczysz, jak urządzenie łączy się, wysyła odczyty wilgotności gleby oraz odbiera żądania metod bezpośrednich.
💁 Ten kod znajdziesz w folderze code/pi lub code/virtual-device.
😀 Twój program czujnika wilgotności gleby jest połączony z IoT Hub za pomocą certyfikatu X.509!
Zastrzeżenie:
Ten dokument został przetłumaczony za pomocą usługi tłumaczenia AI Co-op Translator. Chociaż dokładamy wszelkich starań, aby tłumaczenie było precyzyjne, prosimy pamiętać, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za autorytatywne źródło. W przypadku informacji o kluczowym znaczeniu zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.