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.
123 lines
7.3 KiB
123 lines
7.3 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "2bf65f162bcebd35fbcba5fd245afac4",
|
|
"translation_date": "2025-08-26T22:51:35+00:00",
|
|
"source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md",
|
|
"language_code": "ar"
|
|
}
|
|
-->
|
|
# قياس رطوبة التربة - أجهزة إنترنت الأشياء الافتراضية
|
|
|
|
في هذا الجزء من الدرس، ستضيف مستشعر رطوبة التربة السعوي إلى جهاز إنترنت الأشياء الافتراضي الخاص بك، وتقرأ القيم منه.
|
|
|
|
## الأجهزة الافتراضية
|
|
|
|
سيستخدم جهاز إنترنت الأشياء الافتراضي مستشعر رطوبة التربة السعوي المحاكي من نوع Grove. هذا يجعل هذا المختبر مشابهًا لاستخدام Raspberry Pi مع مستشعر رطوبة التربة السعوي الفعلي.
|
|
|
|
في جهاز إنترنت الأشياء الفعلي، سيكون مستشعر رطوبة التربة مستشعرًا سعويًا يقيس رطوبة التربة عن طريق الكشف عن السعة الكهربائية للتربة، وهي خاصية تتغير مع تغير رطوبة التربة. مع زيادة رطوبة التربة، ينخفض الجهد الكهربائي.
|
|
|
|
هذا المستشعر هو مستشعر تناظري، لذا يستخدم محول تناظري رقمي محاكي بدقة 10 بت للإبلاغ عن قيمة تتراوح بين 1 و1023.
|
|
|
|
### إضافة مستشعر رطوبة التربة إلى CounterFit
|
|
|
|
لاستخدام مستشعر رطوبة التربة الافتراضي، تحتاج إلى إضافته إلى تطبيق CounterFit.
|
|
|
|
#### المهمة - إضافة مستشعر رطوبة التربة إلى CounterFit
|
|
|
|
أضف مستشعر رطوبة التربة إلى تطبيق CounterFit.
|
|
|
|
1. قم بإنشاء تطبيق Python جديد على جهاز الكمبيوتر الخاص بك في مجلد يسمى `soil-moisture-sensor` مع ملف واحد يسمى `app.py` وبيئة Python افتراضية، وأضف حزم CounterFit باستخدام pip.
|
|
|
|
> ⚠️ يمكنك الرجوع إلى [التعليمات لإنشاء وإعداد مشروع CounterFit Python في الدرس الأول إذا لزم الأمر](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
|
|
|
|
1. تأكد من تشغيل تطبيق الويب CounterFit.
|
|
|
|
1. قم بإنشاء مستشعر رطوبة التربة:
|
|
|
|
1. في مربع *إنشاء مستشعر* في لوحة *المستشعرات*، افتح القائمة المنسدلة *نوع المستشعر* واختر *رطوبة التربة*.
|
|
|
|
1. اترك *الوحدات* مضبوطة على *NoUnits*.
|
|
|
|
1. تأكد من أن *الدبوس* مضبوط على *0*.
|
|
|
|
1. اختر زر **إضافة** لإنشاء مستشعر *رطوبة التربة* على الدبوس 0.
|
|
|
|

|
|
|
|
سيتم إنشاء مستشعر رطوبة التربة وسيظهر في قائمة المستشعرات.
|
|
|
|

|
|
|
|
## برمجة تطبيق مستشعر رطوبة التربة
|
|
|
|
يمكن الآن برمجة تطبيق مستشعر رطوبة التربة باستخدام مستشعرات CounterFit.
|
|
|
|
### المهمة - برمجة تطبيق مستشعر رطوبة التربة
|
|
|
|
برمج تطبيق مستشعر رطوبة التربة.
|
|
|
|
1. تأكد من فتح تطبيق `soil-moisture-sensor` في VS Code.
|
|
|
|
1. افتح ملف `app.py`.
|
|
|
|
1. أضف الكود التالي إلى أعلى ملف `app.py` لتوصيل التطبيق بـ CounterFit:
|
|
|
|
```python
|
|
from counterfit_connection import CounterFitConnection
|
|
CounterFitConnection.init('127.0.0.1', 5000)
|
|
```
|
|
|
|
1. أضف الكود التالي إلى ملف `app.py` لاستيراد بعض المكتبات المطلوبة:
|
|
|
|
```python
|
|
import time
|
|
from counterfit_shims_grove.adc import ADC
|
|
```
|
|
|
|
يقوم الأمر `import time` باستيراد وحدة `time` التي سيتم استخدامها لاحقًا في هذا التمرين.
|
|
|
|
يقوم الأمر `from counterfit_shims_grove.adc import ADC` باستيراد الفئة `ADC` للتفاعل مع محول تناظري رقمي افتراضي يمكنه الاتصال بمستشعر CounterFit.
|
|
|
|
1. أضف الكود التالي أسفل هذا لإنشاء نسخة من الفئة `ADC`:
|
|
|
|
```python
|
|
adc = ADC()
|
|
```
|
|
|
|
1. أضف حلقة لا نهائية تقرأ من هذا المحول التناظري الرقمي على الدبوس 0 وتكتب النتيجة إلى وحدة التحكم. يمكن لهذه الحلقة أن تتوقف لمدة 10 ثوانٍ بين القراءات.
|
|
|
|
```python
|
|
while True:
|
|
soil_moisture = adc.read(0)
|
|
print("Soil moisture:", soil_moisture)
|
|
|
|
time.sleep(10)
|
|
```
|
|
|
|
1. من تطبيق CounterFit، قم بتغيير قيمة مستشعر رطوبة التربة التي سيتم قراءتها بواسطة التطبيق. يمكنك القيام بذلك بطريقتين:
|
|
|
|
* أدخل رقمًا في مربع *القيمة* الخاص بمستشعر رطوبة التربة، ثم اختر زر **تعيين**. الرقم الذي تدخله سيكون القيمة التي يعيدها المستشعر.
|
|
|
|
* قم بتحديد مربع *عشوائي*، وأدخل قيمة *الحد الأدنى* و *الحد الأقصى*، ثم اختر زر **تعيين**. في كل مرة يقرأ المستشعر قيمة، سيقرأ رقمًا عشوائيًا بين *الحد الأدنى* و *الحد الأقصى*.
|
|
|
|
1. قم بتشغيل تطبيق Python. سترى قياسات رطوبة التربة مكتوبة في وحدة التحكم. قم بتغيير إعدادات *القيمة* أو *العشوائي* لرؤية تغير القيمة.
|
|
|
|
```output
|
|
(.venv) ➜ soil-moisture-sensor $ python app.py
|
|
Soil moisture: 615
|
|
Soil moisture: 612
|
|
Soil moisture: 498
|
|
Soil moisture: 493
|
|
Soil moisture: 490
|
|
Soil Moisture: 388
|
|
```
|
|
|
|
> 💁 يمكنك العثور على هذا الكود في [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device) المجلد.
|
|
|
|
😀 لقد نجحت في برمجة تطبيق مستشعر رطوبة التربة!
|
|
|
|
---
|
|
|
|
**إخلاء المسؤولية**:
|
|
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي [Co-op Translator](https://github.com/Azure/co-op-translator). بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة. |