كيفية تثبيت وسيط / خادم Mosquitto MQTT على أوبونتو 16.04

MQTT هو بروتوكول للمراسلة "خفيف الوزن" يعتمد على نموذج النشر / الاشتراك عبر TCP / IP للتواصل بين أجهزة "إنترنت الأشياء" مثل ESP8266 و Raspberry Pi وما إلى ذلك. وهو شائع جدًا مع انخفاض الموارد وتطبيقات تعمل بالبطارية مثل المنزل الأتمتة وأنظمة الإنذار الأمني ​​وشبكات الاستشعار التي تعمل بالبطارية.

Mosquitto هو وسيط رسائل مفتوح المصدر (أو خادم) يقوم بتنفيذ بروتوكولات MQTT. بفضل دعم المجتمع الجيد والتوثيق وسهولة التركيب ، أصبح أحد أشهر وسطاء MQTT.

المتطلبات الأساسية

  • خادم Ubuntu 16.04 مع rootوصول
  • افتح المنفذ TCP:1883على جدار الحماية

الخطوة الأولى: قم بتثبيت Mosquitto Broker

قم بتحديث قائمة حزم Ubuntu وتثبيت أحدث Mosquitto Broker المتاح منه

sudo apt-get update
sudo apt-get install mosquitto

ستبدأ خدمة Mosquitto بعد التثبيت.

الخطوة الثانية: تثبيت العملاء والاختبار

تثبيت عملاء MQTT

sudo apt-get install mosquitto-clients

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

الموضوعات هي التسميات التي يستخدمها الوسيط لتصفية الرسائل لكل عميل متصل. "Home1/BedroomTemp"سيستمع برنامج عميل مشترك في موضوع فقط إلى الرسائل المنشورة حول نفس الموضوع بواسطة عملاء آخرين.

اشترك في الموضوع "test"

mosquitto_sub -t "test"

Mosquito_subهو عميل اشتراك قمنا بتثبيته في الأمر السابق. هنا نحدد " -t" متبوعًا باسم الموضوع.

نشر رسالة على الموضوع "test"

قم بتسجيل الدخول إلى الجهاز كمثال ثاني ونشر رسالة حول "test"الموضوع.

mosquitto_pub -m "message from mosquitto_pub client" -t "test"

هنا تتبع المعلمة الإضافية " –m" الرسالة التي نريد نشرها. اضغط على " Enter" وسترى رسالة mosquitto_pub clientمعروضة في محطة طرفية أخرى mosquito_sub clientتعمل.

الخطوة الثالثة: تأمين بكلمة مرور

يأتي Mosquitto مع أداة إنشاء ملف كلمة المرور تسمى mosquitto_passwd.

sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password

قم بإنشاء ملف تكوين لـ Mosquitto يشير إلى ملف كلمة المرور الذي أنشأناه للتو.

sudo nano /etc/mosquitto/conf.d/default.conf

سيؤدي هذا إلى فتح ملف فارغ. الصق التالي فيه.

allow_anonymous false
password_file /etc/mosquitto/passwd

احفظ واخرج من محرر النصوص باستخدام " Ctrl+O" و " Enter" و " Ctrl+X".

أعد تشغيل خادم Mosquitto واختبر تغييراتنا.

sudo systemctl restart mosquitto

في نافذة عميل الاشتراك ، اضغط على " Ctrl+C" لإنهاء عميل الاشتراك وإعادة تشغيله بالأمر التالي.

mosquitto_sub -t "test" -u "dave" -P "password"

لاحظ العاصمة -P هنا .

في نافذة عميل النشر ، حاول نشر رسالة بدون كلمة مرور.

mosquitto_pub -t "test" -m "message from mosquitto_pub client"

سيتم رفض الرسالة مع رسالة الخطأ التالية.

Connection Refused: not authorised.
Error: The connection was refused.

الآن نشر رسالة مع usernameو password.

mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"

اضغط على " Enter" وسترى الرسالة في نافذة عميل الاشتراك ، كما في الخطوة الثانية.

استنتاج

لقد قمنا الآن بإعداد خادم MQTT محمي بكلمة مرور. يمكنك استخدام IP العام لخادم Ubuntu كوسيط MQTT لمشاريعك.

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

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

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد