MQTT/פעמון דלת הבית של Google באמצעות ESP-01: 6 שלבים
MQTT/פעמון דלת הבית של Google באמצעות ESP-01: 6 שלבים
Anonim
MQTT/פעמון דלת הבית של Google באמצעות ESP-01
MQTT/פעמון דלת הבית של Google באמצעות ESP-01

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

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

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

נוסיף מודול ESP-01 למערכת הפעמון הקיימת 16VAC הוספת פונקציונליות MQTT לשליחת הודעה לברוקר MQTT (כאשר לוחצים על מתג פעמון הדלת). מתווך MQTT יעביר את ההודעה ל- NodeRED. עם קבלת הודעת MQTT, NodeRED היה שולח הודעה למספר מכשירי בית של גוגל וגם שולח הודעה לסלולרי/לדפדפן באמצעות pushbullet.

יש לי תשוקה לאוטומציה ביתית של DIY, ולאט לאט מוסיף IOT לבית שלי. Google home היה אחד הפונקציות המרכזיות באוטומציה הביתית שלי.

הבן שלי נתן לי את הרעיון לפרויקט הזה כששאל אותי אם אני יכול לגרום ל- Google home להודיע בכל פעם שמישהו מצלצל בפעמון הדלת שלנו. יש לנו 2 קומות + סיום הבית במרתף, והרבה פעמים לא יכולנו לשמוע את הצלצול כשאנחנו במרתף או למעלה בחדר השינה עם דלת סגורה או עם טלוויזיה דלוקה.

יש לנו 4 גוגל הום מיני בבית שלנו ממוקמים במקומות/חדרים שונים, ועל ידי שימוש ב- Google בתים כדי להכריז על פעמון, אנו יודעים מיד בכל מקום בבית אם מישהו מצלצל בפעמון הדלת.

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

הפניות:

  • דיאגרמות חיווט של פעמון דלת:
  • התקן את Mosquitto MQTT Broker ב- Raspberry Pi:
  • התקן את NodeRED ב- Raspberry Pi:

שלב 1: צור את מעגל לממשק ESP-01 ופעמון הדלתות

צור את המעגל לממשק ESP-01 ופעמון הדלתות
צור את המעגל לממשק ESP-01 ופעמון הדלתות
צור את המעגל לממשק ESP-01 ופעמון הדלתות
צור את המעגל לממשק ESP-01 ופעמון הדלתות
צור את המעגל לממשק ESP-01 ופעמון הדלת
צור את המעגל לממשק ESP-01 ופעמון הדלת

השלב הראשון יהיה ליצור את המעגל שיהווה את הממשק בין ESP-01 לפעמון הדלתות. פעמון דלת אופייני מופעל כאשר יש 16VAC בין סיכות "TRANS (לשעבר)" ו- "FRONT/REAR" כפי שמוצג בתמונה הראשונה שלי. המתח מופיע באותם סיכות כאשר לוחצים על כפתור פעמון הדלת.

המעגל שעיצבתי הוא לחוש את האות של 16VAC ולהמיר אותו לאות דיגיטלי בסביבות 3.3VDC. זהו מיישר בסיסי של חצי גל שנוצר על ידי D1 ו- C1. אין צורך שיהיה לנו מיישר גל מלא במצב זה מכיוון שיש מעט מאוד טעינה ליציאת DC, מה שחוסך לנו מעט נדל ן על הלוח. אני רוצה להפוך את הלוח כמה שפחות כדי שאוכל למקם אותו בתוך הפעמון הקיים שלי.

R1 ו- R2 יוצרים מחלק מתח להורדת מתח השיא של DC ל -3.3V בערך.

R3, TR1 ו- R4 יוצרים מהפך המספק היגיון הפוך ל- ESP-01 GPIO-2. זה הכרחי כדי לספק לוגיקה גבוהה במהלך האתחול (עם ה- R4 וה- R5 הנפתח) כדי ש- ESP-01 יתחיל מהבזק. כאשר לוחצים על לחצן פעמון הדלת, הוא מציג היגיון LOW ל- GPIO-2. TR1 יכול להיות כל טרנזיסטור NPN בעל הספק קטן, במקרה שלי השתמשתי ב- 2N3904.

ה- V1 הוא ספק כוח 3.3VDC שבניתי באמצעות מטען סלולרי ישן של 5V יחד עם הרגולטור AMS1117 3.3VDC אותו אראה בשלב הבא.

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

שלב 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" ולמצוא מה עובד בשבילך.

מודול הרגולטור הזה של 3.3V הוא קטן מאוד שאני יכול באמת להכניס אותו לתוך מארז מטען ה- USB המקורי של 5V מה שהופך אותו לבטוח יותר מפני קצר חשמלי. הסרתי את שיני הקיר AC ממודול המטען והחלפתי אותו בשני כבלים שיחוברו ל- 120VAC מהקיר מאחורי הפעמון הקיים שלי. אך אל תסיר את השיניים בשלב זה עד שנעשה ניסוי בשלב הבא.

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

ראה אחת מהתמונות שלי כדי לראות שמאחורי הפעמון שלי נמצא חיווט 120VAC ושנאי 16VAC לצלצל.

פלט מהווסת 3.3V יתחבר לאחר מכן ללוח הממשק ESP-01 בהתאם לשלב הקודם.

שלב 3: מהבהב ה- 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 ללוח הממשק.

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

מבחן ריצה
מבחן ריצה
מבחן ריצה
מבחן ריצה
מבחן ריצה
מבחן ריצה

משלב 1 בנינו את לוח הממשק ESP-01, ומשלב 2 יש לנו את ספק הכוח 3.3V ללוח ה- ESP-01. כעת אנו מחברים את פלט אספקת החשמל ללוח על פי תרשים המעגל, המוצג כ- V1.

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

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

mosquitto_sub -v -t '#'

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

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

stat/DoorBell/LWT Online

עכשיו צא החוצה וצלצל בפעמון הדלת שלך, ותראה את ההודעה הבאה:

טלפון/פעמון דלת

אם אתה רואה את ההודעות האלה, הפרויקט שלך הוא הצלחה.

כללתי גם כמה נושאי 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 ישלח הודעה בנושא זה עם הערך 'ON' אם לוחצים על פעמון הדלת

שלב 5: שילוב הלוח ואספקת החשמל בפעמון

שילוב הלוח ואספקת החשמל בפעמון
שילוב הלוח ואספקת החשמל בפעמון
שילוב הלוח ואספקת החשמל בפעמון
שילוב הלוח ואספקת החשמל בפעמון
שילוב הלוח ואספקת החשמל בפעמון
שילוב הלוח ואספקת החשמל בפעמון

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

כעת נוכל להסיר את שיני המתכת ממטען ה- USB שלנו ולהחליף אותן בכבל עבה יותר שנוכל לחבר לחיווט הבית. הקפד לכבות את המפסק המספק את החשמל למעגל הפעמונית.

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

שלב 6: מגע אחרון

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

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

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

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

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

תעשה חיים…