جدول المحتويات:

كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff: 4 خطوات
كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff: 4 خطوات

فيديو: كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff: 4 خطوات

فيديو: كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff: 4 خطوات
فيديو: ESP8266 (NodeMcu) Raspberry Pi MQTT | ESP8266 Publish/Subscribe 2024, شهر نوفمبر
Anonim
كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff
كيفية استخدام MQTT مع Raspberry Pi و ESP8266 / sonoff

اهلا جميعا!

سأوضح لك اليوم كيفية تكوين مفتاح تتابع واي فاي raspberry pi و ESP8266 للتحكم في أجهزتك المنزلية من أي مكان في العالم.

بنهاية هذه التعليمات ، إذا اتبعت تعليماتي بعناية ، فستتمكن من التحكم في أي من أجهزتك المنزلية من محطة Raspberry Pi أو باستخدام python shell.

لذا استعد لإنشاء وحدة تحكم Sonoff Wifi Device القائمة على MQTT و Rpi!

قبل البدء في هذا الدليل ، أود أن أذكر بعض الأشياء المهمة للغاية ،

  1. يأتي مفتاح الترحيل Sonoff wifi مع البرامج الثابتة للتحكم الخاصة به. بمجرد إعادة برمجته ، يتم مسح البرامج الثابتة الأصلية بشكل دائم. لذا تأكد من ذلك.
  2. يتم تشغيل مفتاح الترحيل sonoff wifi مباشرة من خلال جهد تيار متردد 230 فولت ، لذلك إذا لم تكن خبيرًا في التعامل مع مثل هذه الفولتية العالية ، فاستعن بوالديك أو شخص خبير.
  3. يعتمد مفتاح الترحيل sonoff wifi ببساطة على مجموعة شرائح wifi esp8266-01 وهي شريحة 3.3 فولت ، إذا قمت بتطبيق 5 فولت بطريق الخطأ على دبوس + V الخاص به ، فستتلفه بالتأكيد.
  4. هنا من أجل هذا التوجيه ، لقد اعتبرت أن لديك raspberry pi الخاص بك كل الإعداد و wifi ممكّن بعنوان IP لتشغيل أوامر mosquitto و MQTT في Terminal

** إذا كنت جاهزًا بكل الخطوات الأربع المذكورة أعلاه ، فأنت على ما يرام !!

الخطوة 1: مقدمة + المستلزمات

مقدمة + المستلزمات
مقدمة + المستلزمات
مقدمة + المستلزمات
مقدمة + المستلزمات

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

ملاحظة: هذا مشروع IOT ومن ثم يمكنك التحكم في جهاز التيار المتردد الخاص بك من أي مكان في العالم

MQTT (Massage Que Telemetry Transport) هو بروتوكول بسيط لنقل الحمولة يستخدم في حقيقة من مشروعات الويب. يستخدم Facebook messenger أيضًا بروتوكول MQTT. يكفي من المقدمة لنبدأ مع المشروع.

ماذا نحتاج لهذا المشروع؟

1) اتصال واي فاي نشط (يفضل جهاز التوجيه)

2) طراز Raspberry Pi3 الذي تم تمكين wifi عليه.

3) مفتاح Sonoff Wifi IOT مع 10A 220V

4) بعض الأسلاك المتصلة

5) كابلات العبور

6) CP2102 USB لتحويل TTL

  • ملاحظة: بالنسبة لهذا المشروع ، يجب أن يكون لديك raspberry pi جميع الإعدادات إما مع اتصال لوحة مفاتيح الشاشة أو في وضع مقطوعة الرأس مع الكمبيوتر المحمول (اتصال VNC)
  • إذا لم يكن لديك raspberry pi تم إعداده بالكامل مع شاشة أو وضع مقطوعة الرأس ، فيجب عليك اتباع البرنامج التعليمي الآخر الخاص بي حول كيفية توصيل raspberry pi في وضع مقطوعة الرأس.

الخطوة 2: إعداد Raspberry Pi

إعداد Raspberry Pi
إعداد Raspberry Pi

في هذه الخطوة ، سنقوم بإعداد raspberry pi للمشروع.

