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

جهاز استشعار الحركة ESP-01 مع النوم العميق: 5 خطوات
جهاز استشعار الحركة ESP-01 مع النوم العميق: 5 خطوات

فيديو: جهاز استشعار الحركة ESP-01 مع النوم العميق: 5 خطوات

فيديو: جهاز استشعار الحركة ESP-01 مع النوم العميق: 5 خطوات
فيديو: ESP32-CAM PIR Motion Detector with Photo Capture | ESP32 CAM project 2024, ديسمبر
Anonim
Image
Image

لقد كنت أعمل على صنع مستشعرات حركة محلية الصنع ترسل رسالة بريد إلكتروني عند تشغيلها. هناك العديد من الأمثلة على التعليمات وأمثلة أخرى للقيام بذلك. لقد احتجت مؤخرًا إلى القيام بذلك باستخدام مستشعر حركة PIR يعمل بالبطارية و ESP-01. ESP-01 وظيفي للغاية ولديه جميع القدرات المطلوبة ، فلماذا لا تستخدم الحد الأدنى والأقل تكلفة الضروريين؟ تمت إضافة وحدة ESP-01 منفصلة وبعيدة إلى المزيج والتي أطلقت صفارة عند تشغيل مستشعر الحركة.

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

واجهت نفس المشكلة في جعل مستشعر PIR يعمل على تشغيل النوم العميق لـ ESP-01. طرق عديدة حتى كان هناك طريق يعمل.

وغني عن القول ، كانت هناك بعض العقبات المثيرة للاهتمام أو ربما أكثر صلة ، وفهم أفضل للإلكترونيات التي كنت أطلبها. تستمر في التعلم حتى يعمل شيء ما ثم لن تضطر إلى التعلم بعد الآن.

ينام ESP-01 بعمق مثل أي وحدة ESP8266 أخرى طالما أنك لا تحتاج إلى نوم مؤقت. إذا كنت تريد تنشيط الوحدة بعد فترة زمنية محددة من الوقت المنقضي ، فإن ESP-01 ليست الوحدة النمطية التي يجب استخدامها. لكن هذا ليس ما أردت. الوقت المنقضي لا معنى له عند استخدام PIR. أردت أن يستيقظ ESP-01 فقط عندما يتم تشغيله بواسطة الحركة التي يستشعرها PIR. إذا لم يتم استشعار الحركة لساعات أو أيام ، فإن ESP-01 يظل نائمًا باستخدام الحد الأدنى من طاقة البطارية.

سترى العديد من الدوائر التي تستخدم GPIO16 متصلة بـ ESP8266 Reset لأن GPIO16 هي إشارة التنبيه. هذا صحيح ، لكنه إشارة الاستيقاظ من النوم الموقوت. يمكننا تجاهل رقم التعريف الشخصي هذا ، وهو أمر جيد لأنه غير متوفر على ESP-01.

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

كما سترى في الرسم البياني أدناه ، تم إيقاظ ESP-01 من النوم العميق في كل مرة يستشعر فيها PIR الحركة.

لكن كانت هناك مشكلة أخرى. لم تتم إعادة تعيين ESP-01 إلا بعد توقف جهاز PIR عن استشعار الحركة وعاد إلى إشارة منخفضة مما أدى إلى إيقاف تشغيل الترانزستور وإعادة دبوس إعادة الضبط إلى HIGH بسبب مقاومة الانسحاب. هذا يعني أنه لن يتم إرسال البريد الإلكتروني ، ولن يتم تنشيط الجرس حتى بعد توقف PIR عن استشعار الحركة. أردت أن يحدث الزناد بمجرد استشعار الحركة.

ما حددته من هذا السلوك هو أن ESP-01 يتم تشغيله بالفعل على الحافة الصاعدة للإشارة. لا يؤدي تثبيت دبوس إعادة الضبط على الأرض في الواقع إلى تشغيل ESP-01 من السكون العميق ، ولكن في اللحظة التي يرتفع فيها الجهد إلى إشارة عالية ، تحدث إعادة الضبط.

كان ردي البسيط للغاية على هذا السلوك هو إضافة مكثف إلى الخط الفاصل بين خرج PIR وقاعدة الترانزستور. تسبب هذا في تشغيل الترانزستور فقط أثناء شحن المكثف. بمجرد الشحن ، لم يكن هناك مزيد من التيار وتم إيقاف تشغيل الترانزستور. يسمح المقاوم 5k للتيار بالتصريف إلى الأرض. لقد اختبرت هذا باستخدام مصباح LED بدلاً من ESP-01 ويمكن أن أرى فلاش LED قيد التشغيل لجزء من الثانية قبل إيقاف التشغيل. كان هذا النبض الصغير كافياً لسحب دبوس إعادة التعيين إلى الأرض للحظات ولطالما يكفي لإخراج إعادة الضبط من النوم العميق.

