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

في هذا الدليل ، سننشر وسيط MQTT وأداة Node-RED على Raspberry Pi لتوصيل أجهزة إنترنت الأشياء الذكية التي تدعم تقنية MQTT واستخدامها في التشغيل الآلي للمنزل.

الأشياء التي سوف تحتاجها

لإنشاء ونشر خادم MQTT باستخدام Node-RED ، ستحتاج إلى ما يلي:

  • A Raspberry Pi Zero W أو أفضل منه. نوصي باستخدام Raspberry Pi 3 أو 4 (إن وجد).
  • بطاقة microSD (8 جيجابايت أو أعلى).
  • قارئ بطاقة microSD.
  • كمبيوتر يعمل بنظام Linux أو Mac أو Windows.
  • اتصال الإنترنت (Wi-Fi).

الخطوة 1: تثبيت Raspberry Pi OS Lite (64 بت)

ستحتاج إلى إصدار 64 بت لايت من Raspberry Pi OS. في ال Raspberry Pi Imager أداة على جهاز كمبيوتر آخر ، انقر فوق اختر نظام التشغيل > Raspberry Pi OS (أخرى)

instagram viewer
، ثم حدد Raspberry Pi OS Lite (64 بت). بالإضافة إلى ذلك ، ستحتاج إلى استخدام إعدادات Imager المتقدمة لتمكين SSH (استخدمنا بي و توت العُليق كاسم مستخدم وكلمة مرور لهذا الدليل) وقم بتهيئة اتصال Wi-Fi. لمزيد من التفاصيل ، راجع دليلنا على كيفية تثبيت نظام تشغيل على Raspberry Pi. بعد كتابة نظام التشغيل على البطاقة ، أخرجه وأدخله في Raspberry Pi.

الخطوة 2: الاتصال عبر SSH وتحديث الحزم

يمكنك الاتصال بـ Raspberry Pi عبر SSH باستخدام PuTTY على Windows أو Terminalon macOS و Linux. ومع ذلك ، يجب أن تعرف عنوان IP الخاص بـ Raspberry Pi للاتصال عبر SSH. لمعرفة ذلك ، يمكنك فتح إعدادات DHCP لجهاز التوجيه اللاسلكي أو استخدام Fingapp على هاتفك الذكي.

أدخل عنوان IP في PuTTY وانقر الاتصال. اكتب اسم المستخدم وكلمة المرور لتسجيل الدخول.

على Linux أو macOS Terminal ، اكتب YourPiUsername @ IPAddress ثم اكتب كلمة المرور لتسجيل الدخول. بمجرد الاتصال عبر SSH ، قم بتشغيل الأمر التالي لتحديث قائمة الحزم وترقية الحزم.

sudo apt التحديث && sudo apt الترقية ذ

الخطوة الثالثة: تثبيت MQTT Broker

لتثبيت وتمكين وسيط MQTT (Mosquitto) ، اتبع الخطوات التالية.

  1. قم بتثبيت Mosquitto عن طريق تشغيل الأمر التالي في نافذة Terminal.
    sudo apt تثبيت البعوض- عملاء- y
    سيبدأ هذا في تثبيت Mosquitto (وسيط MQTT) وخدمات العملاء.
  2. بعد التثبيت ، قم بتمكين خدمة Mosquitto وتحقق من إصدار MQTT باستخدام الأوامر التالية.
    سودوsystemctlيُمكَِنالبعوض.الخدمات
    البعوض الخامس
  3. قم بإنشاء حساب مستخدم للسماح بالوصول عن بعد المصادق عليه باستخدام الأمر التالي.
    sudo mosquitto_passwd -c / etc / mosquitto / passwd ravi
    هنا رافي هو اسم المستخدم (يمكنك استخدام ما تريد). أدخل كلمة المرور عندما يُطلب منك ذلك. قم بتدوين اسم المستخدم وكلمة المرور لاستخدامهما لاحقًا.
  4. افتح ال البعوض ملف في محرر nano باستخدام الأمر التالي.
    sudo nano /etc/mosquitto.conf
    الصق الكود التالي في محرر nano.
    per_listener_settings حقيقي
    pid_file /run/mosquitto/mosquitto.pid
    إصرار حقيقي
    استمرار_الموقع /فار/lib/mosquitto/
    ملف log_dest /فار/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous خاطئة
    المستمع 1883
    password_file / etc / mosquitto / passwd
    يضعط CTRL + X تليها ص و يدخل لحفظ التغييرات.
  5. أعد تشغيل الوسيط MQTT عن طريق تشغيل الأمر التالي.
    sudo systemctl إعادة تشغيل البعوض
  6. تحقق من حالة وسيط MQTT لمعرفة ما إذا كان MQTT قيد التشغيل.
    sudo systemctl حالة البعوض
    إذا رأيت الإخراج أعلاه ، فإن MQTT قيد التشغيل.

الخطوة الرابعة: اختبار وسيط MQTT

لاختبار ما إذا كان وسيط MQTT يعمل أم لا ، قم بتثبيت MQTTLens أو تطبيق MQTT مشابه في Chrome أو أي متصفح ويب آخر وقم بتشغيله. أدخل عنوان IP الخاص بـ Raspberry Pi واسم مستخدم / كلمة مرور MQTT. انقر إنشاء اتصال.

أدخل أي موضوع في الإشتراك المجال ونفس الموضوع في ينشر مجال. اكتب "مرحبًا" أو أي شيء في حقل الرسالة وانقر ينشر.

إذا رأيت الرسالة ضمن الاشتراكات ، فإن وسيط MQTT يعمل بشكل جيد.

الخطوة الخامسة: تثبيت Node-RED

باستخدام Node-RED ، يمكنك نشر الرسائل أو إرسال واستقبال الحمولات من وإلى أجهزتك الذكية. يمكن استخدام هذه الحمولة لتشغيل الأجهزة الذكية لتشغيل / إيقاف تشغيل أو استقبال البيانات (مثل درجة الحرارة) من جهاز استشعار. يمكنك استخدام متصفح الويب الخاص بك لإنشاء مثل هذه التدفقات في Node-RED والتحكم في أجهزتك الذكية.

لتثبيت Node-RED ، قم بتنفيذ الأمر التالي في نافذة Terminal.

bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

سيؤدي هذا إلى تنزيل وتثبيت Node-RED على Raspberry Pi الخاص بك. قد يستغرق بعض الوقت حتى يكتمل. بمجرد تثبيت Node-RED ، ستحتاج إلى إنشاء ملف إعدادات Node-RED عن طريق تشغيل الأمر التالي.

بداية مشرف العقدة الحمراء

ثم اتبع هذه الخطوات:

  1. اضغط على يدخل مفتاح.
  2. هل تريد إعداد أمان المستخدم؟ يختار نعم. أدخل اسم مستخدم وكلمة مرور. احتفظ به آمنًا حيث سيتم استخدامه لتسجيل الدخول وإدارة Node-RED عبر واجهة ويب.
  3. يختار الوصول الكامل.
  4. يمكنك إضافة مستخدم آخر أو تحديد رقم المضي قدما.
  5. يختار رقم عندما يُطلب منك تمكين ميزات المشروع.
  6. يضعط يدخل.
  7. اكتب عبارة مرور واحتفظ بها آمنة.
  8. اختر ال السمة الافتراضية > موناكو (افتراضي).
  9. يختار رقم عندما يُطلب منك تحميل العقد الخارجية.

بمجرد الانتهاء من ذلك ، أعد تشغيل Node-RED.

إعادة تشغيل العقدة الحمراء

يمكنك الآن زيارة Your-Raspberry-Pi-IP: 1880 في متصفح الويب لفتح لوحة إدارة Node-RED وتسجيل الدخول إليها.

يمكنك الآن إنشاء تدفقات في Node-RED. فيما يلي مثال على تدفق Node-RED الذي نستخدمه لتشغيل شاشة المصفوفة WS2812B 8x32 التي تعرض معلومات المستشعر المختلفة المثبتة في منزلنا في الوقت الفعلي.

للبدء ، يمكنك أيضًا بناء ساعة ذكية DIY باستخدام مصفوفة نقطية MAX7219، وقم بتوصيله بخادم MQTT الخاص بك لعرض الرسائل النصية أو الرسائل عليه.

تفعيل أتمتة المنزل باستخدام MQTT و Node-RED

يمكنك الآن إنشاء تدفقات للتحكم في أجهزتك المنزلية الذكية التي تدعم تقنية MQTT أو مراقبتها. يمكنك أيضًا إنشاء مفاتيح ذكية DIY Tasmota أو أجهزة استشعار ذكية قائمة على Arduino ، وأجهزة ذكية أخرى مع تحكم MQTT واستخدامها مع خادم MQTT و Node-RED. يمكنك إنشاء تدفقات لأتمتة المنزل بناءً على الأحداث أو الوقت أو الحمولة المستلمة من عميل MQTT بهاتفك الذكي.

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