תוכן עניינים:

חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01: 7 שלבים
חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01: 7 שלבים

וִידֵאוֹ: חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01: 7 שלבים

וִידֵאוֹ: חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01: 7 שלבים
וִידֵאוֹ: Zigbee smoke sensor - testing a budget option for Tuya Smart and Home Assistant 2024, יולי
Anonim
חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01
חיישן MIFTT/Google Home Flood/Water WIFI עם ESP-01

במדריך זה אראה לך כיצד לבנות חיישן שיטפון/מים wifi עם עלות מינימלית. הפרויקט כולו עולה לי פחות מ- $ 8 עבור חלקים שאני רוכש מ- eBay וחלקי חילוף קיימים שלי.

בפרויקט זה, נשתמש ב- ESP-01 כדי לספק לקוח Wifi ו- MQTT לאיתור נוכחות של מים, ולחלופין נשתמש ברמקול/באזר המחובר ישירות כדי לספק אזעקה מקומית.

היישום הספציפי שלי לפרויקט הוא לזהות שיטפון/מים בתוך משאבת הביוב שלי היטב, במקרה של תקלה במשאבת המים. כאשר מים מזוהים על ידי 2 חוטים פתוחים, זה היה שולח הודעה לברוקר MQTT. לאחר מכן, מתווך MQTT יעביר את ההודעה ל- NodeRED. עם קבלת הודעת MQTT, NodeRED היה שולח הודעה למספר מכשירי בית של גוגל וגם שולח הודעה לסלולרי/לדפדפן באמצעות pushbullet

עכשיו כמובן שהפרויקט הזה יעבוד רק אם החשמל הביתי מופעל. במדריך הבא אשלב את מעגל גיבוי הסוללות. אבל אם אתה עושה את אספקת החשמל באותו אופן שעשיתי, אתה יכול פשוט לחבר בנק כוח USB לגיבוי הסוללה. אם יש לך בנק חשמל המאפשר לך לחייב ולספק חשמל בו זמנית, אז אתה מוכן.

אני משתמש ב- RaspberryPi ZeroW כדי לארח את שרת MQTT של Mosquitto ו- NodeRED. הוא פועל למעלה משנה ללא שום בעיה.

הפניות: Raspberry Pi: https://www.switchdoc.com/2016/02/tutorial-installi… התקן את NodeRED ב- Raspberry Pi:

שלב 1: חלקים שתזדקק להם

חלקים שתזדקק להם
חלקים שתזדקק להם
חלקים שתזדקק להם
חלקים שתזדקק להם
חלקים שתזדקק להם
חלקים שתזדקק להם

רשימת חלקים:

(1) ESP-01

(2) הנגד של 10K אוהם

(1) טרנזיסטור NPN גנרי לאות קטן (השתמשתי ב- 2N3904)

(2) חוטים ארוכים

(1) ספק כוח גנרי 5V (מעגל זה דורש פחות מ- 300mA הנוכחי)

(1) מודול הרגולטור 3.3V AMS1117

(1) מיקרו USB למתאם DIP מחבר נקבה PCB ממיר ערכת DIY

(1) כבל USB-A ל- MicroUSB.

(1) שקע IC עם 8 פינים-ניתן להשמיט אם ברצונך להלחם את ESP-01 ישירות ללוח המעגלים. חותכים את גשרי הפלסטיק שיוצרים את הפער בין השורות ולאחר מכן מדביקים את 2 השורות יחד, ראו תמונה.

(1) מארז קטן לפרויקט

להלן חלקים אופציונליים אם אתה צריך אזעקה מקומית באמצעות רמקול/זמזם

(1) טרנזיסטור PNP גנרי, בחר בהתאם לדרישת זרם/זמזם זמזם/דרישה בהספק. במקרה שלי אני משתמש ב- 2N2907 מכיוון שהרמקול שלי הוא 0.3W בלבד (8 אוהם), הוא יספק מספיק כוח כדי להניע את הרמקול. אתה יכול לבחור טרנזיסטור ורמקול גדולים יותר אם אתה רוצה צליל חזק יותר.

(1) רמקול, ראה הערה על טרנזיסטור PNP למעלה

(1) נגד - 100 - 110 אוהם

שלב 2: תרשים מעגלים

תרשים מעגלים
תרשים מעגלים

השלב הראשון יהיה ליצור את המעגל המוצג בתרשים.

בניתי את ספק הכוח 3.3VDC באמצעות מטען סלולרי ישן של 5V יחד עם הרגולטור AMS1117 3.3VDC. עבור שקע ESP-01, אני משתמש בשקע IC סטנדרטי בעל 8 פינים, וחותך את גשרי הפלסטיק שיוצרים את הפער בין השורות, ואז מדביקים את 2 השורות יחד.

המעגל שעיצבתי הוא לחוש בנוכחות מים בין שני החוטים. כאשר המים מגיעים לקצה שני החוטים, הם יוצרים התנגדות של 10K עד 20K אוהם. ואז בסדרה עם 10K אוהם R1, הוא מספק זרם קטן לבסיס Q1 וגורם ל- Q1 להרוות, מהדק את ה- GPIO-2 לקרקע. R1 נחוץ בכדי לספק הגנה לרבעון הראשון למקרה שיש שורש מקרי בחוטי החישה.

R2 הוא נגד משיכה המאפשר ESP-01 לאתחל מהבזק.