الخطوة 1: وحدة النوم العميق ESP-01

وحدة النوم العميق ESP-01
وحدة النوم العميق ESP-01
وحدة النوم العميق ESP-01
وحدة النوم العميق ESP-01

تستخدم وحدة النوم العميق جهدي عمل. 5 فولت + العشوائي لحزمة البطارية لـ PIR وأيضًا لوحة منظم 3.3 فولت لـ ESP-01. أقوم أيضًا بدمج الصمام الثنائي في الدائرة لمنع الأجزاء التالفة من الفولتية العكسية. يستخدم هذا القليل من الطاقة الإضافية ويؤدي إلى انخفاض جهد حزمة البطارية بمقدار 0.7 فولت. يمكن ترك الصمام الثنائي خارج الدائرة إذا كنت متأكدًا من أنك لن تعكس أبدًا خيوط حزمة البطارية. يتم أيضًا إضافة مفتاح بدافع الراحة.

هذه الوحدة هي تحديث بسيط لتخطيط نومي الأصلي غير العميق. في التكوين غير العميق للنوم ، يتم توصيل PIR مباشرة بدبوس RX الخاص بـ ESP-01. أنا أستخدم دبوس RX الخاص بـ ESP-01 باعتباره دبوس الإدخال لـ PIR لعدة أسباب. لم يعمل GPIO0 لأنه عند التمهيد ، سيكون رقم التعريف الشخصي لإخراج PIR منخفضًا مما يتسبب في دخول ESP-01 إلى وضع الفلاش. لم أستخدم GPIO2 لأنني لم أتمكن بعد ذلك من استخدام مصباح LED المدمج للتغذية المرئية للخلف. غالبًا ما يتم وصف دبابيس RX و TX على أنها دبابيس IO إضافية ولكن تجربتي هي أن RX عبارة عن دبوس INPUT إضافي وأن TX عبارة عن دبوس إخراج إضافي.

في تكوين السكون العميق ، لا يعد اتصال RX ضروريًا تمامًا. أنا أستخدمه فقط لمراقبة المدة التي يتم فيها تشغيل PIR عن طريق تشغيل مؤشر LED بينما يكون الإدخال مرتفعًا. كما ذكرنا من قبل ، إذا قمت بمسح وظيفة الحلقة واستخدمت فقط روتين الإعداد ، فإن اتصال RX غير ضروري.

فيما يلي قائمة الأجزاء الخاصة بوحدة النوم العميق ESP-01:

1-5 × 7 سم لوحة النموذج الأولي ثنائي الفينيل متعدد الكلور

1 - 2 دبوس موصل

2-1 × 3 رؤوس للسيدات

1 - AMS1117 - 3.3 لوحة دائرة منظم الجهد

1 - 1 × 3 زاوية قائمة رأس دبوس الذكور

1 - 1 × 3 سن رأس مقبس أنثى

1 - 1 × 4 سن رأس مقبس أنثى

1 - 2 × 4 رأس أنثى

1 - 1 فائق التوهج مكثف

1 - مستشعر حركة HC-SR501 PIR

1 - 2N2222 الترانزستور

1-10 كيلو المقاوم

1 - 4.7 كيلو المقاوم

1 - 1 كيلو المقاوم

1 - 1N4148 ديود

1 - مفتاح SS12D00G4 SPDT

1 - ESP-01

1 - حزمة بطارية 4AA

يرجى ملاحظة أنه في الفيديو ، تستخدم لوحة الدائرة محول ESP-01 بدلاً من الرأس 2 × 4. في حين أن هذا المحول أسهل في اللحام ، فإن رأس 2 × 4 يعمل بشكل جيد ويتناسب بالفعل بشكل أفضل.

الخطوة 2: كود النوم العميق ESP-01

يؤدي رمز "النوم العميق" وظيفتين. أرسل رسالة بريد إلكتروني (عبر gmail كإعداد افتراضي) وأرسل طلب ويب http إلى وحدة الجرس ESP-01 المرتبطة لتشغيل الجرس.

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

ستحتاج إلى تحديث ستة سطور من التعليمات البرمجية بقيمك المحددة لجعل الرسم يعمل:

const char * ssid = "xxxxx" ؛ // WiFi SSIDconst char * password = "xxxxx" ؛ // سلسلة كلمات مرور WiFi الخاصة بك Senders_Login = "xxxxx" ؛ // تسجيل دخول موفر البريد الإلكتروني الخاص بك String Senders_Password = "xxxxx" ؛ // كلمة مرور مزود البريد الإلكتروني الخاص بك

إلى = "xxxxxx" ؛ من = "xxxxxx" ؛ // يفضل Gmail عمومًا أن يكون هذا هو نفس Senders_Login وقد يحل محله

لقد وجدت أن وحدة النوم العميق تعمل بشكل غير متوقع عندما تم ضبط مستشعر PIR على أقل من 10 ثوانٍ لطول حدث الزناد. لدي ضبط لي على 20 ثانية. لقد ثبت أن هذا موثوق للغاية ولكنه يعني أيضًا أن إطلاق الأحداث يمكن أن يحدث بهذا التردد.

لقد أضفت أيضًا رمزًا إلى وظيفة الحلقة للحفاظ على ESP-01 قيد التشغيل طالما أن PIR لا يزال يستشعر الحركة. يمكن إزالة كل الكود الموجود في وظيفة الحلقة ونقل المكالمة للنوم العميق إلى نهاية وظيفة الإعداد.

أستخدم وظيفة الوميض لمؤشر مرئي للنشاط مع وحدة ESP-01.

بينما استخدمت الاتصال مع gmail واختبرته ، يعمل موفرو البريد الإلكتروني الآخرون أيضًا. لقد جربت زوجين. في الواقع ، لقد وجدت gmail أكثر إزعاجًا. يتطلب Gmail أن يكون لديك حسابك مهيأ للوصول بواسطة تطبيقات أقل أمانًا. يتم إيقاف إعداد الحساب هذا افتراضيًا ، لذا تأكد من العثور عليه وقم بتغييره إلى أقل أمانًا. لن يعمل Gmail بطريقة أخرى.

إذا اخترت أن يكون لديك أكثر من وحدة صفارة واحدة ، فما عليك سوى إضافة مكالمات إضافية من عميل http (كرر الأسطر الثلاثة من الكود ولكن قم بتغيير عنوان IP المستخدم وأيضًا تحديد متغير httpCode على أنه int مرة واحدة!

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

الخطوة 3: وحدة الجرس ESP-01

وحدة الجرس ESP-01
وحدة الجرس ESP-01
وحدة الجرس ESP-01
وحدة الجرس ESP-01
وحدة الجرس ESP-01
وحدة الجرس ESP-01

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

يمكن وضع وحدات الجرس بشكل ملائم في مواقع متعددة مما يوفر إشعارًا بحدث تشغيل مستشعر الحركة بغض النظر عن مكان وجودك!

يتم توصيل الجرس بمنفذ 5 فولت من موصل USB وهناك لوحة تنظيم أخرى 3.3 فولت توفر الطاقة لـ ESP-01.

ستعمل وحدة الجرس باستخدام TX أو GPIO0 أو GPIO2 للإخراج. في تهيئتي ، أستخدم GPIO0. (في صورة الوحدة ، يتم توصيل السلك بـ GPIO2 لكنني قمت بنقله منذ ذلك الحين.) بينما لم يعمل GPIO0 مع وحدة النوم العميق (مثل INPUT) ، فإنه يعمل بشكل جيد مع هذا التخطيط باعتباره الإخراج. لا يتم سحبها إلى الأرض عند التمهيد مما سيؤدي إلى حدوث مشكلات. لقد استخدمت GPIO2 ولكن بعد ذلك لم أتمكن من استخدام مؤشر LED الموجود على اللوحة للحصول على أي ملاحظات ولكن باستخدام GPIO0 لـ OUTPUT يمكنني استخدام مؤشر LED الموجود على اللوحة.

حاولت استخدام ترانزستور NPN لتشغيل الجرس في الدائرة عندما وضع ESP-01 إشارة عالية على دبوس GPIO0 لكن النتائج كانت غير متسقة بشكل رهيب. يبدو أن الجرس يريد أن يصدر صوتًا في جميع الأوقات ، حتى مع القليل من القوة. لذا بدلاً من ذلك ، استخدمت قناة N MOSFET (2n7000) وكانت النتيجة رائعة. يقود دبوس الإدخال والإخراج البوابة كما هو مطلوب.

بينما نحتاج فقط إلى دبابيس من موصل USB Vcc (+) و Gnd (-) أستخدم رأس 5 سنون للاتصال بلوحة PCB لمزيد من الثبات ولحام قبل توصيل USB بالمنظم. جاءت لوحة المنظم 3.3 فولت الخاصة بي مع دبابيس مثبتة مسبقًا وفي ذهني رأسًا على عقب. لذلك لوضع المنظم في دبابيس الرأس ، يمكنك أن ترى أن لوحة الدائرة مخفية ، ولكن الأسوأ من ذلك ، يتم عكس vcc و gnd على المنظم من vcc و gnd على موصل USB. لذلك تتقاطع الأسلاك.

لاحظ أيضًا أن + طاقة الجرس النشط تأتي من 5 فولت من USB. أيضًا ، يعمل رأس المقبس الأنثوي ذو 4 سنون بشكل جيد مع وضع دبوس الجرس.

قائمة أجزاء وحدة الجرس ESP-01:

1-5 × 7 لوحة دارات مطبوعة

1 - موصل USB صغير مع موصلات دبوس (7 دبابيس)

2-1 × 3 رؤوس للسيدات

1 - AMS1117-3.3 فولت لوحة منظم الجهد

1 - 2 × 4 رأس أنثى

2 - 1 × 4 رؤوس مقابس أنثى

1 - 2N7000 N-channel MOSFET

1-10 أوم المقاوم

1-5 فولت الجرس النشط

الخطوة 4: كود وحدة الجرس ESP-01

تعمل وحدة الجرس كخادم ويب بسيط ESP-01. يستجيب برسالة بسيطة لطلب الجذر وعندما يحصل على طلب الطنانة ، فإنه سيطلق الجرس. يتم استخدام GPIO0 لدبوس GPIO لإشارة الجرس.

لاحظ أنه تم تكوين ESP-01 بعنوان IP مشفر بشكل ثابت. هذا مطلوب حتى تقترن وحدة النوم العميق بعنوان الجرس.

مثل الوحدة السابقة ، سيتعين عليك تحديث سطرين من التعليمات البرمجية بقيمك المحددة:

// SSID وكلمة المرور لجهاز توجيه WiFi الخاص بك char * ssid = "xxxxxxx" ؛

const char * password = "xxxxxxxx" ؛

إذا كان لديك العديد من وحدات الجرس التي تم إنشاؤها ، فيجب تحميل كل واحدة بعنوان IP الفريد الخاص بها.

يمكنك أيضًا إضافة طرق رنين مختلفة تنتج ألحانًا مختلفة للجرس. على سبيل المثال ، إذا كان لديك مستشعر PIR في الباب الأمامي والآخر في الباب الخلفي ، فيمكن لكل منهما تقديم طلب ويب لكل وحدة من وحدات الجرس ولكن قد يكون لأحد المستشعرات رسمًا يستدعي الطنانة ويمكن للرسم الآخر استدعاء buzz2 حتى تتمكن من التعرف من الصوت على المستشعر الذي تم تشغيله. وهلم جرا وهلم جرا! وظيفة buzz2 غير موجودة ولكن ما عليك سوى نسخ وظيفة buzz وتغيير قيم التأخير.

بالنسبة لخادم الويب ، سيكون عليك فقط إضافة سطر من التعليمات البرمجية مثل هذا:

server.on ("/ buzz2"، buzz2) ؛

الخطوة 5: الأفكار النهائية

هذا هو أول تدريب لي ، لذا ربما فاتني بعض الأشياء العملية التي كان يجب علي تضمينها. تتضمن لوحة المنظم AMS1117-3.3 التي استخدمتها مصباحًا صغيرًا يضيء عند التشغيل. بالنسبة لوحدة النوم العميق ، لم أكن أرغب في أن يؤدي ذلك إلى استنزاف الطاقة واستنزافها دون داع. لذلك قمت بفك ما يمكنني فعله على جانب واحد من المصباح على السبورة ثم استخدمت سكين فائدة لقطع خط التتبع. كان هذا أسهل مما كنت أعتقد ويمنع إضاءة LED. لم أتمكن من تحديد ماهية سحب القوة عندما يكون ESP-01 في نوم عميق ولكن قد يكون لدي إجابة في غضون أسابيع قليلة. كان أحد زملائي يشغل جهاز الاستشعار (ليس في نوم عميق) ووجد البطاريات مستنزفة (5AA) في غضون أسبوع تقريبًا. أعتقد أن هذا الإعداد يجب أن يمنح شهرًا أو أكثر. سوف نرى.

تبلغ تكلفة وحدة النوم العميق حوالي 8 دولارات كندي (CDN) في أجزاء (البطاريات غير متضمنة!) ووحدة الجرس 5 دولارات.

موصى به: