📚 استخدام بيانات المستشعرات والبيانات الضخمة لاتخاذ القرارات
المفاهيم الأساسية
المراقبة الذكية في الزراعة: عملية مراقبة الحديقة باستخدام أجهزة تجمع البيانات وترسلها إلى منصة عبر الإنترنت.
الإدارة الذكية للحدائق: استخدام تقنيات البيانات لتحسين فاعلية أنظمة الحدائق والمحافظة على توازنها واستمراريتها.
خريطة المفاهيم
```markmap
تطوير وبرمجة الأردوينو
مشروع الحديقة الذكية بالأردوينو
المكونات المطلوبة
- مستشعر الحرارة (Temperature Sensor)
توصيل المكونات
#### توصيل مستشعر درجة الحرارة
توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
توصيل طرف Vout (الجهد) للمستشعر بالطرف التناظري A2 في الأردوينو (سلك أخضر).
توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
#### توصيل مستشعر رطوبة التربة
توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
توصيل طرف Signal (الإشارة) للمستشعر بالطرف التناظري A4 في الأردوينو (سلك أخضر).
#### الدائرة بصورتها النهائية
- توصيل الأطراف بالمكونات
- المكونات المتصلة:
- مستشعر رطوبة التربة (Soil Moisture Sensor)
- ترانزستور (TMP)
- محرك (Motor)
#### الدائرة المادية (Physical Circuit)
- صورة الدائرة بمكوناتها المادية
- المكونات الظاهرة:
- مستشعر رطوبة التربة (Capacitive Soil Moisture Sensor v1.2)
- لوحة الأردوينو (Arduino Uno R3)
- لوحة التوصيل (Breadboard)
- محرك التيار المستمر (DC Motor)
برمجة المكونات
#### الخطوات البرمجية
استدعاء المكتبات المطلوبة (pyfirmata, time)
تكوين منفذ الاتصال والأطراف (COM4، محرك DC، مستشعر درجة الحرارة، مستشعر الرطوبة)
إعداد الاتصال بين PyFirmata ولوحة الأردوينو
تنفيذ دالة التحكم في محرك التيار المستمر (water_plant)
#### استكشاف الأخطاء وإصلاحها
##### التحقق من صحة بيانات المستشعر
- استخدام حلقة تكرار لا نهائية (`while True`)
- قراءة القيم غير المعالجة من الأطراف التناظرية
- إضافة شرط `if` للتحقق من أن القيم ليست `None`
##### معالجة وتحويل البيانات
- تحويل قيمة درجة الحرارة إلى درجات مئوية
- تحويل مستوى الرطوبة إلى نسبة مئوية
##### إدخال شروط الري
- كتابة شرط التحكم في الري:
- إذا كانت `(temperature >= 24.0) and (moisture <= 40.0)`
- استدعاء دالة `water_plant(dc_motor_pin)`
##### عرض التقارير
- طباعة تقرير درجة الحرارة: `"Temperature : " + str(temperature) + " C"`
- طباعة تقرير الرطوبة: `"Moisture : " + str(round(moisture, 2)) + "%"`
- إضافة `time.sleep(10)` في نهاية الحلقة
التفاعل مع خدمات الويب السحابية
#### تطوير المشروع
- إرسال البيانات عبر خدمة الويب السحابية من منصة Binary IoT Cloud
#### عرض البيانات على المنصة
- عرض البيانات البيئية المجمعة بواسطة الأردوينو
- مثال: جدول ورسوم بيانية لقراءات درجة الحرارة والرطوبة
##### بيانات مثال من المنصة
- درجة الحرارة: تتراوح بين 25.36°C و 25.43°C
- الرطوبة: تتراوح بين 39.39% و 42.84%
#### التسجيل في المنصة السحابية
##### خطوات التسجيل
الانتقال إلى موقع المنصة: https://ksa-iot.azurewebsites.net/Login.aspx
الضغط على "تسجيل" من صفحة الترحيب.
تعبئة بيانات الحساب:
- اسم المستخدم (Username)
- كلمة المرور (Password)
- رقم التعريف الشخصي (PIN): 174563
الضغط على زر "Register" (تسجيل).
##### واجهة التسجيل (شكل 4.26)
- تحتوي على رمز QR للوصول.
- نموذج يحتوي على حقول:
- Username
- Password
- Confirm Password
- Pin
- زر Register
- أرقام مرقمة (1-5) تشير إلى تسلسل الإجراءات.
#### استدعاء واجهة برمجة تطبيقات الويب (Web API) باستخدام البايثون
##### مفهوم Web API و JSON
- Web API: نقطة وصل للتواصل بين برنامج وخادم على الإنترنت.
- JSON: تنسيق مفتوح لنقل البيانات (مفتاح - قيمة).
##### خطوات البرمجة
تثبيت حزمة `requests`:
```
توسيع نطاق مشروع الحديقة الذكية
من مراقبة الحديقة الذكية (مشروع سابق)
- مثال مصغر للمراقبة الذكية في الزراعة.
- جهاز واحد يجمع البيانات ويرسلها لمنصة عبر الإنترنت.
إلى مراقبة عدة حدائق كبيرة
- الحديقة الكبيرة تتطلب أجهزة متعددة لمراقبة شاملة.
- كل نوع/صنف نبات يحتاج بيئة مراقبة مختلفة.
- جمع البيانات قد يكشف أنماطاً مختلفة تشكل نظاماً متكاملاً.
إدارة عدة حدائق في المدينة
- إدارة البلدية تراقب وتُعنى بعدة حدائق بأنظمة مختلفة.
- تتطلب كميات هائلة من البيانات.
- تحليل البيانات يعطي رؤى وأنماط شاملة للإدارة والتشغيل.
- يمكن إجراء مقارنات بين الحدائق.
الإدارة الذكية للحدائق
- تساهم في تحسين وتطوير الحدائق الذكية.
- تزيد من فاعلية الأنظمة.
- تحافظ على توازن واستمرارية الأنظمة.
```
نقاط مهمة
- مشروع الحديقة الذكية السابق كان يركز على جهاز واحد، بينما الواقع يتطلب أنظمة متعددة الأجهزة.
- توسيع نطاق المشروع يعني التعامل مع كميات هائلة من البيانات (بيانات ضخمة).
- تحليل هذه البيانات الضخمة يساعد في اتخاذ قرارات مدروسة لتحسين إدارة وتشغيل الحدائق.
- الشكل 4.33 يوضح عملية توسيع نطاق المشروع من نظام مستشعر واحد إلى أنظمة متعددة مترابطة.