7.3 KiB
قياس رطوبة التربة - أجهزة إنترنت الأشياء الافتراضية
في هذا الجزء من الدرس، ستضيف مستشعر رطوبة التربة السعوي إلى جهاز إنترنت الأشياء الافتراضي الخاص بك، وتقرأ القيم منه.
الأجهزة الافتراضية
سيستخدم جهاز إنترنت الأشياء الافتراضي مستشعر رطوبة التربة السعوي المحاكي من نوع Grove. هذا يجعل هذا المختبر مشابهًا لاستخدام Raspberry Pi مع مستشعر رطوبة التربة السعوي الفعلي.
في جهاز إنترنت الأشياء الفعلي، سيكون مستشعر رطوبة التربة مستشعرًا سعويًا يقيس رطوبة التربة عن طريق الكشف عن السعة الكهربائية للتربة، وهي خاصية تتغير مع تغير رطوبة التربة. مع زيادة رطوبة التربة، ينخفض الجهد الكهربائي.
هذا المستشعر هو مستشعر تناظري، لذا يستخدم محول تناظري رقمي محاكي بدقة 10 بت للإبلاغ عن قيمة تتراوح بين 1 و1023.
إضافة مستشعر رطوبة التربة إلى CounterFit
لاستخدام مستشعر رطوبة التربة الافتراضي، تحتاج إلى إضافته إلى تطبيق CounterFit.
المهمة - إضافة مستشعر رطوبة التربة إلى CounterFit
أضف مستشعر رطوبة التربة إلى تطبيق CounterFit.
-
قم بإنشاء تطبيق Python جديد على جهاز الكمبيوتر الخاص بك في مجلد يسمى
soil-moisture-sensor
مع ملف واحد يسمىapp.py
وبيئة Python افتراضية، وأضف حزم CounterFit باستخدام pip.⚠️ يمكنك الرجوع إلى التعليمات لإنشاء وإعداد مشروع CounterFit Python في الدرس الأول إذا لزم الأمر.
-
تأكد من تشغيل تطبيق الويب CounterFit.
-
قم بإنشاء مستشعر رطوبة التربة:
-
في مربع إنشاء مستشعر في لوحة المستشعرات، افتح القائمة المنسدلة نوع المستشعر واختر رطوبة التربة.
-
اترك الوحدات مضبوطة على NoUnits.
-
تأكد من أن الدبوس مضبوط على 0.
-
اختر زر إضافة لإنشاء مستشعر رطوبة التربة على الدبوس 0.
سيتم إنشاء مستشعر رطوبة التربة وسيظهر في قائمة المستشعرات.
-
برمجة تطبيق مستشعر رطوبة التربة
يمكن الآن برمجة تطبيق مستشعر رطوبة التربة باستخدام مستشعرات CounterFit.
المهمة - برمجة تطبيق مستشعر رطوبة التربة
برمج تطبيق مستشعر رطوبة التربة.
-
تأكد من فتح تطبيق
soil-moisture-sensor
في VS Code. -
افتح ملف
app.py
. -
أضف الكود التالي إلى أعلى ملف
app.py
لتوصيل التطبيق بـ CounterFit:from counterfit_connection import CounterFitConnection CounterFitConnection.init('127.0.0.1', 5000)
-
أضف الكود التالي إلى ملف
app.py
لاستيراد بعض المكتبات المطلوبة:import time from counterfit_shims_grove.adc import ADC
يقوم الأمر
import time
باستيراد وحدةtime
التي سيتم استخدامها لاحقًا في هذا التمرين.يقوم الأمر
from counterfit_shims_grove.adc import ADC
باستيراد الفئةADC
للتفاعل مع محول تناظري رقمي افتراضي يمكنه الاتصال بمستشعر CounterFit. -
أضف الكود التالي أسفل هذا لإنشاء نسخة من الفئة
ADC
:adc = ADC()
-
أضف حلقة لا نهائية تقرأ من هذا المحول التناظري الرقمي على الدبوس 0 وتكتب النتيجة إلى وحدة التحكم. يمكن لهذه الحلقة أن تتوقف لمدة 10 ثوانٍ بين القراءات.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
من تطبيق CounterFit، قم بتغيير قيمة مستشعر رطوبة التربة التي سيتم قراءتها بواسطة التطبيق. يمكنك القيام بذلك بطريقتين:
-
أدخل رقمًا في مربع القيمة الخاص بمستشعر رطوبة التربة، ثم اختر زر تعيين. الرقم الذي تدخله سيكون القيمة التي يعيدها المستشعر.
-
قم بتحديد مربع عشوائي، وأدخل قيمة الحد الأدنى و الحد الأقصى، ثم اختر زر تعيين. في كل مرة يقرأ المستشعر قيمة، سيقرأ رقمًا عشوائيًا بين الحد الأدنى و الحد الأقصى.
-
-
قم بتشغيل تطبيق Python. سترى قياسات رطوبة التربة مكتوبة في وحدة التحكم. قم بتغيير إعدادات القيمة أو العشوائي لرؤية تغير القيمة.
(.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 المجلد.
😀 لقد نجحت في برمجة تطبيق مستشعر رطوبة التربة!
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.