جدول المحتويات:
- الخطوة الأولى: تثبيت Mqtt Broker:
- الخطوة الثانية: اختبار MQTT (البعوض)
- الخطوة 3: العمل مع Armtronix Board & Mqtt
فيديو: MQTT على لوحات Armtronix: 3 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
في هذا الدليل ، نود أن نوضح لك في البداية كيف يمكنك استخدام نظام قائم على Linux (Debian أو Ubuntu) وتثبيت Mosquitto (Mqtt Broker) عليه ، كما نوضح لك كيفية استخدام عميل Mqtt على هاتفك (Android) / المستندة إلى Linux نظام إرسال واستقبال الرسائل عبر مقتط. بعد التعرف على هذا ، نود أن نوضح لك كيف يمكنك تكوين وتوصيل لوحتنا مع وسيط Mqtt المثبت هذا. أود أيضًا أن أوضح لك كيف يمكنك إضافة مصادقة إلى وسيط Mqtt وبعض النصائح والحيل الأساسية لتصحيح الأخطاء. لذلك دعونا نبدأ ………..
الخطوة الأولى: تثبيت Mqtt Broker:
هناك عدة وسطاء Mqtt يمكنك تثبيتها. بعض المعروفة مذكورة أدناه. بعضها عبارة عن خدمات قائمة على السحابة.
- HiveMQ
- MosquittoCloud
- MQTT
- Adafruit.io
سنوضح لك كيفية تثبيت Mosquitto على نظام Linux (Ubuntu 18.04). للقيام بذلك ، قم أولاً بإضافة Mosquitto إلى قائمة مصادر ubuntu. بمجرد توفر Mosquitto في مستودعات Ubuntu ، ستتمكن من تثبيته باستخدام apt-get.
فقط افتح Terminal. لفتح Terminal ، انتقل إلى الزاوية السفلية اليسرى من Ubuntu Desktop ، وانقر فوق إظهار التطبيق (شبكة منقطة 3X3). ستفتح نافذة. هناك تبحث عن Terminal. انقر فوق المحطة ، يجب أن تكون قادرًا على رؤية نافذة مفتوحة كما تظهر في الصور التالية.
- إظهار التطبيق (الصورة 1).
- ابحث عن المحطة الطرفية (الصورة 2).
- نافذة طرفية (الصورة 3).
أدخل الأوامر التالية بعد فتح Terminal
sudo apt-add-repository ppa: mosquitto-dev / mosquitto-ppa
sudo apt-get update
sudo apt-get install mosquitto. تثبيت البعوض sudo apt-get install
يمكنك أيضا تثبيت العميل Mqtt. سيكون الأمر لفعل ذلك
sudo apt-get install mosquitto-clients. تثبيت عملاء البعوض sudo apt-get install
بعض الصور للرجوع اليها
- إضافة ppa (الصورة 4).
- تحديث الريبو (الصورة 5).
- تركيب Mosquitto (الصورة 6).
- تركيب عميل Mosquitto (الصورة 7).
الخطوة الثانية: اختبار MQTT (البعوض)
لاختبار mqtt عبر ubuntu (نفس النظام أو نظام آخر) ، تحتاج إلى تثبيت عميل mqtt الذي تم تثبيته مسبقًا بواسطة الأمر sudo apt-get install mosquitto-clients. في حالة رغبتك في اختباره باستخدام هاتف محمول (android) ، يمكنك تثبيت تطبيق MyMqtt من متجر play.
مقتط يعمل على شيء يسمى المواضيع. لسهولة الفهم ، ضع في اعتبارك هذه الموضوعات كمجلد على محرك الأقراص الثابتة بجهاز الكمبيوتر. دعونا نتعامل مع هذا الكمبيوتر كخادم كمبيوتر (وهو في عالم mqtt هو وسيط Mqtt). في هذا الخادم ، دعونا نفكر في وجود مجلدات واحدة.
اسم المجلد: / Folder_one /
الآن دعونا نفكر في شخصين من نظامين مختلفين (كمبيوتر / كمبيوتر محمول) يصلان إلى هذا الخادم إما لقراءة الملفات أو لإرسال / تفريغ الملفات أو للقيام بكلتا العمليتين.
سنقوم بتسمية الشخصين / النظامين باسم System X ، System Y (هؤلاء هم عملاء Mqtt في Mqtt World).
الآن ، لنفترض أن System X يرسل / يفرغ بعض الملفات (اسم الملف: درجة الحرارة) في مجلد "/ Folder_one /" ، هذا في عالم mqtt يمكننا أن نطلق عليه هذا النشر (نرسل بعض الرسائل / الحمولة بدلاً من الملف).
الآن ، لنفترض أن System Y يرغب في الحصول على / قراءة هذا الملف أو أي ملف جديد أو التحديث في هذا المجلد ، فإن أول شيء يحتاجه هو معرفة اسم المجلد والمسار ، وهو في حالتنا "/ Folder_one /". الآن سيذهب إلى هذا المجلد ويقرأ / يستقبل هذا الملف (اسم الملف: درجة الحرارة). معرفة المسار / الموضوع والتحقق من التغييرات في الملف / الملفات الجديدة في عالم Mqtt هو الاشتراك في هذا الموضوع.
بالنظر إلى المثال أعلاه ،
يقوم النظام X بالنشر على "/ Folder_one" والنظام Y لديه اشتراكات في "/ Folder_one"
لاحظ أيضًا أن System X يمكنه أيضًا الاشتراك في "/ Folder_one" ويمكن للنظام Y أيضًا النشر إلى "/ Folder_one". مثل الحكمة ، حتى نظام الخادم (The Mqtt Broker) يمكنه نشر / الاشتراك في "/ Folder_one" عن طريق تثبيت عميل Mqtt عليه كما فعلنا حاليًا. الشيء الآخر الذي يجب تذكره هو نشر أو الاشتراك في موضوع ستحتاج إلى معرفة عنوان IP الخاص بـ Mqtt Broker.
أولاً سنختبرها من خلال عميل ubuntu المثبت على نفس نظام الوسيط. سنفتح نافذتين طرفية واحدة منهما ستنشر والأخرى ستشترك فيها. على سبيل المثال سوف نستخدم / Folder_one كموضوع. قبل النشر / الفرع الفرعي لموضوع ما ، ستحتاج إلى العثور على عنوان IP الخاص بـ ubuntu. للقيام بذلك ، انقر فوق الزاوية العلوية اليمنى من الشاشة ، وحدد إعداد wifi ، ومن هناك ستتمكن من العثور على عنوان IP لنظام ubuntu (حاليًا عنوان IP الخاص بالوسيط). تمت مشاركة لقطة الشاشة كمرجع (الصورة 8).
أو للعثور على عنوان IP الخاص بالوسيط ، يمكنك العثور على عنوان IP عن طريق تثبيت أدوات net باستخدام الأمر التالي في الجهاز
sudo apt تثبيت net-tools
تركيب أدوات الشبكة (الصورة 9). بعد ذلك فقط اكتب الأمر ipconfig وستحصل على قائمة بواجهة الشبكة مع عنوان mac و IP
sudo ipconfig
عنوان IP لنظامي هو 192.168.1.67 (الصورة 10)
للنشر
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m pub_to_folderone
هنا ، mosquitto_pub هو الأمر ، متبوعًا بعنصر معرف المعلمة -h وهو عنوان IP للمضيف / الوسيط (في حالتنا 192.168.1.67) ، متبوعًا بـ -t وهو اسم الموضوع للناشر (في حالتنا / Folder_one) ، متبوعًا بـ -m وهو ما يعني الرسالة / الحمولة التي سيتم إرسالها (في حالتنا هي pub_to_folderone).
للاشتراك
mosquitto_sub -h 192.168.1.67 -t / Folder_one
الرسالة التي أرسلها الناشر: pub_to_folderone
مثال للنشر
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "hi test mqtt"
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "mqtt working"
مثال للرد على الاشتراك في الموضوع
mosquitto_sub -h 192.168.1.67 -t / Folder_one
الرسالة التي أرسلها الناشر:
- pub_to_folderone
- مرحبا اختبار mqtt
- mqtt العمل
Pub Sub في نافذتين طرفيتين منفصلتين جنبًا إلى جنب (الصورة 11)
اختبار Mqtt على android (my mqtt)
قم بتثبيت تطبيق mymqtt من متجر play على هاتف android الخاص بك (الصورة 12)
افتح التطبيق وانقر على الزاوية العلوية اليسرى (الصورة 13 ، الصورة 14).
انقر فوق الإعدادات وأدخل عنوان IP الخاص بالوسيط ، وسيكون المنفذ افتراضيًا هو 1883. حاليًا لا نستخدم وسيط mqtt المصادق عليه ، لذا سيكون اسم المستخدم وكلمة المرور فارغين. ما عليك سوى حفظه والنقر مرة أخرى على الزاوية العلوية اليسرى من التطبيق (<الإعدادات) ، سيتم إعادة فتح الدرج (الصورة 15).
في الجزء العلوي من الدرج ، سيُظهر لك عنوان IP الخاص بالوسيط والمنفذ المتصل به التطبيق (الصورة 16).
قم الآن بإضافة الموضوع الذي ترغب في الاشتراك فيه بالضغط على "اشتراك". هنا سنضيف الموضوع كـ / Folder_one (صورة 17 ، صورة 18).
بعد القيام بذلك ، من نظام ubuntu باستخدام Terminal ، سننشر الموضوع. عند النشر ، يجب أن يتم نشر الحمولة / الرسالة على تطبيق الجوال هذا. على سبيل المثال نشر الحمولة باسم "ARM -Automation Robotics & Mechatronics". الأمر كما ذكر سابقاً.
mosquitto_pub -h 192.168.1.67 -t / Folder_one -m "ARM -Automation Robotics & Mechatronics"
النشر من نظام أوبونتو (الصورة 19).
تلقي رسالة منشورة على لوحة القيادة (الصورة 20).
الآن دعونا ننشر من هاتف android (My mqtt) والاشتراك في نظام ubuntu. في هذا المثال ، نستخدم الموضوع "/ mymqtt_to_pub".
للقيام بذلك أولاً ، افتح Terminal من نظام ubuntu واشترك في الموضوع "/ mymqtt_to_pub" باستخدام الأمر التالي (صورة 21)
mosquitto_sub -h 192.168.1.67 -t / mymqtt_to_pub
انتقل الآن إلى درج تطبيق mymqtt وانقر على "نشر". أضف موضوع النشر (في حالتنا هو “/ mymqtt_to_pub”) وأرسل رسالة مثل إرسال “hi Ubuntu” ، اضغط على زر الإرسال (صورة 22 ، صورة 23).
يجب أن تظهر الرسالة على النافذة الطرفية لنظام أوبونتو (الصورة 24).
لاحظ أن كلاً من نظام ubuntu وهاتف android يجب أن يكونا على نفس الشبكة أو يجب أن يتعرض المنفذ 1883 ويجب أن تعرف عنوان IP الخاص بجهاز التوجيه / البوابة حتى يعمل mqtt. إذا كنت ترغب في إضافة المصادقة إلى وسيط mqtt الخاص بك ، يمكنك القيام بذلك عن طريق اتباع رابط المدونة المذكور أدناه https://medium.com/@eranda/setting-up-authenticat… اتبع الخطوة الثانية من هذه المدونة. لقد قمنا بتمكين مصادقة الوسيط الخاص بنا وسنستخدم وسيطًا معتمدًا في مجالسنا.
الخطوة 3: العمل مع Armtronix Board & Mqtt
في الوقت الحالي لهذه التعليمات ، نحن نستخدم لوحة Wifi Single Dimmer Board التي تستخدم الترياك لتقطيع الموجة الجيبية وبالتالي يخفت اللمبة أو التحكم في سرعة المروحة. كما قمنا بتوصيله من خلال نوع المصادقة mqtt.
في البداية قمنا بتكوين اللوحة. خطوات تكوينه كما هو مذكور أدناه.
Power On the board ، سيبدأ في استضافة نقطة وصول Wifi.
باستخدام هاتف android أو كمبيوتر محمول ، اتصل بنقطة الوصول هذه (الصورة 25).
بمجرد الاتصال بنوع AP هذا 192.168.4.1 عن طريق فتح متصفح (chrome / Firefox) من نظام / هاتف متصل بنقطة الوصول. تأكد من أنك لا تستخدم اتصال البيانات الخاص بك (3G / 4G).
عند كتابة عنوان IP ، سيتم فتح صفحة ويب حيث يجب إدخال ما يلي (الصورة 26).
- SSID: اسم Wifi AP.
- كلمة المرور: كلمة مرور SSID.
- وضع IoT Mqtt أو Http (اختر Mqtt).
- Mqtt Broker IP (في حالتنا هو 192.168.1.67).
- اسم المستخدم وكلمة المرور Mqtt ، حيث نستخدم نوع المصادقة ، استخدمنا Naren ، xxxx
- موضوع النشر Mqtt: سيكون هذا هو الموضوع الذي سينشره المنتدى أيضًا ، لقد استخدمنا / testpub.
- موضوع الاشتراك Mqtt: سيكون هذا هو الموضوع الذي يستمع إليه المجلس للحصول على أوامر لتشغيل التيرستورات ، وقد استخدمنا / testub.
- اسم الجهاز: هو الاسم الذي تناديه إلى alexa لتشغيل اللوحة ، وقد استخدمنا corvi.
بعد إدخال التفاصيل ، اضغط على زر الإرسال ، وعند القيام بذلك ستحصل على شاشة كما هو موضح في الصورة 27 ، انتظر بعض الوقت حتى تتوقف اللوحة عن استضافة AP.
يرجى ملاحظة أننا قمنا بتوصيل لوحتنا عبر Uart بالشاشة التسلسلية لـ Arduino IDE. لذا على الجانب الأيسر سترى رسائل التصحيح التي تطبعها عبر Uart (هذا فقط للرجوع إليها).
بمجرد الانتهاء من ذلك ، يمكنك عرض شاشة التصحيح. ستكون معظم التفاصيل مرئية هناك. بعد ذلك ، سيتم الاتصال بالوسيط بنجاح على شاشة التصحيح (المسلسل) التي يمكنك رؤيتها.
متصل بـ MQTT broker مع المصادقة. مشترك في الموضوع 1.
بعد أن يطبع هذا ، يمكنك الآن البدء في إرسال أوامره عبر mqtt حول الموضوع الذي اشتركت فيه على سبيل المثال / testub /
لأوامر هذه اللوحة هي:
- R13_ON: لتشغيل التيرستورات حتى 100٪.
- R13_OFF: لإيقاف تشغيل التيرستورات إلى 0٪.
- باهتة: xx: حيث ، xx هي قيمة التعتيم ويمكن أن تتنوع من 0 إلى 99.
- إعادة التعيين: لمسح تكوين اللوحة.
- الحالة: اطبع الحالة الباهتة للوحة في موضوع النشر الخاص باللوحة.
لإرسال هذا الأمر من نظام يستند إلى ubuntu حيث تم تثبيت عميل mqtt ، ما عليك سوى كتابته كما هو موضح أدناه. تمت إضافة معلمتين إضافيتين هنا بسبب المصادقة - أي -u وهو اسم المستخدم و -P هي كلمة المرور ، يرجى ملاحظة أن هذه هي حساسة لحالة الأحرف.
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testub -m R13_OFF
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testub -m باهتة: 50
ملاحظة: 50 هي القيمة الباهتة
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testub -m R13_ON
mosquitto_pub -h 192.168.1.67 -u Naren -P xxxx -t / testub -m الحالة
للحصول على أحدث حالة ، تتم طباعة الحالة على موضوع النشر الخاص باللوحة والذي هو في حالتنا / testpub. تتم طباعة أي تغيير في الجهاز على اللوحة الخاصة بنا على موضوع النشر الخاص باللوحة. على سبيل المثال ، إذا مررنا Dimmer: 50 في الموضوع المشترك على اللوحة بدلاً من التنفيذ الفعلي لهذا ، فسوف ترسل اللوحة رسالة توضح المستوى الباهت في موضوع النشر. المثال موضح أدناه ،
للاشتراك من نظام ubuntu الخاص بك في موضوع النشر الخاص باللوحة ، أدخل الأمر التالي
mosquitto_sub -h 192.168.1.67 -u Naren -P xxxx -t / testpub
الرسالة التي نحصل عليها هي
باهتة
يوجد أدناه عدد قليل من الشاشات القصيرة من نفس النوع (صورة 28 ، صورة 29)
موصى به:
لوحات الدوائر المحفورة بالحمض للطابعة SLA ثلاثية الأبعاد: 7 خطوات (بالصور)
لوحات الدوائر المحفورة بالحمض للطابعة SLA ثلاثية الأبعاد: Remix..remix .. حسنًا ، أحتاج إلى لوحة تطوير لرقائق ATtiny الخاصة بي. ليس لدي CNC لقطع ثنائي الفينيل متعدد الكلور لا أعرف Kicad ، ولا أريد أن أطلب الألواح. لكن لدي طابعة راتينج … وحمض وأعرف SketchUp. ويحبون صنع الأشياء. ماذا حدث
اكتشاف الأجسام باستخدام لوحات Sipeed MaiX (Kendryte K210): 6 خطوات
اكتشاف الكائن باستخدام لوحات Sipeed MaiX (Kendryte K210): استمرارًا لمقالتي السابقة حول التعرف على الصور باستخدام لوحات Sipeed MaiX ، قررت كتابة برنامج تعليمي آخر يركز على اكتشاف الكائنات. ظهرت مؤخرًا بعض الأجهزة المثيرة للاهتمام مع شريحة Kendryte K210 ، بما في ذلك S
التعرف على الصور باستخدام لوحات K210 و Arduino IDE / Micropython: 6 خطوات (بالصور)
التعرف على الصور باستخدام لوحات K210 و Arduino IDE / Micropython: لقد كتبت بالفعل مقالًا واحدًا حول كيفية تشغيل عروض OpenMV على Sipeed Maix Bit وقمت أيضًا بعمل فيديو عرض توضيحي للكشف عن الكائنات باستخدام هذه اللوحة. أحد الأسئلة العديدة التي طرحها الناس هو - كيف يمكنني التعرف على كائن ليس للشبكة العصبية
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي - احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: 6 خطوات
ESP8266 مراقبة درجة حرارة Nodemcu باستخدام DHT11 على خادم ويب محلي | احصل على درجة حرارة الغرفة ورطوبتها على متصفحك: مرحبًا يا شباب اليوم سنصنع الرطوبة & amp؛ نظام مراقبة درجة الحرارة باستخدام ESP 8266 NODEMCU & amp؛ جهاز استشعار درجة الحرارة DHT11. سيتم الحصول على درجة الحرارة والرطوبة من مستشعر DHT11 & amp؛ يمكن رؤيته على متصفح أي صفحة ويب ستتم إدارتها
كيف تصنع لوحات دوائر مطبوعة على الوجهين: 8 خطوات
كيفية صنع لوحات الدوائر المطبوعة على الوجهين: في كثير من الأحيان ، عند عمل الدوائر ، قد يكون من الجيد وضع مشروعك النهائي على لوحة دوائر مطبوعة (PCB). يعد صنع الألواح أحادية الجانب أمرًا سهلاً بدرجة كافية ، ولكن في بعض الأحيان تكون الدائرة كثيفة جدًا أو معقدة للغاية بحيث لا تتناسب جميع الآثار مع جانب واحد. أدخل د