5.4 KiB
Коришћење X.509 сертификата у вашем уређајском коду - Виртуелни IoT хардвер и Raspberry Pi
У овом делу лекције, повезаћете ваш виртуелни IoT уређај или Raspberry Pi са вашим IoT Hub-ом користећи X.509 сертификат.
Повежите ваш уређај са IoT Hub-ом
Следећи корак је да повежете ваш уређај са IoT Hub-ом користећи X.509 сертификате.
Задатак - повезивање са IoT Hub-ом
-
Копирајте датотеке са кључем и сертификатом у фасциклу која садржи код вашег IoT уређаја. Ако користите Raspberry Pi преко VS Code Remote SSH и креирали сте кључеве на вашем рачунару или Mac-у, можете превући и отпустити датотеке у експлорер у VS Code-у да их копирате.
-
Отворите датотеку
app.py
-
Да бисте се повезали користећи X.509 сертификат, биће вам потребно име хоста IoT Hub-а и X.509 сертификат. Почните креирањем променљиве која садржи име хоста додавањем следећег кода пре него што се креира клијент уређаја:
host_name = "<host_name>"
Замените
<host_name>
именом хоста вашег IoT Hub-а. Ово можете добити из секцијеHostName
уconnection_string
. То ће бити име вашег IoT Hub-а, које се завршава са.azure-devices.net
-
Испод овога, декларишите променљиву са ID-јем уређаја:
device_id = "soil-moisture-sensor-x509"
-
Биће вам потребна инстанца класе
X509
која садржи X.509 датотеке. ДодајтеX509
на листу класа које се увозе из модулаazure.iot.device
:from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509
-
Креирајте инстанцу класе
X509
користећи ваше датотеке сертификата и кључа додавањем овог кода испод декларацијеhost_name
:x509 = X509("./soil-moisture-sensor-x509-cert.pem", "./soil-moisture-sensor-x509-key.pem")
Ово ће креирати класу
X509
користећи датотекеsoil-moisture-sensor-x509-cert.pem
иsoil-moisture-sensor-x509-key.pem
које су раније креиране. -
Замените линију кода која креира
device_client
из connection string-а следећим:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
Ово ће се повезати користећи X.509 сертификат уместо connection string-а.
-
Обришите линију са променљивом
connection_string
. -
Покрените ваш код. Пратите поруке које се шаљу IoT Hub-у и шаљите захтеве за директне методе као и раније. Видећете да се уређај повезује и шаље очитавања влажности земљишта, као и да прима захтеве за директне методе.
💁 Овај код можете пронаћи у фасцикли code/pi или code/virtual-device.
😀 Ваш програм за сензор влажности земљишта је повезан са вашим IoT Hub-ом користећи X.509 сертификат!
Одрицање од одговорности:
Овај документ је преведен коришћењем услуге за превођење помоћу вештачке интелигенције Co-op Translator. Иако се трудимо да превод буде тачан, молимо вас да имате у виду да аутоматизовани преводи могу садржати грешке или нетачности. Оригинални документ на његовом изворном језику треба сматрати меродавним извором. За критичне информације препоручује се професионални превод од стране људског преводиоца. Не преузимамо одговорност за било каква погрешна тумачења или неспоразуме који могу настати услед коришћења овог превода.