📚 مراجعة الدرس: تطبيقات المدن الذكية وبروتوكول MQTT
المفاهيم الأساسية
Client / عميل: جهاز أو برنامج يطلب خدمة من خادم.
Quality of Service / جودة الخدمة: مستوى ضمان التسليم للرسائل في MQTT.
Data Center Layer / طبقة مركز البيانات: إحدى طبقات هيكل المدينة الذكية.
Receiver / مستقبل: جهاز يستقبل الرسائل.
Message Broker / وسيط الرسائل: وسيط يدير نشر واشتراك الرسائل في MQTT.
Services Layer / طبقة الخدمات: إحدى طبقات هيكل المدينة الذكية.
MQTT Server / خادم MQTT: الخادم الذي يدير اتصال العملاء وتبادل الرسائل.
Street Layer / طبقة الشارع: إحدى طبقات هيكل المدينة الذكية.
Phototransistor / المترانزستور الضوئي: مستشعر ضوئي.
Subscriber / مشترك: عميل في نظام MQTT يشترك في موضوع معين لاستقبال رسائله.
Prototype / نموذج أولي: نموذج أولي للتجربة.
Tilt Sensor / مستشعر الإمالة: مستشعر لقياس الميلان.
City Layer / طبقة المدينة: إحدى طبقات هيكل المدينة الذكية.
Publisher / ناشر: عميل في نظام MQTT يقوم بنشر الرسائل إلى موضوع معين.
خريطة المفاهيم
```markmap
المشروع: تطبيق عملي لبروتوكول MQTT
الهدف
إنشاء حل متكامل لحديقة ذكية
تعميم الهيكل على تطبيقات صناعية لاحقاً
المكونات المادية (الأردوينو)
لوحة أردوينو
مستشعر درجة الحرارة
مستشعر رطوبة التربة
ترانزستور ضوئي
البرامج المطلوبة (بايثون)
البرنامج 1: مستقبل للبيانات
#### يطلب اختيار موضوع (Topic)
#### ينشئ عميل للاشتراك
#### يعرض القيم المحدثة
البرنامج 2: مشترك وحافظ للبيانات
#### يشترك في موضوع بجميع القراءات
#### يحفظ البيانات في ملف JSON
#### يقدم خيارين:
##### الاستماع وجمع بيانات جديدة
##### إنشاء تمثيل للبيانات المخزنة
خطوة التنفيذ النهائية
تشغيل مقاطع البايثون الثلاثة معاً
ضبط بيئة الأردوينو
#### تحديث قراءات البيانات
#### مراقبة النتائج
ما تم تعلمه في هذا الدرس
تحليل التطبيقات الهيكلية للمدن الذكية
نشر الرسائل باستخدام بروتوكول MQTT
إنشاء برنامج بايثون لنشر الرسائل إلى عميل MQTTX
تخزين التقارير في ملف بيانات JSON
إجراء عمليات تحليل البيانات على ملف JSON باستخدام Jupyter
```
نقاط مهمة
- تعلمت كيفية تحليل الهيكل الطبقي (City Layer, Street Layer, Services Layer, Data Center Layer) لتطبيقات المدن الذكية.
- تعلمت آلية عمل بروتوكول MQTT من خلال نشر الرسائل واستخدام مصطلحات رئيسية مثل (Publisher, Subscriber, Message Broker, QoS).
- تعلمت كتابة برنامج بايثون للتواصل مع عميل MQTTX.
- تعلمت حفظ البيانات المستلمة من المستشعرات في ملف بتنسيق JSON.
- تعلمت استخدام مفكرة جوبيتر (Jupyter Notebook) لتحليل البيانات المخزنة في ملف JSON.