5.5 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, можете да плъзнете и пуснете файловете в Explorer в 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
. -
Под това, декларирайте променлива с идентификатора на устройството:
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
от низ за връзка, със следния:device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id)
Това ще се свърже, използвайки X.509 сертификат вместо низ за връзка.
-
Изтрийте реда с променливата
connection_string
. -
Стартирайте кода си. Наблюдавайте съобщенията, изпратени към IoT Hub, и изпращайте заявки за директни методи, както преди. Ще видите как устройството се свързва и изпраща показания за влажност на почвата, както и получава заявки за директни методи.
💁 Можете да намерите този код в папката code/pi или code/virtual-device.
😀 Вашата програма за сензор за влажност на почвата е свързана към вашия IoT Hub, използвайки X.509 сертификат!
Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.