You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/bg/2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md

71 lines
5.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "9aea84bcc7520222b0e1c50469d62d6a",
"translation_date": "2025-08-28T11:18:07+00:00",
"source_file": "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md",
"language_code": "bg"
}
-->
# Използване на 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, можете да плъзнете и пуснете файловете в Explorer в VS Code, за да ги копирате.
1. Отворете файла `app.py`.
1. За да се свържете, използвайки X.509 сертификат, ще ви е необходимо името на хоста на IoT Hub и X.509 сертификатът. Започнете, като създадете променлива, съдържаща името на хоста, като добавите следния код преди създаването на клиента на устройството:
```python
host_name = "<host_name>"
```
Заменете `<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 сертификат!
---
**Отказ от отговорност**:
Този документ е преведен с помощта на AI услуга за превод [Co-op Translator](https://github.com/Azure/co-op-translator). Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за каквито и да било недоразумения или погрешни интерпретации, произтичащи от използването на този превод.