# Использование сертификата X.509 в коде устройства - Виртуальное IoT-устройство и Raspberry Pi В этой части урока вы подключите свое виртуальное IoT-устройство или Raspberry Pi к IoT Hub, используя сертификат X.509. ## Подключение устройства к IoT Hub Следующий шаг — подключить ваше устройство к IoT Hub с использованием сертификатов X.509. ### Задача - подключение к IoT Hub 1. Скопируйте файлы ключа и сертификата в папку, содержащую код вашего IoT-устройства. Если вы используете Raspberry Pi через VS Code Remote SSH и создали ключи на своем ПК или Mac, вы можете перетащить файлы в проводник в VS Code, чтобы скопировать их. 1. Откройте файл `app.py`. 1. Чтобы подключиться с использованием сертификата X.509, вам потребуется имя хоста IoT Hub и сам сертификат X.509. Начните с создания переменной, содержащей имя хоста, добавив следующий код перед созданием клиента устройства: ```python host_name = "" ``` Замените `` на имя хоста вашего IoT Hub. Вы можете найти его в разделе `HostName` в строке подключения `connection_string`. Это будет имя вашего IoT Hub, заканчивающееся на `.azure-devices.net`. 1. Ниже этого объявите переменную с идентификатором устройства: ```python device_id = "soil-moisture-sensor-x509" ``` 1. Вам потребуется экземпляр класса `X509`, содержащий файлы сертификата X.509. Добавьте `X509` в список классов, импортируемых из модуля `azure.iot.device`: ```python from azure.iot.device import IoTHubDeviceClient, Message, MethodResponse, X509 ``` 1. Создайте экземпляр класса `X509`, используя ваши файлы сертификата и ключа, добавив этот код ниже объявления `host_name`: ```python 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`, созданные ранее. 1. Замените строку кода, которая создает `device_client` из строки подключения, на следующую: ```python device_client = IoTHubDeviceClient.create_from_x509_certificate(x509, host_name, device_id) ``` Это подключит устройство с использованием сертификата X.509 вместо строки подключения. 1. Удалите строку с переменной `connection_string`. 1. Запустите ваш код. Следите за сообщениями, отправляемыми в IoT Hub, и отправляйте запросы на выполнение методов, как и раньше. Вы увидите, как устройство подключается и отправляет данные о влажности почвы, а также принимает запросы на выполнение методов. > 💁 Вы можете найти этот код в папке [code/pi](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/pi) или [code/virtual-device](../../../../../2-farm/lessons/6-keep-your-plant-secure/code/virtual-device). 😀 Программа вашего датчика влажности почвы подключена к IoT Hub с использованием сертификата X.509! --- **Отказ от ответственности**: Этот документ был переведен с помощью сервиса автоматического перевода [Co-op Translator](https://github.com/Azure/co-op-translator). Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его исходном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.