جدول المحتويات:
2025 مؤلف: John Day | [email protected]. آخر تعديل: 2025-01-13 06:56
في هذا الدليل ، سأوضح لك كيفية إنشاء مستشعر للفيضانات / المياه واي فاي بأقل تكلفة. يكلفني المشروع بأكمله أقل من 8 دولارات للقطع التي أحصل عليها من ebay وقطع الغيار الموجودة لدي.
في هذا المشروع ، سنستخدم ESP-01 لتوفير عميل Wifi و MQTT للكشف عن وجود المياه ، واستخدام مكبر الصوت / الجرس المتصل بشكل اختياري لتوفير إنذار محلي.
تطبيقي المحدد للمشروع هو الكشف عن الفيضانات / المياه داخل بئر المضخة ، في حالة فشل مضخة الحوض. عندما يتم الكشف عن الماء بواسطة سلكين مفتوحين ، فإنه يرسل رسالة إلى وسيط MQTT. يقوم وسيط MQTT بعد ذلك بترحيل الرسالة إلى NodeRED. عند تلقي رسالة MQTT ، سترسل NodeRED إعلانًا إلى أجهزة منزلية متعددة من Google وأيضًا إرسال رسالة اختياريًا إلى الهاتف المحمول / المتصفح عبر pushbullet
الآن بالطبع لن يعمل هذا المشروع إلا إذا كانت الكهرباء المنزلية قيد التشغيل. في التعليمات التالية ، سأقوم بدمج دائرة البطارية الاحتياطية. ولكن إذا قمت بعمل مصدر الطاقة بالطريقة نفسها التي قمت بها ، فيمكنك فقط توصيل بنك طاقة USB للبطارية الاحتياطية. إذا كان لديك بنك طاقة يتيح لك الشحن وتوفير الطاقة في نفس الوقت ، فأنت جاهز تمامًا.
أستخدم RaspberryPi ZeroW لاستضافة خادم Mosquitto MQTT و NodeRED. لقد كان يعمل منذ أكثر من عام دون أي مشكلة.
المراجع: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi … تثبيت NodeRED على Raspberry Pi:
الخطوة 1: الأجزاء التي ستحتاجها
قائمة الاجزاء:
(1) ESP-01
(2) 10 كيلو أوم المقاوم
(1) ترانزستور NPN عام للإشارة الصغيرة (استخدمت 2N3904)
(2) أسلاك طويلة
(1) مصدر طاقة عام 5 فولت (تتطلب هذه الدائرة تيارًا أقل من 300 مللي أمبير)
(1) وحدة منظم 3.3 فولت AMS1117
(1) Micro-USB إلى DIP محول موصل أنثى محول ثنائي الفينيل متعدد الكلور DIY عدة
(1) كابل USB-A إلى MicroUSB.
(1) مقبس IC ذو 8 سنون - يمكن حذفه إذا كنت تريد لحام ESP-01 مباشرة إلى لوحة الدائرة. قم بقص الجسور البلاستيكية التي تخلق الفجوة بين الصفوف ، ثم قم بلصق الصفين معًا ، انظر الصورة.
(1) حاوية صغيرة للمشروع
فيما يلي أجزاء اختيارية إذا كنت بحاجة إلى إنذار محلي باستخدام مكبر الصوت / الجرس
(1) ترانزستور PNP عام ، اختر وفقًا لمتطلبات السماعة / الجرس الحالي / القوة الكهربائية. في حالتي ، أستخدم 2N2907 نظرًا لأن مكبر الصوت الخاص بي لا يتعدى 0.3 وات (8 أوم) ، فإنه سيوفر طاقة كافية لتشغيل السماعة. يمكنك اختيار ترانزستور ومكبر صوت أكبر إذا كنت تريد صوتًا أعلى.
(1) مكبر الصوت ، انظر الملاحظة على PNP Transistor أعلاه
(1) 100-110 أوم المقاوم
الخطوة 2: مخطط الدائرة
ستكون الخطوة الأولى هي إنشاء الدائرة الموضحة في الرسم التخطيطي.
لقد قمت ببناء مصدر طاقة 3.3VDC باستخدام شاحن هاتف محمول قديم بجهد 5 فولت مقترن بمنظم AMS1117 3.3VDC. بالنسبة لمقبس ESP-01 ، أستخدم مقبس IC قياسيًا مكونًا من 8 سنون ، وأقطع الجسور البلاستيكية التي تخلق فجوة بين الصفوف ، ثم ألصق الصفين معًا.
الدائرة التي صممتها هي استشعار وجود الماء بين السلكين. عندما يصل الماء إلى طرف كلا السلكين ، فإنه سيخلق مقاومة تقارب 10 كيلو إلى 20 كيلو أوم. ثم بالتسلسل مع 10K ohm R1 ، فإنه يوفر تيارًا صغيرًا لقاعدة Q1 مما يتسبب في تشبع Q1 ، مما يؤدي إلى تثبيت GPIO-2 على الأرض. R1 ضروري لتوفير الحماية لـ Q1 في حالة حدوث قصور عرضي في أسلاك الاستشعار.
R2 هو مقاوم سحب للسماح لـ ESP-01 بالتمهيد من الفلاش.
الآن بالنسبة لمكبر الصوت / الجرس الاختياري ، إذا كنت تحتاج فقط إلى ESP-01 للتحدث MQTT ولا تريد تنفيذ هذا الإنذار المحلي ، يمكنك إزالة R2 ، Q2 ، مكبر الصوت ، ووضع مقاوم سحب 10K بين GPIO-0 و VCC.
إذا كنت لا تشعر بالحاجة إلى استخدام محول Micro-USB إلى DIP الأنثوي ، فيمكنك لحام الأسلاك بين 5V PS إلى وحدة المنظم 3.3V. أفضل استخدام محول MicroUSB الأنثوي حتى أتمكن من استخدام أي شاحن هاتف محمول عام وكابل MicroUSB.
الخطوة الثالثة: بناء الدائرة
قم بتلحيم جميع المكونات والأجزاء في ثنائي الفينيل متعدد الكلور وفقًا لمخطط الدائرة في الصفحة السابقة ، وقم بقص PCB حسب الحجم.
ضع PCB داخل حاوية تناسب PCB والسماعة الاختيارية. في حالتي ، ستناسب جميع الأجزاء داخل صندوق منفذ صغير للهاتف ، على الرغم من أنني يجب أن أقوم بتسخين الغطاء قليلاً لإنشاء انتفاخ بحيث تتلاءم وحدة ESP-01.
الخطوة 4: تفليش ESP-01
في هذه الخطوة ، سنومض ESP-01 برسم اردوينو. إذا لم تقم مطلقًا بوميض وحدة ESP-01 ، فيمكنك اتباع التعليمات الخاصة بي لتبدأ: https://www.instructables.com/id/USB-to-ESP-01-Boa …
يمكنك العثور على الرسم التخطيطي الخاص بي في صفحة جيثب الخاصة بي:
في الرسم التخطيطي ، تحتاج على الأقل إلى تغيير المعلومات التالية المتعلقة بالشبكة / الإعداد المنزلي الخاص بك:
#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 بلوحة الواجهة.
الخطوة 5: اختبار التشغيل
لاختبار ما إذا كان مشروعنا يعمل ، فإن أسهل طريقة هو مراقبة رسائل MQTT في الشبكة. للقيام بذلك ، تحتاج إلى فتح جلسة SSH لوسيط البعوض وإصدار الأمر التالي:
mosquitto_sub -v -t '#'
سيسمح لنا الأمر أعلاه برؤية جميع رسائل MQTT الواردة إلى الوسيط.
الآن قم بتشغيل دائرتنا ، وإذا كان كل شيء يعمل ، يجب أن ترى في بضع ثوان على الأقل رسالة MQTT التالية:
stat / SumpWaterSensor / LWT عبر الإنترنت
الآن اختبر مستشعر الماء عن طريق غمس سلكي الاستشعار في كوب من الماء ، وسترى هذه الرسالة:
عن بعد / SumpWaterSensor WET
وإذا أخرجت الأسلاك من الماء ، يجب أن ترى هذه الرسالة:
tele / SumpWaterSensor جاف
إذا رأيت هذه الرسائل ، فإن مشروعك ناجح.
لقد قمت أيضًا بتضمين العديد من موضوعات MQTT المفيدة في الرسم التخطيطي والتي يمكنك استخدامها:
"stat / SumpWaterSensorInfo": يتم إرسال هذه الرسالة كل دقيقة لتوفير الجهوزية ومعلومات أخرى.
"cmnd / SumpWaterSensorInfo": سيرسل ESP-01 معلومات إذا تلقى هذا الموضوع بقيمة '1' (ascii = 49)
"cmnd / SumpWaterSensorCPUrestart": ستتم إعادة تشغيل ESP-01 إذا تلقى هذا الموضوع بقيمة '1' (ascii = 49)
"cmnd / SumpWaterSensorBeep": سيصدر ESP-01 صوت السماعة إذا استقبل هذا الموضوع بقيمة '1' (ascii = 49)
"cmnd / SumpWaterSensorBeepFreq": تعيين تردد تنبيه السماعة ، الافتراضي = 900 (هرتز)
"cmnd / SumpWaterSensorDebug": تمكين وتعيين مستوى التصحيح التسلسلي (الافتراضي هو 0 - لا يوجد تصحيح)
الخطوة 6: قم بتركيب المستشعر
في طلبي ، أرغب في مراقبة مستوى المياه داخل بئر المضخة الغاطسة ، وإخطاري إذا وصل الماء فوق مفتاح تعويم مضخة الحوض ، مما يعني أن مضخة الحوض لا تعمل. قمت بتشغيل الأسلاك واستخدمت روابط الأسلاك لتثبيتها على طول أنبوب التصريف.
الخطوة 7: اللمسة النهائية
الآن بعد أن عملنا على المشروع وتمكنا من نشر رسالة MQTT إلى الوسيط ، فإن الخطوة التالية هي التفكير في فكرة ما يجب القيام به مع ذلك.
في مشروعي ، أستخدم Node-RED للاستماع / الاشتراك في موضوع MQTT "tele / SumpWaterSensor" وأعلن للعديد من مكبرات الصوت في google home إذا تم الكشف عن الماء. بالإضافة إلى ذلك ، قمت أيضًا بربط التدفق بعقدة دفع رصاصة لإرسال إشعار إلى هاتفي الذي يعمل بنظام Android.
لقد قمت أيضًا بإنشاء واجهة ويب أمامية لمعرفة حالة المستشعر (قيد التشغيل / غير متصل بالإنترنت ، وقت التشغيل ، إلخ). رأيت أحيانًا أنه يتم قطع اتصاله بالإنترنت عدة مرات على مدار أسبوع واحد ، من الإحصائيات ، في كثير من الأحيان يكون ذلك بسبب انقطاع اتصال ESP-01 بشبكة wifi أو MQTT. ولكن لا داعي للقلق ، فقد تضمن مخططي إجراءً روتينيًا لإعادة تشغيل ESP-01 إذا استمر في الفشل في محاولة الاتصال بـ WIFI و / أو وسيط MQTT.
توضح الصورة في هذه الخطوة تدفق Node-RED لإنجاز ذلك. يمكنك أيضًا لصق التدفق من صفحة github الخاصة بي في Node-RED:
إعلان Google home هو مجرد مثال واحد لهذا المشروع ، لكنني أعتقد أنه الأكثر فائدة وعملية. يمكنك دائمًا التواصل مع مستمع MQTT آخر ، أو حتى استخدام IFTTT لقيادة الأجهزة الأخرى عند اكتشاف المياه.
استمتع…