فهرست مطالب:

MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Step
MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Step

تصویری: MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Step

تصویری: MQTT/Google Home Flood/Water WIFI Sensor with ESP-01: 7 Step
تصویری: IoT Based Water Level Monitoring system using ESP32 Blynk & Ultrasonic Sensor 2024, نوامبر
Anonim
سنسور WIFI MQTT/Google Home Flood/Water با ESP-01
سنسور WIFI MQTT/Google Home Flood/Water با ESP-01

در این مقاله آموزشی ، نحوه ساخت سنسور wifi سیل/آب با حداقل هزینه را به شما نشان خواهم داد. کل پروژه برای قطعاتی که از ebay و قطعات یدکی موجود تهیه می کنم کمتر از 8 دلار برای من هزینه دارد.

در این پروژه ، ما از ESP-01 برای ارائه سرویس گیرنده Wifi و MQTT برای تشخیص وجود آب استفاده می کنیم و به صورت اختیاری از بلندگو/زنگ مستقیم متصل به هم برای ارائه زنگ محلی استفاده می کنیم.

برنامه خاص من برای پروژه این است که در صورت خرابی پمپ مخزن ، سیل/آب داخل پمپ مخزن من را به خوبی تشخیص دهم. وقتی آب توسط 2 سیم باز تشخیص داده شود ، به کارگزار MQTT پیام می دهد. سپس کارگزار MQTT پیام را به NodeRED منتقل می کند. با دریافت پیام MQTT ، NodeRED اعلان را به چندین دستگاه Google 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.3V AMS1117

(1) Micro-USB To DIP Adapter Female Connector PCB Converter DIY Kit

(1) کابل USB-A به MicroUSB.

(1) سوکت IC 8 پین-اگر می خواهید ESP-01 را مستقیماً به برد بچسبانید ، می توانید آن را حذف کنید. پل های پلاستیکی را که فاصله بین ردیف ها ایجاد می کنند برش دهید و سپس 2 ردیف را به هم بچسبانید ، عکس را ببینید.

(1) محوطه کوچک برای پروژه

در صورت نیاز به هشدار محلی با استفاده از بلندگو/زنگ ، قطعات اختیاری در زیر آمده است

(1) ترانزیستور PNP عمومی ، با توجه به بلندگو/صدای زنگ/نیاز وات انتخاب کنید. در مورد من از 2N2907 استفاده می کنم زیرا بلندگوی من فقط 0.3 وات (8 اهم) است ، بنابراین قدرت کافی را برای رانندگی بلندگو فراهم می کند. اگر می خواهید صدای بلندتری داشته باشید می توانید یک ترانزیستور و بلندگوی بزرگتر انتخاب کنید.

(1) بلندگو ، توجه داشته باشید در ترانزیستور PNP در بالا

(1) مقاومت 100 - 110 اهم

مرحله 2: نمودار مدار

مدار
مدار

اولین قدم ایجاد مدار نشان داده شده در نمودار است.

من منبع تغذیه 3.3VDC را با استفاده از یک شارژر تلفن همراه قدیمی 5 ولت همراه با تنظیم کننده AMS1117 3.3VDC ساختم. برای سوکت ESP-01 ، من از یک سوکت IC استاندارد 8 پین استفاده می کنم و پل های پلاستیکی را که فاصله بین ردیف ها ایجاد می کند ، برش می دهم و سپس 2 ردیف را به هم می چسبانم.

مداری که طراحی کردم برای احساس وجود آب بین دو سیم است. هنگامی که آب به نوک هر دو سیم برسد ، مقاومت تقریبی 10K تا 20K اهم ایجاد می کند. سپس به صورت سری با 10K اهم R1 ، جریان کوچکی را در پایه Q1 ایجاد می کند که باعث اشباع Q1 می شود و GPIO-2 را به زمین محکم می کند. R1 برای محافظت از Q1 در صورت کوتاه شدن تصادفی سیمهای حسگر ضروری است.

R2 یک مقاومت کششی است که به ESP-01 اجازه می دهد تا از فلاش بوت شود.

حالا برای بلندگو/زنگ اختیاری ، اگر فقط به ESP-01 نیاز دارید تا MQTT صحبت کند و نمی خواهید این هشدار دهنده محلی را اجرا کنید ، می توانید R2 ، Q2 ، بلندگو را حذف کرده و یک مقاومت کششی 10K بین GPIO-0 قرار دهید. و VCC

اگر نیازی به استفاده از آداپتور زن Micro-USB به DIP ندارید ، می توانید سیم ها را بین 5 ولت PS به ماژول تنظیم کننده 3.3 ولت لحیم کنید. من ترجیح می دهم از آداپتور MicroUSB زن استفاده کنم تا بتوانم از هرگونه شارژر تلفن همراه و کابل MicroUSB استفاده کنم.

مرحله 3: ساختن مدار

ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار
ساختن مدار

مطابق نمودار مدار صفحه قبل ، تمام قطعات و قطعات را به PCB لحیم کرده و PCB را به اندازه برش دهید.

PCB را داخل محفظه ای قرار دهید که مناسب PCB و بلندگوی اختیاری باشد. در مورد من ، همه قطعات داخل یک جعبه خروجی تلفن کوچک قرار می گیرند ، اگرچه من باید کمی جلد را گرم کنم تا برآمدگی ایجاد شود تا ماژول ESP-01 مناسب باشد.

مرحله 4: چشمک زدن ESP-01

در این مرحله ، ESP-01 را با طرح آردوینو فلش می کنیم. اگر هرگز ماژول ESP-01 را فلش نکرده اید ، می توانید دستورالعمل من را برای شروع دنبال کنید:

می توانید طرح من را در صفحه github من پیدا کنید:

در طرح ، حداقل باید اطلاعات زیر مربوط به شبکه/راه اندازی خانه خود را تغییر دهید:

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

در شبکه خانگی من ، 2 نقطه دسترسی متفاوت دارم که 2 SSID متفاوت را پخش می کند ، و این طرح در صورت از بین رفتن ارتباط با AP فعلی ، با اتصال به SSID بعدی افزونگی را امکان پذیر می کند. اگر فقط یک SSID دارید ، هر دو ssid1 و ssid2 را با یک مقدار پر کنید.

پس از انجام اصلاح ، طرح را در ESP-01 بارگذاری کرده و ESP-01 را به برد رابط وصل کنید.

مرحله 5: اجرای آزمایشی

برای آزمایش اینکه پروژه ما کار می کند یا نه ، ساده ترین کار این است که پیام های MQTT را در شبکه رصد کنیم. برای انجام این کار ، باید یک جلسه SSH را برای کارگزار پشه باز کنید و دستور زیر را صادر کنید:

mosquitto_sub -v -t '#'

دستور بالا به ما اجازه می دهد تا همه پیامهای MQTT را که به کارگزار وارد می شود مشاهده کنیم.

اکنون مدار ما را روشن کنید ، و اگر همه چیز کار کرد ، در عرض چند ثانیه حداقل باید پیام MQTT زیر را مشاهده کنید:

stat/SumpWaterSensor/LWT Online

حالا سنسور آب را با فرو بردن 2 سیم حسگر در یک فنجان آب آزمایش کنید و این پیام را خواهید دید:

tele/SumpWaterSensor WET

و اگر سیم ها را از آب خارج کنید ، باید این پیام را ببینید:

tele/SumpWaterSensor DRY

اگر آن پیام ها را مشاهده کردید ، پروژه شما موفقیت آمیز است.

من همچنین چندین موضوع مفید 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 برای گوش دادن/عضویت در مبحث "tele/SumpWaterSensor" MQTT استفاده می کنم و در صورت تشخیص آب به چندین بلندگوی خانه Google اعلام می کنم. علاوه بر آن ، من همچنین جریان را به یک گره pushbullet وصل کردم تا اعلان را به تلفن اندرویدی خود ارسال کنم.

من همچنین یک وب جلویی ایجاد کردم تا وضعیت سنسور را ببینم (روشن/آفلاین ، زمان به کارگیری و غیره). گاهی اوقات می بینم که چند بار در طول 1 هفته آفلاین می شود ، از آمار ، بسیاری اوقات به دلیل قطع ESP-01 از wifi یا MQTT است. اما نگران نباشید ، طرح من شامل راه اندازی مجدد ESP-01 است اگر در تلاش برای اتصال به کارگزار WIFI و/یا MQTT شکست بخورد.

تصویر روی این مرحله ، جریان Node-RED را برای انجام این کار نشان می دهد. همچنین می توانید جریان را از صفحه github من در Node-RED خود بچسبانید:

اعلام خانه Google تنها یک نمونه برای این پروژه است ، اما من فکر می کنم مفیدترین و کاربردی ترین است. شما همیشه می توانید با سایر شنونده های MQTT ارتباط برقرار کنید ، یا حتی از IFTTT برای رانندگی دستگاه های دیگر در صورت تشخیص آب استفاده کنید.

خوش بگذره…

توصیه شده: