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.
69 lines
5.1 KiB
69 lines
5.1 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "9aea84bcc7520222b0e1c50469d62d6a",
|
|
"translation_date": "2025-08-25T21:52:54+00:00",
|
|
"source_file": "2-farm/lessons/6-keep-your-plant-secure/single-board-computer-x509.md",
|
|
"language_code": "fa"
|
|
}
|
|
-->
|
|
# استفاده از گواهی X.509 در کد دستگاه شما - سختافزار مجازی IoT و رزبری پای
|
|
|
|
در این بخش از درس، دستگاه مجازی IoT یا رزبری پای خود را با استفاده از گواهی X.509 به IoT Hub متصل خواهید کرد.
|
|
|
|
## اتصال دستگاه به IoT Hub
|
|
|
|
گام بعدی اتصال دستگاه شما به IoT Hub با استفاده از گواهیهای X.509 است.
|
|
|
|
### وظیفه - اتصال به IoT Hub
|
|
|
|
1. فایلهای کلید و گواهی را به پوشهای که کد دستگاه IoT شما در آن قرار دارد کپی کنید. اگر از رزبری پای از طریق VS Code Remote SSH استفاده میکنید و کلیدها را روی کامپیوتر شخصی یا مک خود ایجاد کردهاید، میتوانید فایلها را به سادگی با کشیدن و رها کردن در بخش اکسپلورر 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) پیدا کنید.
|
|
|
|
😀 برنامه حسگر رطوبت خاک شما با استفاده از گواهی X.509 به IoT Hub متصل شد!
|
|
|
|
**سلب مسئولیت**:
|
|
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم. |