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

MQTT / Google Home DoorBell باستخدام ESP-01: 6 خطوات
MQTT / Google Home DoorBell باستخدام ESP-01: 6 خطوات

فيديو: MQTT / Google Home DoorBell باستخدام ESP-01: 6 خطوات

فيديو: MQTT / Google Home DoorBell باستخدام ESP-01: 6 خطوات
فيديو: Home Automation using ESP01 ESP8266 Tasmota Alexa control Relay - IoT Project 2023 2024, شهر نوفمبر
Anonim
MQTT / Google Home DoorBell باستخدام ESP-01
MQTT / Google Home DoorBell باستخدام ESP-01

هل فاتك الرد على ضيف قرع جرس الباب لمجرد أنك في جزء من المنزل بعيد جدًا عن سماع جرس الباب؟ مثل الطابق السفلي أو غرفة النوم المغلقة أو ربما كنت تشاهد التلفزيون أو تستمع إلى الموسيقى.

إذا كنت مثلي ، لديك واحد أو أكثر من متحدثي google home في عدة مواقع في جميع أنحاء منزلك ، فقد يكون هذا التوجيه هو ما تحتاجه.

في هذا Instructable ، سأوضح لك كيفية إضافة عميل MQTT إلى جرس الباب الحالي للتواصل مع وسيط MQTT مع إعلان google home / pushbullet ، باستخدام NodeRED. هذا المشروع لا يحل محل مفتاح جرس الباب ولا الرنين. لا يزال يستخدم زر ضغط ميكانيكي منتظم لجرس الباب.

سنضيف وحدة ESP-01 إلى نظام جرس الباب 16VAC الحالي بإضافة وظيفة MQTT لإرسال رسالة إلى وسيط MQTT (عند الضغط على مفتاح جرس الباب). سيقوم وسيط MQTT بترحيل الرسالة إلى NodeRED. عند تلقي رسالة MQTT ، سترسل NodeRED إعلانًا إلى عدة أجهزة منزلية من Google وأيضًا إرسال رسالة اختياريًا إلى الهاتف المحمول / المتصفح عبر pushbullet.

لدي شغف بأتمتة المنزل DIY ، وأضيف ببطء IOT إلى منزلي. كان Google home أحد الوظائف المركزية في أتمتة منزلي.

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

لدينا 4 google home mini في منزلنا موضوعة في أماكن / غرف مختلفة ، وباستخدام googleomes للإعلان عن جرس الباب ، نعرف على الفور في أي مكان بالمنزل إذا قرع أحدهم جرس الباب.

في منزلي ، أستخدم RaspberryPi ZeroW لاستضافة خادم Mosquitto MQTT و NodeRED. لقد كان يعمل منذ أكثر من عام دون أي مشكلة.

مراجع:

  • مخططات الأسلاك الجرس:
  • قم بتثبيت Mosquitto MQTT Broker على Raspberry Pi:
  • قم بتثبيت NodeRED على Raspberry Pi:

الخطوة 1: قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime

قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime
قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime
قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime
قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime
قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime
قم بإنشاء الدائرة لواجهة ESP-01 و Door Chime

ستكون الخطوة الأولى هي إنشاء الدائرة التي ستكون الواجهة بين ESP-01 و Door Chime. يتم تنشيط رنين الباب المعتاد عندما يكون هناك 16 فولت تيار متردد بين دبابيس "TRANS (سابقًا)" و "أمامي / خلفي" كما هو موضح في صورتي الأولى. يظهر الجهد على تلك المسامير عند الضغط على زر جرس الباب.

الدائرة التي صممتها هي لاستشعار إشارة 16VAC هذه وتحويلها إلى حوالي 3.3VDC إشارة رقمية. إنه مقوم نصف موجي أساسي يتكون من D1 و C1. لا نحتاج إلى مقوم الموجة الكاملة في هذه الحالة نظرًا لوجود القليل جدًا من التحميل على خرج التيار المباشر ، مما يوفر لنا القليل من العقارات على السبورة. أريد أن أجعل السبورة أقل ما يمكن حتى أتمكن من وضعها داخل رنيني الحالي.

يشكل R1 و R2 مقسم جهد لخفض جهد ذروة التيار المستمر إلى حوالي 3.3 فولت.

تشكل R3 و TR1 و R4 عاكسًا لتوفير منطق عكسي لـ ESP-01 GPIO-2. يعد هذا ضروريًا لتوفير منطق عالي أثناء التمهيد (مع سحب R4 و R5) لـ ESP-01 للتمهيد من الفلاش. عندما يتم الضغط على زر جرس الباب ، فإنه يقدم المنطق LOW إلى GPIO-2. TR1 يمكن أن يكون أي ترانزستور NPN صغير الطاقة ، في حالتي استخدمت 2N3904.

V1 هو مصدر طاقة 3.3VDC قمت ببنائه باستخدام شاحن هاتف محمول قديم بجهد 5 فولت إلى جانب منظم AMS1117 3.3VDC الذي سأعرضه في الخطوة التالية.

بالنسبة لمقبس ESP-01 ، أستخدم مقبس IC قياسيًا مكونًا من 8 سنون ، وأقطع الجسور البلاستيكية التي تخلق فجوة بين الصفوف ، ثم ألصق الصفين معًا.

الخطوة 2: مصدر طاقة 3.3VDC لـ ESP-01

3.3VDC مزود الطاقة لـ ESP-01
3.3VDC مزود الطاقة لـ ESP-01
3.3VDC مزود الطاقة لـ ESP-01
3.3VDC مزود الطاقة لـ ESP-01
3.3VDC مزود الطاقة لـ ESP-01
3.3VDC مزود الطاقة لـ ESP-01

في هذه الخطوة ، سنقوم ببناء مصدر طاقة 3.3VDC لـ ESP-01. لدي عدد قليل من محول شاحن USB 500mA و 700mA 5VDC القديم الذي أعدته لهذا المشروع. نحتاج أيضًا إلى منظم 3.3VDC لإسقاط جهد 5V إلى 3.3V ، لذلك أنا أستخدم وحدة منظم AMS1117 رخيصة الصنع والتي اشتريتها من ebay. يمكنك البحث عن "3.3V AMS1117 module" والعثور على ما يناسبك.

وحدة المنظم 3.3 فولت صغيرة جدًا بحيث يمكنني بالفعل وضعها داخل حاوية شاحن USB 5V الأصلية مما يجعلها أكثر أمانًا من دائرة قصر محتملة. قمت بإزالة شوكات جدار التيار المتردد من وحدة الشاحن واستبدله بكبلين سيتم توصيلهما بـ 120 فولت تيار متردد من الحائط خلف رنيني الحالي. لكن لا تقم بإزالة الشوكات في هذه الخطوة حتى نجري اختبار التشغيل في الخطوة التالية.

إذا كان هناك مقبس حائط قريب ، أو إذا لم تكن مرتاحًا لتوصيل مصدر الطاقة مباشرة بأسلاك المنزل ، فيمكنك اختياريًا توصيل مصدر الطاقة المعدل بقابس الحائط وتشغيل الكابلات في الرنين ، على الرغم من ذلك قد لا تبدو نظيفة مثل توصيلها مباشرة بأسلاك المنزل.

شاهد إحدى صوري لترى أن خلف جرس جرس الأسلاك 120 فولت تيار متردد ومحول 16 فولت تيار متردد للرنين.

سيتصل الناتج من المنظم 3.3 فولت بلوحة واجهة ESP-01 وفقًا للخطوة السابقة.

الخطوة 3: تفليش ESP-01

في هذه الخطوة ، سنومض ESP-01 برسم اردوينو. إذا لم تقم مطلقًا بوميض وحدة ESP-01 ، فيمكنك اتباع التعليمات الخاصة بي لتبدأ: https://www.instructables.com/id/USB-to-ESP-01-Boa …

يمكنك العثور على الرسم التخطيطي الخاص بي في صفحة جيثب الخاصة بي: https://github.com/andyjawa/DoorBell_to_MQTT_using …

في الرسم التخطيطي ، تحتاج على الأقل إلى تغيير المعلومات التالية المتعلقة بالشبكة / الإعداد المنزلي الخاص بك:

#define MQTT_SERVER "10.0.0.30" const char * ssid1 = "SSID" ؛ const char * password1 = "MYSSIDpassword" ؛ const char * ssid2 = "SSID1" ؛ const char * password2 = "MYSSIDpassword" ؛

في شبكتي المنزلية ، لديّ نقطتا وصول مختلفتان تبثان 2 SSID مختلفين ، وسيتيح هذا الرسم التكرار عن طريق الاتصال بـ SSID التالي في حالة فقد الاتصال بـ AP الحالي. إذا كان لديك SSID واحد فقط ، فقم بتعبئة كل من ssid1 و ssid2 بنفس القيمة.

بمجرد إجراء التعديل ، قم بتحميل المخطط في ESP-01 ، وقم بتوصيل ESP-01 بلوحة الواجهة.

الخطوة 4: اختبار التشغيل

اختبار المدى
اختبار المدى
اختبار المدى
اختبار المدى
اختبار المدى
اختبار المدى

من الخطوة 1 قمنا ببناء لوحة الواجهة ESP-01 ، ومن الخطوة 2 لدينا مصدر طاقة 3.3 فولت للوحة ESP-01. نقوم الآن بتوصيل خرج مصدر الطاقة باللوحة وفقًا لمخطط الدائرة ، كما هو موضح في V1.

الآن الخطوة التالية هي توصيل أطراف التوصيل / الباب التي تتناغم مع توصيلات لوحة الواجهة الموضحة باسم "Door Chime Terminals". نظرًا لأن الرنين الخاص بي مثبت على الحائط ، لإجراء الاختبار التجريبي ، أقوم مؤقتًا بتشغيل زوج طويل من الكابلات من أطراف الرنين إلى اللوحة حتى أتمكن من توصيل مصدر الطاقة.

لاختبار ما إذا كانت وسائل منع الحمل لدينا تعمل ، فإن أسهل طريقة هي مراقبة رسائل MQTT في الشبكة. للقيام بذلك ، تحتاج إلى فتح جلسة SSH لوسيط البعوض وإصدار الأمر التالي:

mosquitto_sub -v -t '#'

سيسمح لنا الأمر أعلاه برؤية جميع رسائل MQTT الواردة إلى الوسيط.

الآن قم بتوصيل مصدر الطاقة بمأخذ الحائط ، وإذا كان كل شيء يعمل ، فيجب أن ترى في بضع ثوان على الأقل رسالة MQTT التالية:

stat / DoorBell / LWT عبر الإنترنت

الآن توجه للخارج ورن جرس الباب ، وسترى هذه الرسالة:

عن بعد / تشغيل جرس الباب

إذا رأيت هذه الرسائل ، فإن مشروعك ناجح.

لقد قمت أيضًا بتضمين العديد من موضوعات MQTT المفيدة في الرسم التخطيطي والتي يمكنك استخدامها:

"stat / DoorBellInfo": يتم إرسال هذه الرسالة كل دقيقة لتوفير الجهوزية وغيرها من المعلومات.

"cmnd / DoorBellInfo": سيرسل ESP-01 معلومات إذا تلقى هذا الموضوع بقيمة '1' (ascii = 49) "cmnd / DoorBellCPUrestart": ستتم إعادة تشغيل ESP-01 إذا تلقى هذا الموضوع بقيمة '1 '(ascii = 49) "cmnd / DoorBellCPUreset": ستتم إعادة تعيين ESP-01 إذا تلقى هذا الموضوع بقيمة' 1 '(ascii = 49)

"tele / FrontDoorBell": سيرسل ESP-01 رسالة في هذا الموضوع بقيمة "تشغيل" إذا تم الضغط على جرس الباب

الخطوة 5: دمج اللوحة ومصدر الطاقة في الرنين

دمج اللوحة ومصدر الطاقة في الرنين
دمج اللوحة ومصدر الطاقة في الرنين
دمج اللوحة ومصدر الطاقة في الرنين
دمج اللوحة ومصدر الطاقة في الرنين
دمج اللوحة ومصدر الطاقة في الرنين
دمج اللوحة ومصدر الطاقة في الرنين

الآن بعد أن نجحنا في إجراء الاختبار التجريبي ، نحتاج إلى تجميع اللوحة ومصدر الطاقة داخل جرس الباب (إن أمكن). في رنيني الحالي ، هناك حاوية فارغة تمكنت من فتحها وتناسب مصدر الطاقة داخل تلك المساحة. لا تتلاءم لوحة ESP-01 مع تلك المساحة الصغيرة ، ولكنها لا تزال مناسبة داخل صندوق الرنين العام. لقد استخدمت للتو شريطًا سميكًا مزدوج الجوانب لتركيب لوحة واجهة ESP-01.

يمكننا الآن إزالة الشوكات المعدنية من شاحن USB الخاص بنا واستبدالها بكابل أكثر سمكًا يمكننا توصيله بأسلاك المنزل. تأكد من إيقاف تشغيل قاطع الدائرة الذي يمد دائرة الرنين بالكهرباء.

إذا لم تكن هناك مساحة كافية لتلائم مشروعنا في جرس الباب الحالي ، فستحتاج إلى وضعه في صندوق منفصل وتركيبه بالقرب من جرس الباب.

الخطوة 6: اللمسة النهائية

اللمسة الأخيرة
اللمسة الأخيرة

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

في مشروعي ، أستخدم Node-RED للاستماع / الاشتراك في موضوع جرس الباب MQTT هذا والإعلان للعديد من مكبرات الصوت في google home. بالإضافة إلى ذلك ، قمت أيضًا بربط التدفق بعقدة دفع رصاصة لإرسال إشعار إلى هاتفي الذي يعمل بنظام Android حتى أعرف ما إذا كان أي شخص يقرع جرس الباب حتى لو لم أكن في المنزل. لا يكون إشعار Pushbullet مفيدًا للبعض ، ولكنه كان مفيدًا جدًا بالنسبة لي عدة مرات ، إلى جانب كاميرا الفيديو في الشرفة الأمامية ، يمكنني معرفة من جاء لإسقاط الشحنات (عادةً ما يرن جرس الباب). لا يمكنني الاعتماد كثيرًا على ميزة اكتشاف الحركة في الكاميرا بسبب التداخلات المختلفة ، لا سيما تحريك ظلال الأشجار.

توضح الصورة في هذه الخطوة تدفق Node-RED لإنجاز ذلك. يمكنك أيضًا لصق التدفق من صفحة github الخاصة بي في Node-RED:

إعلان Google home هو مجرد مثال واحد لهذا المشروع ، لكنني أعتقد أنه الأكثر فائدة وعملية. يمكنك دائمًا التواصل مع مستمع MQTT آخر ، أو حتى استخدام IFTTT لقيادة الأجهزة الأخرى عند دفع جرس الباب.

استمتع…

موصى به: