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, вы можете перетащить файлы в проводник в 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!
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.