لماذا يفضل إنترنت الأشياء MQTT؟

Apr 21, 2025 ترك رسالة

MQTT (نقل القياس عن بعد في قائمة انتظار الرسائل)، من الناحية البشرية، يعني نقل القياس عن بعد في قائمة انتظار الرسائل. منذ بضع سنوات، عندما لم يسمع العديد من المهندسين مصطلحًا ملتويًا على جانب الكمبيوتر الشخصي، ولكن مع التطور التدريجي لتقنية إنترنت الأشياء (IoT)، ظهر هذا البروتوكول بشكل متكرر في أعين كبار المهندسين. وقد جعل هذا العديد من المهندسين يعرفون الاسم فقط وليس المعنى، حتى أن الكثير من الناس اعتقدوا أن هذا نوع من البروتوكول تم تطويره مع تطور إنترنت الأشياء. في الواقع، تم اختراع بروتوكول MQTT لأول مرة منذ أكثر من 20 عامًا، وفي عام 1999 كتب آندي ستانفورد كلارك من شركة IBM وألان نيبي من Cirrus Link النسخة الأولى من البروتوكول. ومنذ ذلك الحين تم توحيد البروتوكول دوليًا كبروتوكول مراسلة يستند إلى النشر/الاشتراك- بموجب معيار ISO (ISO/IEC PRF 20922.) قدمت IBM مواصفات الإصدار 3.1 من MQTT إلى منظمة تسهيل معايير المعلومات المنظمة في عام 2013، إلى جانب ميثاق لضمان إمكانية إجراء عدد صغير فقط من التغييرات على المواصفات، ومنذ ذلك الحين تم استخدام بروتوكول MQTT في عدد من المنافذ منذ ذلك الحين. بمجرد الانتهاء من البنية التحتية التقنية لإنترنت الأشياء، بدأ هذا البروتوكول القديم في ربيعه الأول.


طبقات النقل والتطبيق للشبكة


كما نعلم جميعًا، فإن التطور السريع لإنترنت الأشياء حتى الآن لا يمكن ترك البنية التحتية لشبكة الاتصالات، يمكنك الآن التحكم في أي ركن من أركان العالم في منزل مفتاح إضاءة الغرفة، أو للقيام بالتحكم الصناعي، يمكنك أيضًا التحكم عن بعد في حركة الروبوت، ويعتمد نضج هذه التكنولوجيا على اتصالات الشبكة كأساس. التقنية الرئيسية لتقنية الشبكة الحالية هي نموذج OSI ذو -الطبقات السبعة، وبطبيعة الحال، يستخدم التطبيق الفعلي نموذج شبكة TCP/IP المكون من أربع-طبقات.


نموذج الشبكة ذو الطبقة الأربعة -TCP / IP لطبقة النقل الثالثة هو بروتوكول TCP / IP الشهير، يتم استخدام هذه الطبقة من الغرض الرئيسي للبروتوكول لإرسال جهاز كمبيوتر على شبكة نقل بيانات الاتصال إلى عنوان IP المحدد للجهاز الآخر أعلاه، على سبيل المثال، عنوان IP "192.168.137.19 على سبيل المثال، إذا كان جهاز بعنوان IP "192.168.137.19" يريد إرسال حزمة ثنائية ذات 16 بايت إلى جهاز بعنوان IP "192.168.137.10"، فمن الممكن استخدام بروتوكول TCP/IP لإرسالها. بدلاً من ذلك، عند نقل البيانات باستخدام TCP، نستخدم عادةً المقابس.


ولكن عندما يقوم عنوان IP الخاص بالجهاز "192.168.137.19" بإرسال البيانات إلى الجهاز "192.168.137.10"، فإن هذه الحزمة من حزم TCP داخل البيانات هي في الواقع نيابة عن معنى الطرف المتلقي لعنوان IP للطرف المتلقي للجهاز "192.168.137.10" كيفية تحليل حزمة البيانات هذه، تُترك هذه المشكلة لطبقة النقل فوق الطبقة من البروتوكولات التي يجب حلها، وهي بروتوكولات طبقة التطبيق. بالطبع، إذا كانت البروتوكولات الخاصة بك لا ترغب في إعطاء شبكة أجهزة الكمبيوتر العادية دقة، فيمكنك أيضًا الانتقال إلى تطوير بعض بروتوكولات طبقة التطبيقات الخاصة بها، فلا يهم، والغرض من طبقة النقل هو فقط تمرير البيانات إلى الجهاز المستهدف فوقها.


غالبًا ما يواجه عملنا اليومي وترفيهنا مجموعة متنوعة من بروتوكولات طبقة التطبيقات، مثل عند فتح صفحة ويب، يتم عرض الصورة في هذا الموضع، والزر الذي يشير إلى الأسفل هو تحقيق الوظيفة، ويتم ذلك عن طريق بروتوكول نقل النص التشعبي HTML (الإنجليزية: HyperTextTransferProtocol، الاختصار: HTTP) المتفق عليه. وهذا يضمن أنه عندما يتم طلب صفحة في موقع الويب الخاص بك بواسطة أي جهاز، يمكن لهذا الجهاز عرضها بشكل صحيح. بصرف النظر عن HTTP، هناك العديد من بروتوكولات طبقة التطبيقات الأخرى مثل DNS وFTP وما إلى ذلك، وبروتوكول MQTT، وهو بطلنا اليوم، هو واحد منها.