עכשיו לרמקול/זמזם אופציונלי, אם אתה רק צריך ESP-01 כדי לדבר MQTT ואינך רוצה ליישם את המדאיג המקומי הזה, תוכל להסיר R2, Q2, רמקול ולהציב נגד משיכה של 10K בין GPIO-0 ו- VCC.

אם אינך מרגיש צורך להשתמש במתאם ה- Micro-USB ל- DIP הנשי, תוכל להלחים חוטים בין PS 5V למודול הרגולטור 3.3V. אני מעדיף להשתמש במתאם ה- MicroUSB הנשי כדי שאוכל להשתמש בכל מטען סלולרי כללי וכבל MicroUSB.

שלב 3: בניית המעגל

בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל
בניית המעגל

הלחם את כל הרכיבים והחלקים ל- PCB בהתאם לתרשים המעגלים בעמוד הקודם, וחתך את ה- PCB לגודל.

הנח את הלוח הפנימי בתוך מארז שיתאים למחשב הלוח ולרמקול האופציונלי. במקרה שלי, כל החלקים יתאימו בתוך קופסת שקע קטנה לטלפון, אם כי אני צריך לחמם מעט את הכיסוי כדי ליצור בליטה כך שמודול ESP-01 יתאים.

שלב 4: מהבהב ה- ESP-01

בשלב זה, נבהב את ה- ESP-01 עם סקיצה של ארדואינו. אם מעולם לא הבזקת מודול ESP-01, תוכל לעקוב אחר ההוראות שלי כדי להתחיל:

אתה יכול למצוא את הסקיצה שלי בדף github שלי:

במערכון, לכל הפחות עליך לשנות את המידע הבא הנוגע לרשת הביתית/ההתקנה שלך:

#define 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 שונות, ושרטוט זה יאפשר יתירות על ידי חיבור ל- SSID הבא אם התקשורת ל- AP הנוכחי תאבד. אם יש לך SSID אחד בלבד, אכלס הן ssid1 והן ssid2 באותו ערך.

לאחר שביצעת את השינוי, העלה את הסקיצה ל- ESP-01, וחבר את ה- ESP-01 ללוח הממשק.

שלב 5: הפעלת מבחן

כדי לבדוק אם הפרויקט שלנו עובד, הכי קל יהיה לעקוב אחר הודעות MQTT ברשת. לשם כך, עליך לפתוח הפעלת SSH לברוקר היתושים ולהוציא את הפקודה הבאה:

mosquitto_sub -v -t '#'

הפקודה לעיל תאפשר לנו לראות את כל הודעות ה- MQTT נכנסות לברוקר.

כעת הפעל את המעגל שלנו, ואם הכל עובד, תוך מספר שניות אתה אמור לפחות לראות את הודעת MQTT הבאה:

stat/SumpWaterSensor/LWT Online

כעת בדוק את חיישן המים על ידי טבילת 2 חוטי החישה לכוס מים, ותראה את ההודעה הבאה:

טל/SumpWaterSensor WET

ואם תוציא את החוטים מהמים, אתה אמור לראות את ההודעה הבאה:

טל/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 (Hz)

"cmnd/SumpWaterSensorDebug": הפעל והגדר רמת ניפוי סדרתי (ברירת המחדל היא 0 - ללא ניפוי באגים)

שלב 6: הרכיב את החיישן

הרכיב את החיישן
הרכיב את החיישן
הרכיב את החיישן
הרכיב את החיישן

ביישום שלי, אני רוצה לפקח היטב על מפלס המים בתוך משאבת המים שלי ולהודיע לי אם המים מגיעים מעל מתג המצוף של משאבת המים, מה שאומר שמשאבת השריפה שלי לא עובדת. ניהלתי את החוטים והשתמשתי בקשרי חוט כדי לאבטח אותם לאורך צינור הניקוז.

שלב 7: מגע סופי

נגיעה אחרונה
נגיעה אחרונה

כעת, לאחר שהפרויקט פועל ויכולנו לפרסם הודעת MQTT לברוקר, השלב הבא הוא לחשוב על רעיון מה לעשות עם זה.

בפרויקט שלי, אני משתמש ב- Node-RED כדי להאזין/להירשם לנושא "tele/SumpWaterSensor" MQTT ולהודיע לכמה רמקולים ביתיים של Google אם מתגלים מים. בנוסף לכך, קישרתי גם את הזרימה לצומת pushbullet כדי לשלוח הודעה לטלפון האנדרואיד שלי.

יצרתי גם חזית אינטרנט כדי לראות את מצב החיישן (מופעל/לא מקוון, זמן פעולה וכו '). לפעמים ראיתי שזה יוצא לא מקוון כמה פעמים במהלך שבוע אחד, מהסטטיסטיקה, הרבה פעמים זה נובע מניתוק ה- ESP-01 מה- wifi או MQTT. אך אל דאגה רבה, הסקיצה שלי כללה שגרה להפעלה מחדש של ה- ESP-01 אם היא ממשיכה להיכשל בניסיון להתחבר ל- WIFI ו/או לברוקר MQTT.

התמונה בשלב זה מציגה את זרימת הצומת-אדום כדי להשיג זאת. תוכל גם להדביק את הזרימה מדף github שלי אל Node-RED שלך:

הודעת הבית של גוגל היא רק דוגמה אחת לפרויקט הזה, אבל לדעתי היא השימושית והפרקטית ביותר. אתה תמיד יכול להתממשק למאזין MQTT אחר, או אפילו להשתמש ב- IFTTT כדי להניע מכשירים אחרים לאחר גילוי מים.

תעשה חיים…

מוּמלָץ: