جدول المحتويات:
- الخطوة 1: النسخ الاحتياطي عبر WiFi و MQTT
- الخطوة 2: جهاز التحكم عن بعد / المرسل
- الخطوة 3: جهاز الاستقبال - الأجهزة (esp8266 و Raspberry Pi)
- الخطوة 4: جهاز الاستقبال - البرنامج (المسلسل ، العقدة الحمراء ، MQTT)
فيديو: ESP-NOW Home Automation Esp8266 Raspberry Pi MQTT: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
في Instructable ، أريكم كيف استخدمت ESP-NOW في أتمتة منزلي. في التخطيطي يمكنك أن ترى تدفقات الاتصالات
سأريك:
- كيف يعمل المرسل
- كيف يعمل المتلقي
- كيف يعمل الاتصال التسلسلي مع Raspberry Pi
لا أُظهر كيف يعمل MQTT وأتمتة منزلي ، يمكنك العثور على تعليمات أخرى جيدة لذلك.
ائتمانات: هذا Instructable مستوحى من:
الفيديو رقم 172 بواسطة Andreas Spiess
www.esploradores.com/practica-6-conexion-es…
الخطوة 1: النسخ الاحتياطي عبر WiFi و MQTT
اكتشفت أن برنامج ESP-NOW سريع للغاية وموثوق تمامًا ، لكنه يفشل أحيانًا. أضفت في برنامجي نسخة احتياطية عبر اتصال WiFi عادي واتصال MQTT.
الخطوة 2: جهاز التحكم عن بعد / المرسل
في المخطط الأول ترى كيف يعمل برنامج المرسل:
- يبدأ esp8266 من التشغيل أو من إعادة التعيين
- تم تهيئة ESP-NOW
- الوحدة ترسل ESP-NOW لوقت محدد
-
تتحقق الوحدة مما إذا كان المتلقي قد استقبل رسالة ESP-NOW في وظيفة معاودة الاتصال.
- إذا تم استلام رسالة ESP-NOW ، فإن الوحدة تدخل في وضع نوم عميق منخفض الطاقة
- إذا لم يتم استلام رسالة ESP-NOW ، تبدأ الوحدة النمطية في اتصال WiFi واتصال MQTT كاتصال احتياطي.
برنامج المرسل موجود في Github الخاص بي (Master_sender.ino). ترسل البرامج كلاً من الموضوع والرسالة لأتمتة المنزل MQTT في رسالة واحدة مدمجة ESP-NOW ، مدمجة في علامة "&" لتقسيم سهل عند جهاز الاستقبال.
لقد صنعت جهازي تحكم / مرسلين مختلفين:
المرسل 1: إن esp8266 في نوم عميق ويتم تنشيطها عن طريق إعادة الضبط. يضيء مصباح LED في الزر ويخفت عند الانتهاء من الوحدة. إذا كان الجهد الكهربي للبطارية منخفضًا ، يومض المصباح. إذا فشل ESP-NOW ، يومض المؤشر قبل التغيير إلى اتصالات WiFi / MQTT. يتم تشغيل esp8266 من بطارية LiPo مع منظم جهد HT7333 إلى 3.3 فولت
المرسل 2: يتم إيقاف تشغيل esp8266 ويتم تشغيله بالضغط على الزر. عادةً ما يتم توصيل ESP-NOW بعد "نقرات" الزر. يتم تشغيل esp8266 مباشرة من بطارية LiPo. لا أعرف ما إذا كان جهاز esp8266 قد تعرض للتلف بسبب الجهد العالي لبطارية مشحونة بالكامل (حتى 4.2 فولت) عندما يتم تشغيله على بضع 100 مللي ثانية. إنه أعلى من المواصفات (3.0 - 3.6 فولت).
ملاحظة: إذا كانت طاقة البطارية منخفضة ، يفشل ESP-NOW.
الخطوة 3: جهاز الاستقبال - الأجهزة (esp8266 و Raspberry Pi)
ينقسم وصف جهاز الاستقبال إلى جزأين:
- المعدات
- برمجة
الأجهزة
جهاز الاستقبال esp-01 متصل بـ Raspberry Pi Zero الذي يدير نظام التشغيل الآلي للمنزل (Openhab2) و Node Red.
في التخطيطي ، يتم عرض التوصيلات البسيطة:
- RX من esp-01 إلى TX من RasPi
- TX من esp-01 إلى RX الخاص بـ RasPi
- GND إلى GND
- يتم تشغيل esp-01 VCC بواسطة دبوس 3.3 فولت الخاص بـ Raspi
- على esp-01 يتم سحب كل من RST و CH_PD عالياً.
لقد صنعت موصل واجهة لتثبيته بسهولة
في إحدى الصور ، يمكنك رؤية اتصالات الأسلاك الخاصة بي بـ Raspberry Pi 3 (الذي له نفس pinout ، لكنني استخدمت دبوسًا آخر 3.3 فولت للاتصال بـ CH_PD).
تمت برمجة esp-01 كما هو موضح في Instructable الأخرى الخاصة بي (انظر الخطوة 3).
الخطوة 4: جهاز الاستقبال - البرنامج (المسلسل ، العقدة الحمراء ، MQTT)
البرنامج على esp8266
برنامج جهاز الاستقبال esp-01 موجود في Github الخاص بي (Master_sender.ino). البرنامج بسيط حقًا ، فهو يطبع فقط رسالة ESP-NOW المستلمة على المنفذ التسلسلي إلى Raspberry Pi.
منفذ تسلسلي
في Raspberry Pi ، يجب عليك تنشيط المنفذ التسلسلي (على raspbian ، تنفيذ sudo raspi-config) للاتصال التسلسلي العادي.
اسم المنفذ التسلسلي هو:
- Raspberry Pi Zero: / dev / ttyAMA0
- Raspberry Pi 3: / dev / ttyS0
يمكنك التحقق من المنفذ التسلسلي عن طريق تشغيل 'dmesg | grep tty "أو" ls / dev"
العقدة الحمراء
في Node Red ، حدد عقدة الإدخال التسلسلي وقم بإعداد المنفذ التسلسلي (انظر الصور المرفقة). لاحظ معدل البث بالباود الخاص بالاتصال التسلسلي ، يجب أن يتطابق هذا مع معدل البث بالباود كما هو مبرمج في esp8266.
يتم تحويل إخراج العقدة التسلسلية بواسطة عقدة وظيفية تقسم الرسالة عند علامة "&" وتعيين msg.topic و msg.payload. يتم توجيه إخراج الوظيفة إلى عقدة الإخراج mqtt التي ترسل الرسالة إلى خادم MQTT. لاحظ أن حقل الموضوع الخاص بالعقدة mqtt فارغ ، لأنه تم تعيين الموضوع في الرسالة.
موصى به:
Wifi Smart Switch ESP8266 يعمل مع Alexa و Google Home Automation: 7 خطوات
يعمل Wifi Smart Switch ESP8266 مع Alexa و Google Home Automation: في عالم العولمة ، يرغب الجميع في استخدام أحدث التقنيات الذكية. مفتاح WiFi الذكي ، يجعل حياتك أكثر ذكاءً وملاءمة
MQTT / Google Home Flood / Water WIFI Sensor مع ESP-01: 7 خطوات
MQTT / مستشعر Google Home Flood / Water WIFI مع ESP-01: في هذه التعليمات ، سأوضح لك كيفية إنشاء مستشعر الفيضانات / المياه واي فاي بأقل تكلفة. يكلفني المشروع بالكامل أقل من 8 دولارات للأجزاء التي أحصل عليها من ebay وقطع الغيار الحالية الخاصة بي. في هذا المشروع ، سنستخدم ESP-01 لتوفير Wif
الشروع في استخدام Esp 8266 Esp-01 مع Arduino IDE - تثبيت لوحات Esp في Arduino Ide و Programming Esp: 4 خطوات
الشروع في استخدام Esp 8266 Esp-01 مع Arduino IDE | تثبيت لوحات Esp في Arduino Ide و Programming Esp: في هذه التعليمات ، سنتعلم كيفية تثبيت لوحات esp8266 في Arduino IDE وكيفية برمجة esp-01 وتحميل الكود فيها. هذا ومعظم الناس يواجهون مشكلة
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 خطوات
Sonoff B1 Firmware Home Automation Openhab Google Home: أنا حقًا أحب البرنامج الثابت Tasmota لمفاتيح Sonoff الخاصة بي. لكن a لم يكن سعيدًا حقًا ببرنامج Tasmota الثابت على جهاز Sonoff-B1. لم أنجح تمامًا في دمجه في Openhab الخاص بي والتحكم فيه عبر Google Home ، لذلك كتبت شركتي الخاصة
[Home Automation] مرحلات التحكم من كل مكان باستخدام ESP8266 + Blynk: 4 خطوات
[أتمتة المنزل] مرحلات التحكم من كل مكان باستخدام ESP8266 + Blynk: هناك العديد من الطرق لإنشاء أتمتة منزلية ، بعضها معقد ، وبعضها سهل ، وسأوضح هذا التوجيه كيفية إجراء تحكم بسيط في المرحلات باستخدام ESP-12E مع Blynk. للراحة ، كان التصميم ثنائي الفينيل متعدد الكلور من جانب واحد حتى تتمكن من صنعه بنفسك