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/fa/2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-...

69 lines
5.0 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": "4efc74299e19f5d08f2f3f34451a11ba",
"translation_date": "2025-08-25T21:18:38+00:00",
"source_file": "2-farm/lessons/1-predict-plant-growth/single-board-computer-temp-publish.md",
"language_code": "fa"
}
-->
# انتشار دما - سخت‌افزار مجازی IoT و رزبری پای
در این بخش از درس، شما مقادیر دمایی که توسط رزبری پای یا دستگاه مجازی IoT شناسایی شده‌اند را از طریق MQTT منتشر می‌کنید تا بعداً بتوان از آنها برای محاسبه GDD استفاده کرد.
## انتشار دما
پس از خواندن دما، می‌توان آن را از طریق MQTT به کدی که نقش 'سرور' را دارد ارسال کرد تا مقادیر را بخواند و ذخیره کند و آماده استفاده برای محاسبه GDD باشد.
### وظیفه - انتشار دما
دستگاه را برنامه‌ریزی کنید تا داده‌های دما را منتشر کند.
1. اگر پروژه اپلیکیشن `temperature-sensor` باز نیست، آن را باز کنید.
1. مراحل انجام شده در درس ۴ برای اتصال به MQTT و ارسال داده‌های تله‌متری را تکرار کنید. شما از همان بروکر عمومی Mosquitto استفاده خواهید کرد.
مراحل این کار عبارتند از:
- افزودن بسته pip مربوط به MQTT
- افزودن کد برای اتصال به بروکر MQTT
- افزودن کد برای انتشار داده‌های تله‌متری
> ⚠️ به [دستورالعمل‌های اتصال به MQTT](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-mqtt.md) و [دستورالعمل‌های ارسال تله‌متری](../../../1-getting-started/lessons/4-connect-internet/single-board-computer-telemetry.md) از درس ۴ در صورت نیاز مراجعه کنید.
1. مطمئن شوید که `client_name` نام این پروژه را منعکس می‌کند:
```python
client_name = id + 'temperature_sensor_client'
```
1. برای تله‌متری، به جای ارسال مقدار نور، مقدار دمای خوانده شده از سنسور DHT را در یک ویژگی از سند JSON به نام `temperature` ارسال کنید:
```python
_, temp = sensor.read()
telemetry = json.dumps({'temperature' : temp})
```
1. نیازی نیست مقدار دما خیلی زود به زود خوانده شود - در مدت زمان کوتاه تغییر زیادی نمی‌کند، بنابراین `time.sleep` را به ۱۰ دقیقه تنظیم کنید:
```cpp
time.sleep(10 * 60);
```
> 💁 تابع `sleep` زمان را به ثانیه می‌گیرد، بنابراین برای خواندن آسان‌تر، مقدار به صورت نتیجه یک محاسبه ارسال می‌شود. ۶۰ ثانیه در یک دقیقه وجود دارد، بنابراین ۱۰ ضربدر (۶۰ ثانیه در یک دقیقه) تأخیر ۱۰ دقیقه‌ای ایجاد می‌کند.
1. کد را به همان روشی که کد بخش قبلی تکلیف را اجرا کردید، اجرا کنید. اگر از یک دستگاه مجازی IoT استفاده می‌کنید، مطمئن شوید که اپلیکیشن CounterFit در حال اجرا است و سنسورهای رطوبت و دما روی پین‌های صحیح ایجاد شده‌اند.
```output
pi@raspberrypi:~/temperature-sensor $ python3 app.py
MQTT connected!
Sending telemetry {"temperature": 25}
Sending telemetry {"temperature": 25}
```
> 💁 شما می‌توانید این کد را در پوشه [code-publish-temperature/virtual-device](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/virtual-device) یا پوشه [code-publish-temperature/pi](../../../../../2-farm/lessons/1-predict-plant-growth/code-publish-temperature/pi) پیدا کنید.
😀 شما با موفقیت دما را به عنوان تله‌متری از دستگاه خود منتشر کردید.
**سلب مسئولیت**:
این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما تلاش می‌کنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌ها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه می‌شود از ترجمه حرفه‌ای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهم‌ها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.