جدول المحتويات:
- الخطوة 1: ما هو MQTT وكيف يعمل
- الخطوة 2: Raspberry Pi
- الخطوة 3: كيفية إعداد عنوان IP الثابت
- الخطوة 4: NodeMCU
- الخطوة 5: نص بايثون
- الخطوة 6: التوصيلات ومخطط الدائرة
- الخطوة 7: النتيجة
فيديو: Raspberry Pi التحدث إلى ESP8266 باستخدام MQTT: 8 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
في هذا المشروع ، سأشرح ماهية بروتوكول MQTT وكيف يتم استخدامه للتواصل بين الأجهزة ، وبعد ذلك ، كدليل عملي ، سأشرح كيفية إعداد نظام عميل ونظام بروكر ، حيث وحدة ESP8266 بالإضافة إلى RPi talk لبعضهم البعض أو إرسال رسالة عند الضغط على زر.
المواد المطلوبة
1. Raspberry Pi 3
2. NodeMCU
3. الصمام
4. زر
5. المقاومات (10 كيلو ، 475 أوم)
الخطوة 1: ما هو MQTT وكيف يعمل
MQTT
MQTT هو بروتوكول لنقل البيانات من آلة إلى آلة (M2M). تم إنشاء MQTT بهدف جمع البيانات من العديد من الأجهزة ثم نقل تلك البيانات إلى البنية التحتية لتكنولوجيا المعلومات. إنه خفيف الوزن ، وبالتالي فهو مثالي للمراقبة عن بعد ، خاصة في اتصالات M2M التي تتطلب أثر رمز صغير أو حيث يكون عرض النطاق الترددي للشبكة محدودًا.
كيف يعمل MQTT
MQTT هو بروتوكول نشر / اشتراك يسمح لأجهزة حافة الشبكة بالنشر إلى وسيط. يتصل العملاء بهذا الوسيط ، الذي يتوسط بعد ذلك في الاتصال بين الجهازين. يمكن لكل جهاز الاشتراك أو التسجيل في مواضيع معينة. عندما ينشر عميل آخر رسالة حول موضوع مشترك ، يقوم الوسيط بإعادة توجيه الرسالة إلى أي عميل قام بالاشتراك.
MQTT هو ثنائي الاتجاه ، ويحافظ على الوعي بالجلسة. إذا فقد جهاز حافة الشبكة الاتصال ، فسيتم إخطار جميع العملاء المشتركين بميزة "الوصية الأخيرة والوصاية" لخادم MQTT بحيث يمكن لأي عميل مرخص في النظام نشر قيمة جديدة مرة أخرى إلى حافة- جهاز الشبكة ، والحفاظ على الاتصال ثنائي الاتجاه.
المشروع مقسم إلى 3 أجزاء
أولاً ، نقوم بإنشاء خادم MQTT على RPi ونقوم بتثبيت بعض المكتبات.
ثانيًا ، سنقوم بتثبيت مكتبات في Arduino IDE لـ NodeMCU للعمل مع MQTT ، وتحميل الكود والتحقق مما إذا كان الخادم يعمل أم لا.
أخيرًا ، قمنا بإنشاء برنامج نصي في Rpi ، وقمنا بتحميل الكود المطلوب في NodeMCU وقمنا بتشغيل البرنامج النصي Python للتحكم في المصابيح من جانب الخادم والعميل. هنا ، الخادم هو RPi والعميل هو NodeMCU.
الخطوة 2: Raspberry Pi
1. لتثبيت أحدث خادم وعميل MQTT في RPi ، لاستخدام المستودع الجديد ، يجب أولاً استيراد مفتاح توقيع حزمة المستودع.
wget https://repo.mosquitto.org/debian/mosquitto-repo.gpg.keysudo apt-key add mosquitto-repo.gpg.key
2. اجعل المستودع متاحًا للاستخدام المناسب.
cd /etc/apt/sources.list.d/
3. اعتمادًا على إصدار دبيان الذي تستخدمه.
sudo wget https://repo.mosquitto.org/debian/mosquitto-wheezy.listsudo wget
sudo wget
sudo apt-get update
4. قم بتثبيت خادم Mosquitto باستخدام الأمر.
sudo apt-get install mosquitto. تثبيت البعوض sudo apt-get install
إذا كنت تواجه أخطاء في تثبيت Mosquitto مثل هذا.
#################################################################
تحتوي الحزم التالية على تبعيات غير مستوفاة: mosquitto: Depends: libssl1.0.0 (> = 1.0.1) ولكنها غير قابلة للتثبيت تعتمد: libwebsockets3 (> = 1.2) ولكنها غير قابلة للتثبيت E: غير قادر على تصحيح المشكلات ، لقد تم تعطيله الحزم.
#################################################################
ثم استخدم هذا الأمر لإصلاح المشكلات.
sudo apt - تثبيت معطل للإصلاح
5. بعد تثبيت خادم MQTT ، قم بتثبيت العميل باستخدام الأمر
sudo apt-get install mosquitto-clients. تثبيت عملاء البعوض sudo apt-get install
يمكنك التحقق من الخدمات باستخدام الأمر.
systemctl status mosquitto.service
كما تم تثبيت الخادم والعميل MQTT لدينا. الآن ، يمكننا التحقق من ذلك باستخدام الاشتراك والنشر. للاشتراك والنشر ، يمكنك التحقق من الأوامر أو زيارة موقع الويب كما هو موضح أدناه.
Mosquitto Sub
حانة Mosquitto
لتثبيت مكتبة paho-mqtt ، استخدم الأمر أدناه.
تثبيت sudo pip paho-mqtt
باهو
الخطوة 3: كيفية إعداد عنوان IP الثابت
انتقل إلى الدليل cd / etc وافتح الملف dhcpcd.conf باستخدام أي محرر. في النهاية ، اكتب هذه الأسطر الأربعة.
الواجهة eth0 static ip_address = 192.168.1.100 // ip الذي تريد استخدامه
واجهة wlan0
عنوان ip_address ثابت = 192.168.1.68
الموجهات الثابتة = 192.168.1.1 // البوابة الافتراضية الخاصة بك
ثابت domain_name_servers = 192.168.1.1
بعد ذلك احفظه وأعد تشغيل جهاز pi.
الخطوة 4: NodeMCU
قم بتثبيت المكتبات المطلوبة في Arduino IDE لـ NodeMCU
1. انتقل إلى Sketch ==> Include library ==> إدارة المكتبات.
2. ابحث عن mqtt وقم بتثبيت المكتبة بواسطة Adafruit أو يمكنك تثبيت أي مكتبة.
3. إنها تعتمد على مكتبة sleepydog لذلك نحن بحاجة إلى هذه المكتبة أيضًا.
البرنامج مذكور أعلاه ، فقط للتحقق مما إذا كان يعمل أم لا. هنا لم أقوم بإنشاء أي برنامج نصي في RPi. نحن فقط نستخدم الأوامر للاشتراك والنشر. سنقوم بإنشاء برنامج نصي للتحكم في وقت لاحق.
mosquitto_pub -h raspberrypi -t "/ المصابيح / pi" -m "ON"
mosquitto_pub -h raspberrypi -t "/ المصابيح / pi" -m "OFF"
mosquitto_pub -h raspberrypi -t "/ المصابيح / pi" -m "TOGGLE"
mosquitto_pub -h raspberrypi -t "/ المصابيح / esp8266" -m "ON"
mosquitto_pub -h raspberrypi -t "/ المصابيح / esp8266" -m "OFF"
mosquitto_pub -h raspberrypi -t "/ المصابيح / esp8266" -m "TOGGLE"
-h ==> اسم المضيف- t ==> الموضوع
-m ==> الرسالة
بعد التحقق من برنامج Mqtt_check قم بتحميل البرنامج الكامل في NodeMCU
الخطوة 5: نص بايثون
كما ناقشت أعلاه ، نحتاج إلى برنامج نصي بيثون للتحكم في المصابيح باستخدام الأزرار ، لذلك سنقوم بإنشاء برنامج نصي. النص الوارد أعلاه.
عند تشغيل البرنامج النصي ، يجب أن يبدو البرنامج النصي كما هو موضح في الصورة ، إذا لم يكن رمز النتيجة صفريًا ، فهذا خطأ يمكنك التحقق من الخطأ على موقع paho.
الخطوة 6: التوصيلات ومخطط الدائرة
واجهة زر ، LED مع NodeMCU
NodeMCU ===> ButtonGnd ===> Gnd
3.3 فولت ===> PIN1
GPIO4 (D2) ===> PIN2
NodeMCU ===> LED
Gnd ===> كاثود (-ve)
GPIO5 (D1) ===> الأنود (+ خمسة)
واجهة زر ، LED مع RPi
RPi ===> ButtonGnd ===> PIN1
GPIO 23 ===> PIN2
RPi ===> LED
Gnd ==> كاثود (-ve)
GPIO 24 ===> الأنود (+ خمسة)
الخطوة 7: النتيجة
تأكد من تشغيل البرنامج النصي وإلا فلن يتمكن من التحكم في الإضاءة باستخدام الأزرار.
موصى به:
غرفة التحدث الحر: 8 خطوات
غرفة بدون استخدام اليدين: مرحبًا ، اسمي أفروه وأنا أدخل الصف السادس. لقد جعلت هذه التعليمات لتكون طريقة رائعة للدخول إلى الغرفة والخروج منها. ومع ذلك ، لم يكن لدي الموارد اللازمة للبرمجة ، وشعرت بما إذا كان هناك شخص ما سيأتي. لذلك جعلت الغرفة من البداية
التحدث عن زجاج ذكي للمكفوفين: 7 خطوات
Talking Smart Glass for the Blind: هناك العديد من الملحقات الذكية مثل النظارات الذكية والساعات الذكية وما إلى ذلك متوفرة في السوق. لكن كل منهم صُنع من أجلنا. هناك نقص كبير في التكنولوجيا لمساعدة المعاقين جسديًا ، كنت أرغب في بناء شيء
قم بعمل نظام تحذير التحدث / الإخطار الصوتي: 4 خطوات
اصنع نظام تحذير التحدث / الإخطار الصوتي: لقد أنشأنا هذا المشروع نظامًا للتحدث / الإخطار الصوتي والتحذير. يمكن استخدام جهازي استشعار على الأقل في هذا المشروع
مسافة التحدث مع Arduino Uno ومستشعر الموجات فوق الصوتية HC-SR04 ووحدة الصوت WTV020SD: 4 خطوات
مسافة التحدث مع Arduino Uno ، ومستشعر الموجات فوق الصوتية HC-SR04 ووحدة الصوت WTV020SD: مرحبًا بك في Instructable # 31 ، المعروف أيضًا باسم أحد أكثر مشاريع Arduino شهرة. إذا أعجبك هذا المشروع ، فيرجى أن تصبح أحد متابعيني على Instructables والاشتراك في قناتي على Youtube … www.youtube.com/rcloversanAnyway ، لهذا المشروع أنت
من مصباح يدوي إلى مستشعر الحركة باستخدام ESP8266 و MQTT: 5 خطوات (بالصور)
من المصباح اليدوي إلى مستشعر الحركة باستخدام ESP8266 و MQTT: في هذا المنشور ، سأقدم العناصر أدناه: تحتاج مصابيح LED إلى تيار محدد كيفية صنع مصباح يدوي ، وإضاءة تعمل بالبطارية المحمولة ، وتعتيم مصابيح LED بواسطة ESP8266 عبر MQTT الفيديو هو خلاصة وشرح موجز لكيفية