📚 بروتوكول نقل القياس عن بعد في قائمة انتظار الرسائل - MQTT
المفاهيم الأساسية
MQTT (بروتوكول نقل القياس عن بعد في قائمة انتظار الرسائل): بروتوكول غير معقد وموثوق وفعال، تم تطويره في نهاية التسعينيات من قبل مهندسي IBM و Arcom لمراقبة وإدارة أعداد كبيرة من المستشعرات من خادم مركزي، خاصة في قطاعي النفط والغاز. وهو الآن موحد من قبل OASIS.
وسيط الرسائل (Message Broker): خادم MQTT المركزي الذي يتلقى الاتصال من الناشرين، ويدير عمليات الاشتراك وإلغاء الاشتراك، ويقدم البيانات للمشتركين.
الناشر (Publisher): عميل MQTT الذي يرسل البيانات إلى وسيط الرسائل.
المشترك (Subscriber): عميل MQTT الذي يشترك لاستقبال البيانات من وسيط الرسائل.
خريطة المفاهيم
```markmap
7. الرسائل في إنترنت الأشياء
ما سيتعلمه الطالب
تطبيقات المدن الذكية
- التعرف على طبقات هيكلية المدن الذكية
- طبقة الشارع (Street)
- أجهزة ومستشعرات طبقة الشارع
- مستشعر مغناطيسي (Magnetic Sensor)
- مستشعرات الإضاءة (Lighting Controller)
- كاميرات المراقبة (Video Cameras)
- مستشعر جودة الهواء (Air Quality Sensor)
- العدادات (Counters)
- طبقة المدينة (City)
- وظيفتها: النقل المباشر بين الأجهزة الطرفية ومراكز البيانات/الإنترنت
- متطلباتها:
- نشر موجهات ومحولات شبكية بمستوى أعلى من طبقة الشارع
- تقليل البيانات عبر بروتوكولات متعددة
- المرونة لضمان وصول الحزم (خاصة للتطبيقات الحساسة للتأخر أو فقدان الحزم)
- طبقة مركز البيانات (Data Center)
- وظيفتها: معالجة وتخزين البيانات واستخراج الأنماط لدعم القرارات
- أمثلة تطبيقية:
- إعطاء تصور لحركة المرور على مستوى المدينة
- إدارة مدة ومزامنة إشارات المرور تلقائياً
- موقع التخزين: الخدمات السحابية أو مراكز بيانات البلدية/الشركات الخاصة
- طبقة الخدمات (Services)
- وظيفتها: تقديم الخدمات الفعلية للسلطات والمواطنين بناءً على البيانات المعالجة
- أمثلة تطبيقية:
- إعادة توجيه الحافلات لتجنب الازدحام
- تسيير المزيد من قطارات الأنفاق تلقائياً
- توقع قرارات الركاب
- تحديد أمثلة على المدن الذكية
- مثال: مشاريع المدن الذكية في المملكة العربية السعودية بحلول 2030
- تشمل: الإدارة الذكية للمرور ومواقف السيارات، أنظمة الحفاظ على البيئة، إدارة النفايات، الإسكان الذكي، أنظمة إدارة الأراضي
- الهدف: تحسين نوعية حياة المواطنين والاستدامة المالية وجودة الخدمة
#### أمثلة تطبيقية للمدن الذكية
##### الإنارة الذكية للشوارع
- الهدف: خفض تكاليف الطاقة (تمثل حتى 40% من التكلفة) وتحسين الكفاءة.
- التقنية الأساسية: الدايودات المشعة للضوء (LEDs).
- الميزات: استهلاك منخفض للطاقة، إمكانية تعديل اللون والشدة حسب الحاجة.
##### التحكم الذكي في الحركة المرورية
- المشكلة المستهدفة: الازدحام المروري (يسبب تلوثاً وفقدان إنتاجية).
- آلية العمل: جمع بيانات (عدد السكان، حركة التنقل، أعداد المركبات) عبر مستشعرات إنترنت الأشياء وإرسالها للمسؤولين.
- أحد الحلول: التحكم في مدة إشارات المرور بناءً على الكثافة المرورية الفورية.
##### البيئة المتصلة
- المشكلة المستهدفة: محدودية بيانات جودة الهواء من المحطات التقليدية (مكلفة، محدودة المدى).
- الحل: نشر محطات مراقبة ذكية (أصغر حجماً وأقل تكلفة) لتوفير بيانات موثوقة على المستوى المحلي وتتبع انتقال التلوث.
##### تنبيهات الأمان الذكية
- وحدة اتصالات مخصصة للاتصالات قصيرة المدى (DSRC) على جانب الطريق.
- وحدة الاتصال على جانب الطريق (RSU): تعمل كبوابة بين المركبة والبنية التحتية، وتوفر تحذيرات أمان ومعلومات مرورية.
- وحدة التواصل داخل المركبة (OBU).
أساسيات بروتوكول MQTT
-
مقدمة عن MQTT
- الهدف: بروتوكول غير معقد وموثوق وفعال لمراقبة وإدارة أعداد كبيرة من المستشعرات من خادم مركزي.
- المطورون: مهندسو IBM و Arcom (نهاية التسعينيات).
- الاستخدام الأصلي: قطاع النفط والغاز.
- الجهة الموحدة: مؤسسة OASIS.
- مقارنة مع HTTP: يستخدم على نطاق أوسع في إنترنت الأشياء لسهولة إنشاء هياكل معقدة.
- أساسيات MQTT
- المكونات الرئيسية:
- الناشر (Publisher): يرسل البيانات.
- وسيط الرسائل (Message Broker): الخادم المركزي الذي يدير الاتصالات والاشتراكات.
- المشترك (Subscriber): يستقبل البيانات.
- مبدأ العمل: الفصل بين الناشر والمشترك عبر الوسيط، مما يسمح بتأخير وتخزين المعلومات عند فشل الشبكة.
- مراحل جلسة MQTT: إنشاء الجلسة، المصادقة، تبادل البيانات، إنهاء الجلسة.
- معرف العميل: فريد لتحديد الجلسة بين العميل والخادم.
- عيوب MQTT:
- أبطأ في الإرسال من HTTP.
- يجب على المستخدم تنفيذ اكتشاف الموارد وخدمات النسخ الاحتياطي.
- قصور أمني في التشفير.
- صعوبة التوسع مع زيادة عدد الأجهزة والوسطاء.
- تصنيف جودة الخدمة (QoS) لبروتوكول MQTT
إنشاء تطبيق عملي
- استخدام البرمجة النصية في بايثون لنشر الرسائل إلى عميل MQTT X
- إنشاء ملف بيانات JSON لتخزين التقارير
- استخدام مفكرة Jupyter لتحليل البيانات في ملف JSON
الأدوات المستخدمة
- بيئة التطوير المتكاملة للأردوينو (Arduino IDE)
- أداة JetBrains PyCharm
- بيئة محاكاة دوائر Autodesk Tinkercad Circuits
- عميل MQTT X
```
نقاط مهمة
- تتطلب المدن الذكية أنظمة لجمع ومعرفة فورية بجودة الهواء، تشمل: أنظمة بيانات مفتوحة، مستشعرات إنترنت الأشياء منخفضة التكلفة، وإمكانية تمثيل وتخزين البيانات للمسؤولين والمواطنين.
- مثال: مشروع "ذا لاين" في نيوم بالسعودية يهدف لدمج تقنيات المدن الذكية لتصبح مدينة خالية من الانبعاثات، دون سيارات أو ازدحام.
- في MQTT، لا يحتاج الناشرون والمشتركون للاتصال بالإنترنت في نفس الوقت بسبب وجود وسيط الرسائل.
- كل عميل في MQTT له معرف فريد، ويعامله الخادم بشكل منفصل حتى عند إرسال رسالة للعديد من العملاء.