لماذا يفضل إنترنت الأشياء MQTT؟


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


يمكن تنفيذ هذا البروتوكول خفيف الوزن على أجهزة الأجهزة المقيدة بشدة والشبكات المحدودة ذات زمن الوصول/النطاق الترددي العالي.


تتيح مرونتها إمكانية دعم سيناريوهات التطبيقات المتنوعة لأجهزة وخدمات إنترنت الأشياء.


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


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


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


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


HTTP هو بروتوكول ثقيل الوزن يحتوي على العديد من الرؤوس والقواعد. انها ليست مناسبة للشبكات المقيدة.


لهذه الأسباب، تستخدم معظم الأنظمة-ذات الأداء العالي والقابلة للتطوير ناقلات رسائل غير متزامنة لتبادل البيانات الداخلية بدلاً من خدمات الويب.


نموذج الاشتراك/النشر


ومن المثير للاهتمام أن خادم بروتوكول MQTT هذا هو في الواقع تصميم أبسط بكثير من خادم الويب، حيث يسعى إلى أن يكون خدمة فعالة. إن الآلية التي تقوم MQTT من خلالها بإرسال واستقبال الرسائل في المقام الأول تشبه إلى حد ما العلاقة بين موقعنا العام وبينك، أيها القراء.


في العالم الحقيقي، أنا وأنت نشبه جهاز MQTT متصل بخادم موحد، فأنت تشترك معنا بدافع الاهتمام أو نوع من المودة لرقمنا العام، وعندما أرسل كل يوم رسالة نصية، ستظهر في الهاتف الخليوي لقد دفعت الرسالة، في هذه العملية، تحصل على معلوماتي بطريقة تعرف باسم "في هذه العملية، الطريقة التي تحصل بها على معلوماتي تسمى "الاشتراك"، وسلوك النشر الخاص بي على هذا الرقم العام هو "النشر". ويمكن للجميع الانضمام إلى مقالتي، ولا تتردد في ترك رسالة لي، وهذا السلوك هو سلوك "النشر" للجميع، وأظل دائمًا أمام الدفع لرؤية رسالة الجميع، وهذا نوع من سلوك "الاشتراك". في هذه العملية، جميع المعلومات الخارجية ليس لها علاقة بنا، نحن ببساطة نتواصل مع تدفق المعلومات في اتجاهين. تعتمد آلية المراسلة في MQTT أيضًا على نموذج الاشتراك - للنشر. تعتمد آلية تسليم رسائل MQTT أيضًا على نموذج "النشر" - "الاشتراك".


خطوات MQTT المحددة هي:


الخطوة 1:استخدم الأول للحصول على خادم MQTT، ثم قم بإنشاء منتج اتصالات MQTT جديد.


الخطوة 2:ثم انتقل للاتصال بهذا الخادم، وهناك معلمتان مهمتان للاتصال بالخادم هما رقم المضيف (اسم المجال أو عنوان IP) ورقم المنفذ.


الخطوة 3:إذا كنت تستخدم نظامًا أساسيًا لخادم سحابي- تابع لجهة خارجية، فقد يتطلب منك تسجيل الدخول إلى هذا الجهاز باستخدام معرف المنتج ومعلومات المصادقة، وكلاهما يمكن العثور عليهما في الواجهة الخلفية لـ Device Cloud.


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


سأقوم بتجميع وثيقة لأوضح لك كيفية "الخروج" من منصة الوصول المفتوح السحابية لجهاز China Mobile.


تنطبق هذه الخطوات الثلاث على كل من تطوير برامج التطبيقات وتطوير وحدات التحكم الدقيقة. في تطوير وحدة التحكم الدقيقة، إذا كنت تستخدم أوامر AT واتصالات وحدة WIFI الخارجية، فيمكن أن تأتي الوحدة العامة مع أوامر AT + MQTT، وهي أفضل طريقة لتقليل الضغط على وحدة التحكم الدقيقة بشكل كبير. أو يمكنك الوصول مباشرة إلى بيانات طبقة النقل TCP/IP، ثم تحليل MQTT، الأمر الذي يتطلب من المستخدم أن يكون لديه فهم عميق لبروتوكول MQTT لتحليل بيانات Json الخاصة به أيضًا، لذلك بشكل عام عند القيام بالأجهزة المضمنة، يوصى عمومًا باستخدام الوحدة النمطية الجاهزة - مباشرة مع بروتوكول MQTT، ويعد تحليل أمر AT مباشرة أكثر ملاءمة.


دراسة الحالة:


التحكم عن بعد في الأضواء والحصول على درجة حرارة الغرفة الحالية.


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


للحفاظ على عمل الاتصال، يجب أولاً أن يكونوا متصلين بنفس خادم MQTT.


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


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

إرسال التحقيق

whatsapp

الهاتف

البريد الإلكتروني

التحقيق