بروتوكول MQTT
في هذا المقال بنلخص مفهوم بروتوكول mqtt واستعمالاته في مجال انترنت الاشياء وطريقة عمله بشكل مبسط
-
تم تطوير بروتوكول mqtt عام 1999 بواسطة شركة IBM
-
يقدم بروتوكول mqtt طريقة بسيطة وخفيفة للاجهزة لتبادل رسائل عبر الشبكات ذات التردد المنخفض
- MQTT = Message Queuin Telemetry Transport
-
هو بروتوكول اتصالات خفيف يستخدم نموذج النشر/الاشتراك (pulish/subscribe model)
-
يتيمز هذا البروتوكول بكفاءته في استهلاك النطاق الترددي وقدرته على العمل في بيئات الشبكات غير الموثوقة
-
mqtt مثالي لتطبيقات انترنت الاشياء حيث يتطلب النظام طريقة فعالة وموثوقة لجمع البيانات والتحكم في الاجهزة عن بعد
- كيف يعمل MQTT
-
يعمل بروتوكول MQTT وفقاً لمعمارية الوسيط (broker) والعملاء (clients) الوسيط يعتبر هو النقطة المركزية التي تلتقي الرسائل من العملاء الناشرين (publishers) وتوزعها على العملاء المشتركين (subscribers) يقوم كل ناشر بارسال رسائله الى موضوعات محددة والتي يمكن المشتركين اختيار استقبال رسائل منها.
- مثال اولي مع الشرح لتتضح الفكرة:

-
في هذا المثال Working of MQTT in Iot
نجد ان في الاتجاه الايسر يوجد Publisher 1 وهو عبارة عن حساس لقياس رطوبة التربة مربوط على بروتوكول mqtt ونجد ايضاً Subscriber 3 وهو عبارة عن مرش ماء ذاتي مربوط ايضاً على mqtt
في حال تم تحديد رطوبة تربة منخفضه سيرسل Publisher 1 الى السحابة تحذير من ثم السحابة سوف ترسل التحذير الى Subscriber 1 و Subscriber 2 ايضاً Subscriber 2 هو باعث ومتحكم في هذه الحالة لذا سوف يرسل امر بضخ الماء الى mqtt و mqtt سوف يرسل الامر الى Subscriber 3 ويتم ضخ الماء بناءً على الامر المرسل
- مزايا MQTT
-
خفيف الوزن:
يتطلب استهلاك نطاق ترددي منخفض, مما يجعله مثالياً للاجهزة ذات الموارد المحدودة
-
اليات ضمان التوصيل المتعددة (Quality of Service levels):
يمكن تخصيص مستويات ضمان التوصيل للرسائل مما يوفر مرونة في التحكم بموثوقة الاتصال
-
الاحتفاظ بالرسائل (Message Retention):
يمكن للوسيط ان يحتفظ باخر رسالة نشرت لكل موضوع مما يضمن استلام المشتركين الجدد للحالة الاخيرة فور اشتراكم
-
الرسائل المتأخرة (Last Will and Testament):
في حال فقد الاتصال غير المتوقع يمكن للوسيط نشر رسالة محددة مسبقاً نيابة عن الجهاز
-
تقليل الاعباء على الشبكة :
نظراً لاستخدامه بروتوكول الاتصال البسيط (TCP/IP) يعمل MQTT على تقليل الحمل والضغط على الشبكة مقارنة بالبروتوكلات الاخرى
- مكونات نظام MQTT

- المنصة التي اطبق واتعلم عليها بروتوكل MQTT حالياً
Microsoft Azure IoT Hub: يوفر دعم قوي لبروتوكل mqtt ويتميز بخصائص مثل معالجة الرسائل في الوقت الفعلي والتكامل السلس مع خدمات azure في iot hub
- الامان في بروتوكل MQTT
الامان هو اكبر التحديات التي تواجه انترنت الاشياء وخصوصاً عند استخدام بروتوكول MQTT
-
1- TLS/SSL
-
يدعم عدة ميكانيكيات لتعزيز الامان وهي:
لتشفير الاتصالات وحماية البيانات المنقوله من والى الوسيط
-
2- Authentication المصادقة :
يمكن تكوين mqtt ليتطلب مصادقة المستخدمين باستخدام اسم المستخدم وكلمة المرور قبل السماح بالنشر او الاشتراك في الموضوعات
-
3- Authoeization التفويض :
يمكن للمسؤل تحديد الصلاحيات للناشرين والمشتركين للوصول الى الموضوعات مما يضمن ان الاجهزة او الافراد يمكنهم فقط الوصول الى الموارد التي يتم تفويضهم لها
-
4- Encryption التشفير :
بالاضافة الى تشفير الاتصالات يمكن تشفير الرسائل نفسها لضمان ان المحتوى يبقى خاصاً وامناً حتى في حال تم اعتراضه
- استخدام MQTT في مجال انترنت الاشياء
-
الاتمتة المنزيلة
يستخدم MQTT في نظم الاتمتة المنزلية للتحكم في الاجهزة المنزلية مثل الاضاءة وانظمة التدفئة والتكييف بطريقة امنة
-
الاتمتة الصناعية
يمكن ل MQTT تسهيل التواصل بين الالات ومراقبة العمليات لتحسين الكفاءة والامان
-
الرعاية الصحية
يمكن ل MQTT ان يساهم في مراقبة المرضى عن بعد بفعالية حيث يتم تجميع بيانات الصحة من الاجهزة الطبية وارسالها الى الاطباء لمتابعة صحة المريض
- بعض الاسئلة الشائعة حول MQTT
- ما هو MQTT؟
MQTT (Message Queuing Telemetry Transport) هو بروتوكول مفتوح المصدر لتبادل الرسائل يستخدم نموذج النشر والاشتراك.
- كيف يختلف MQTT عن HTTP؟
MQTT مصمم لكفاءة النطاق الترددي ومناسب للاتصالات ذات النطاق الترددي المحدود والشبكات غير الموثوقة، بينما HTTP أكثر شيوعًا لطلبات الويب القياسية.
- ما هي جودة الخدمة في MQTT؟
MQTT يوفر ثلاث مستويات لجودة الخدمة: 0 (أقصى جهد دون تأكيد), 1 (تأكيد التسليم), و 2 (تسليم مضمون دون تكرار).
- مثال بسيط على طريقة عمل بروتوكل MQTT