في هذا البرنامج التعليمي ، نستخدم sonoff ESP8266 كعميل و raspberry pi كوسيط للبعوض.

  1. افتح محطة raspberry pi واكتب

    1. sudo apt-get update
    2. sudo apt-get Upgrade بمجرد تحديث raspberry Pi بأحدث البرامج الثابتة ، فأنت على ما يرام مع أي مشروع على pi
  2. الآن اكتب الأوامر التالية لتثبيت Mosquitto

    1. wget
    2. sudo apt-key إضافة mosquitto-repo.gpg.key
    3. cd /etc/apt/sources.list.d/
    4. sudo wget
    5. sudo -i
    6. تحديث apt-get
    7. apt-get install mosquitto. تثبيت البعوض
    8. الحصول على تثبيت عملاء البعوض
  3. بمجرد اتباع جميع التعليمات المذكورة أعلاه بنجاح ، يكون جهازك جاهزًا مع إعداد وسيط البعوض وستكون جاهزًا للخطوة التالية.
  4. مرة أخرى في جهازك ، اكتب الأوامر التالية:
    1. تثبيت sudo pip paho-mqtt
    2. sudo pip3 تثبيت paho-mqtt
  5. الآن للتحقق مما إذا كان عميل mosquitto الخاص بك قد تم تثبيته بنجاح أم لا يفتح python2 أو python3 shell واكتب الأمر التالي

    1. استيراد paho.mqtt.client
    2. هذا لا ينبغي أن يعيد أي شيء. في حالة إرجاع أي سطر أو خطأ ، تحقق من الخطوات المذكورة أعلاه مرة أخرى واتبع الخطوات بعناية مرة أخرى.
  6. الآن أوشك جزء Raspberry Pi على الانتهاء وأنت على ما يرام الآن للحصول على جزء Sonoff و Arduino

الخطوة 3: إعداد جهاز Sonoff Esp8266 لـ MQTT

إعداد جهاز Sonoff Esp8266 لـ MQTT
إعداد جهاز Sonoff Esp8266 لـ MQTT
إعداد جهاز Sonoff Esp8266 لـ MQTT
إعداد جهاز Sonoff Esp8266 لـ MQTT
إعداد جهاز Sonoff Esp8266 لـ MQTT
إعداد جهاز Sonoff Esp8266 لـ MQTT

الآن في هذه الخطوة ، سنقوم بإعداد جهاز العميل الخاص بنا وهو Sonoff.

sonoff هو جهاز أتمتة منزلية لشبكة wifi والذي يأتي مع برامج ثابتة مثبتة مسبقًا لأتمتة المنازل القائمة على wifi وتطبيق android / ios للتحكم في الأجهزة عبر wifi.

الآن هنا اختراق بسيط لإعادة برمجته بالطريقة التي نريدها. بمجرد إعادة البرمجة باستخدام Arduino IDE ، ستفقد البرامج الثابتة الأصلية المثبتة مسبقًا على sonoff.

  1. أولاً ، افتح جهاز Sonoff الخاص بك بعناية وابحث عن المسامير الموضحة في الصورة خطر: يعمل جهاز sonoff على تيار متردد مباشر 220 فولت ، يجب توصيله أولاً قبل الفتح أو البرمجة.
  2. انظر الآن إلى الصورة أدناه لمعرفة pinout الخاص بها ، يوجد على الجانب السفلي من PCB شريحة esp8266 تجدها مشابهة لوحدة esp8266-01 الخاصة بك.
  3. افتح الآن Arduino IDE وأضف مكتبات Zip الضرورية. مكتبة PUBSUB_client
  4. أيضًا ، يجب أن يكون لديك لوحة esp8266 مضافة إلى بيئة Arduino الخاصة بك. إذا لم تكن مضافة بالفعل ، اتبع الخطوات

    1. افتح Arduino IDE الخاص بك وانقر فوق "ملف -> تفضيلات".
    2. "https://arduino.esp8266.com/stable/package_esp8266com_index.json"
    3. في "عناوين URL لمدير اللوحات الإعلانية" أضف هذا الرابط أعلاه وانقر على "موافق"
    4. انتقل إلى "Tools -> Board -> Boards Manager" ، واكتب "ESP8266" وقم بتثبيته.
    5. انتقل مرة أخرى إلى "Tools -> Board" وحدد "Generic ESP8266 Module".
    6. لقد نجحت الآن في إضافة اللوحة إلى Arduino IDE الخاص بك.
  5. الآن عليك لحام موصل أنثى واحد بجهاز Sonoff كما هو موضح في الصورة.
  6. الآن اصطحب USB إلى لوحة TTL CP2102 أو FTDI وقم بإجراء الاتصال التالي وفقًا للصورة الموضحة أعلاه.

    1. RX من FTDI إلى TX من Sonoff
    2. TX من FTDI إلى RX من Sonoff
    3. GND من FTDI إلى GND من Sonoff
    4. 3.3V من FTDI إلى 3.3V من Sonoff
  7. ملاحظة: تأكد من أنك لا تزود لوحة سونوف بجهد 5 فولت. إنه متوافق مع 3.3 فولت إذا قمت بتوصيل 5 فولت بمسمار الطاقة الخاص به ، يمكنك حرق جهاز سونوف الخاص بك. ومن ثم استخدام أفضل 3.3v العرض للوحة FTDI فقط.
  8. الآن قم بإجراء الاتصال كما هو موضح في الصورة.
  9. تم الانتهاء من الخطوات المذكورة أعلاه. قم بتوصيل FTDI / USB بلوحة TTL بجهاز كمبيوتر محمول / كمبيوتر شخصي وافتح Arduino IDE.
  10. انسخ الكود.

