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/ar/2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moistur...

7.3 KiB

قياس رطوبة التربة - أجهزة إنترنت الأشياء الافتراضية

في هذا الجزء من الدرس، ستضيف مستشعر رطوبة التربة السعوي إلى جهاز إنترنت الأشياء الافتراضي الخاص بك، وتقرأ القيم منه.

الأجهزة الافتراضية

سيستخدم جهاز إنترنت الأشياء الافتراضي مستشعر رطوبة التربة السعوي المحاكي من نوع Grove. هذا يجعل هذا المختبر مشابهًا لاستخدام Raspberry Pi مع مستشعر رطوبة التربة السعوي الفعلي.

في جهاز إنترنت الأشياء الفعلي، سيكون مستشعر رطوبة التربة مستشعرًا سعويًا يقيس رطوبة التربة عن طريق الكشف عن السعة الكهربائية للتربة، وهي خاصية تتغير مع تغير رطوبة التربة. مع زيادة رطوبة التربة، ينخفض الجهد الكهربائي.

هذا المستشعر هو مستشعر تناظري، لذا يستخدم محول تناظري رقمي محاكي بدقة 10 بت للإبلاغ عن قيمة تتراوح بين 1 و1023.

إضافة مستشعر رطوبة التربة إلى CounterFit

لاستخدام مستشعر رطوبة التربة الافتراضي، تحتاج إلى إضافته إلى تطبيق CounterFit.

المهمة - إضافة مستشعر رطوبة التربة إلى CounterFit

أضف مستشعر رطوبة التربة إلى تطبيق CounterFit.

  1. قم بإنشاء تطبيق Python جديد على جهاز الكمبيوتر الخاص بك في مجلد يسمى soil-moisture-sensor مع ملف واحد يسمى app.py وبيئة Python افتراضية، وأضف حزم CounterFit باستخدام pip.

    ⚠️ يمكنك الرجوع إلى التعليمات لإنشاء وإعداد مشروع CounterFit Python في الدرس الأول إذا لزم الأمر.

  2. تأكد من تشغيل تطبيق الويب CounterFit.

  3. قم بإنشاء مستشعر رطوبة التربة:

    1. في مربع إنشاء مستشعر في لوحة المستشعرات، افتح القائمة المنسدلة نوع المستشعر واختر رطوبة التربة.

    2. اترك الوحدات مضبوطة على NoUnits.

    3. تأكد من أن الدبوس مضبوط على 0.

    4. اختر زر إضافة لإنشاء مستشعر رطوبة التربة على الدبوس 0.

    إعدادات مستشعر رطوبة التربة

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

    تم إنشاء مستشعر رطوبة التربة

برمجة تطبيق مستشعر رطوبة التربة

يمكن الآن برمجة تطبيق مستشعر رطوبة التربة باستخدام مستشعرات CounterFit.

المهمة - برمجة تطبيق مستشعر رطوبة التربة

برمج تطبيق مستشعر رطوبة التربة.

  1. تأكد من فتح تطبيق soil-moisture-sensor في VS Code.

  2. افتح ملف app.py.

  3. أضف الكود التالي إلى أعلى ملف app.py لتوصيل التطبيق بـ CounterFit:

    from counterfit_connection import CounterFitConnection
    CounterFitConnection.init('127.0.0.1', 5000)
    
  4. أضف الكود التالي إلى ملف app.py لاستيراد بعض المكتبات المطلوبة:

    import time
    from counterfit_shims_grove.adc import ADC
    

    يقوم الأمر import time باستيراد وحدة time التي سيتم استخدامها لاحقًا في هذا التمرين.

    يقوم الأمر from counterfit_shims_grove.adc import ADC باستيراد الفئة ADC للتفاعل مع محول تناظري رقمي افتراضي يمكنه الاتصال بمستشعر CounterFit.

  5. أضف الكود التالي أسفل هذا لإنشاء نسخة من الفئة ADC:

    adc = ADC()
    
  6. أضف حلقة لا نهائية تقرأ من هذا المحول التناظري الرقمي على الدبوس 0 وتكتب النتيجة إلى وحدة التحكم. يمكن لهذه الحلقة أن تتوقف لمدة 10 ثوانٍ بين القراءات.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  7. من تطبيق CounterFit، قم بتغيير قيمة مستشعر رطوبة التربة التي سيتم قراءتها بواسطة التطبيق. يمكنك القيام بذلك بطريقتين:

    • أدخل رقمًا في مربع القيمة الخاص بمستشعر رطوبة التربة، ثم اختر زر تعيين. الرقم الذي تدخله سيكون القيمة التي يعيدها المستشعر.

    • قم بتحديد مربع عشوائي، وأدخل قيمة الحد الأدنى و الحد الأقصى، ثم اختر زر تعيين. في كل مرة يقرأ المستشعر قيمة، سيقرأ رقمًا عشوائيًا بين الحد الأدنى و الحد الأقصى.

  8. قم بتشغيل تطبيق 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. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.