11. الآن حدد منفذ COM المناسب من قائمة الأدوات وحدد الجهاز كجهاز ESP8266 عام. الآن اضغط على زر التحميل. سيستغرق تحميل الكود إلى شريحة esp8266 لجهاز Sonoff حوالي دقيقة أو أقل.

12. الآن أنت جاهز تمامًا مع برمجة sonoff و Arduino. والآن يجب أن ترى المؤشر على لوحة سونوف يومض // كما كتبنا 5 مرات يومض في البداية.

13. أنت جيد للانتقال إلى الخطوة التالية.

الخطوة 4: التحكم في Sonoff الخاص بك من الويب

تحكم في Sonoff الخاص بك من الويب
تحكم في Sonoff الخاص بك من الويب

الآن ، هذه هي الخطوة الأخيرة لمشروعنا.

  1. افتح الآن اتصال سطح المكتب البعيد لـ VNC الخاص بـ raspberry pi عن طريق إدخال عنوان IP الخاص بـ Pi
  2. افتح الآن الجهاز وابدأ في كتابة الأوامر التالية
  3. هنا الصمام هو الموضوع و "0" هو الحمولة
  4. قم بتغيير عنوان IP في الأمر باستخدام عنوان Rpi IP الخاص بك
  5. وبدلاً من "0" ، اكتب "1" والذي سيؤدي إلى تشغيل الترحيل على مفتاح Sonoff wifi.

mosquitto_pub -h 192.168.0.104 -t led -m "0"

سوف تقوم التعليمات المذكورة أعلاه بإيقاف تشغيل جهاز الترحيل الخاص بك.

mosquitto_pub -h 192.168.0.104 -t led -m "1"

سيتم تشغيل هذه التعليمات على الترحيل الخاص بك.

لقد انتهيت الآن من التحكم في ابنك من محطة Rpi.

يمكنك التحقق من خلال توصيل مفتاح Sonoff wifi بشبكة wifi مختلفة وتوصيل raspberry pi باتصال wifi مختلف. يجب أن تكون قادرًا على التحكم في التتابع من أي مكان في العالم.

الآن تريد أيضًا اختبار تشغيل / إيقاف تشغيل ابنك تلقائيًا لقد كتبت نصًا صغيرًا من لغة بيثون

الذي يرسل "1" أولاً وبعد 6 ثوانٍ يرسل "0" وتتكرر هذه العملية في حلقة.

استيراد paho.mqtt.publish كوقت نشر للاستيراد

احيانا صحيح:

طباعة ("إرسال 1 …") publish.single ("ledStatus"، "1"، hostname = "عنوان IP الخاص بالوسيط الخاص بك) time.sleep (6) print (" Sending 0… ") publish.single (" ledStatus "، "0" ، اسم المضيف = "عنوان IP للوسيط الخاص بك") time.sleep (3)

يقوم الكود أعلاه ببساطة بتشغيل وإيقاف التتابع على مفتاح الترحيل Sonoff wifi.

لا تنس استبدال عنوان IP الخاص بـ RaspberryPi في كود python أعلاه. الآن قم بتشغيل هذا البرنامج النصي من خلال النقر على خيار تشغيل الوحدة النمطية وسترى على قذيفة

إرسال "1"..

إرسال "0"..

إرسال "1".. شيء من هذا القبيل.

هذا كل شيء لهذا Instructable. نراكم في المرة القادمة مع واحدة جديدة.

وداعا!!!!

ولا تنس متابعة ومشاركة هذه التعليمات وتجربتها بنفسك!

نرحب بنشر أي شكوك في قسم التعليقات!

موصى به: