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

טיימר חכם IoT ESP8266-01 לאוטומציה ביתית: 9 שלבים (עם תמונות)
טיימר חכם IoT ESP8266-01 לאוטומציה ביתית: 9 שלבים (עם תמונות)

וִידֵאוֹ: טיימר חכם IoT ESP8266-01 לאוטומציה ביתית: 9 שלבים (עם תמונות)

וִידֵאוֹ: טיימר חכם IoT ESP8266-01 לאוטומציה ביתית: 9 שלבים (עם תמונות)
וִידֵאוֹ: עוזר בית - טקסט לדיבור, התראות קוליות, הפוך TTS 2024, יולי
Anonim
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית

עדכונים

2018-09-30: הקושחה עודכנה לגרסה 1.09. עכשיו עם תמיכה בסיסית של Sonoff

2018-10-01: גירסת גירסת קושחה 1.10 זמינה לבדיקה ב- ESP8266-01 עם בעיות

כשהמילות המפתח החדשות הן Internet Of Things (IoT) ואוטומציה ביתית, החלטתי להסתכל על הפריטים הנוכחיים בבית ובסביבתו הנשלטים באמצעות מכשיר כלשהו. הפריטים שבלטו הם כדלקמן:

  • משאבת בריכת שחייה
  • מילוי מים לבריכת שחייה
  • בריכת שחייה ואורות מסביב
  • אורות ארון מערכת טלוויזיה/בידור

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

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

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

בשל הסיבות לעיל, החלטתי לבדוק את האפשרות להחליף את הטיימרים ב- IoT Smart Timer, המחובר לרשת הביתית המקומית שלי.

הרעיון היה לעצב טיימר עצמאי, שיכול:

  • התאם אוטומטית את הזמן הנוכחי באמצעות האינטרנט (IoT)
  • מופעל ללא כל פעולות משתמש (חכם)
  • הפעל/כבה פלט בהתאם לזמנים שנקבעו (טיימר)
  • ניתן לתכנות ושליטה באמצעות רשת (אוטומציה ביתית)

שלב 1: עיצוב ESP8266-01

עיצוב ESP8266-01
עיצוב ESP8266-01
עיצוב ESP8266-01
עיצוב ESP8266-01

העיצוב נעשה באמצעות מודול WiFi ESP8266-01, מכיוון שזה מה שהיה לי זמין. בצורה הפשוטה ביותר, ל- ESP8266-01 יש ארבעה סיכות קלט/פלט:

  • GPIO0
  • GPIO2
  • TX
  • RX

מצבי הפעלה ESP8266-01

המצב ההגיוני של סיכות הקלט/פלט משמש לקביעת באיזה מצב ה- ESP8266-01 יאתחל. השלב הראשון היה לקבוע באילו מבין סיכות הקלט/פלט ניתן להניע ממסר פלט.

  • להפעלה רגילה, GPIO0 ו- GPIO2 חייבים להיות מוגדרים ללוגיקה HIGH. לפיכך ברור כי לא ניתן להשתמש בשני הסיכות הללו כפלט דיגיטלי.
  • סיכת ה- Tx מוגדרת כפלט בעת הפעלה והפלט מוגדר גבוה. סיכת ה- Tx הזו גם מעבירה נתונים סידוריים במהלך ההפעלה. לפיכך, סיכה זו אינה יכולה לשמש גם כפלט.

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

אתחול

כדי להבטיח מצב אתחול נכון של ESP8266-01 במהלך ההפעלה, הפינים הבאים נמשכים גבוה באמצעות נגדים של 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

זה מבטיח שהיחידה תתחיל לפעול כראוי בכל פעם.

ממסר פלט

ה- RX הוא הסיכה היחידה המתאימה לשמש פלט. לפיכך סיכה זו משמשת להנעת ממסר הפלט באמצעות טרנזיסטור NPN. נוספו דיודות גלגל תנופה סטנדרטיות ונגדי בסיס טרנזיסטור.

לחצן MODE/SET

הכפתור מחובר ל- GPIO2, וכשהכפתור משוחרר, נגד 10K ימשוך את GPIO2 גבוה. כאשר הכפתור נלחץ, GPIO2 מושך ל- 0V.

לחצן זה משמש לשתי פונקציות:

  • הגדרה ראשונית לחיבור היחידה לרשת WiFi מקומית
  • לשלוט באופן ידני על הפלט במהלך פעולות רגילות

חיווי LED

הנורית מחוברת ל- GPIO0 ומציינת את הדברים הבאים:

  • בהפעלה ראשונית, מהבהב מהיר כדי להצביע על מצב הגדרת WiFi
  • מהבהב לאט כאשר הזמן של היחידה אינו מוגדר
  • מציין את מצב הפעלה/כיבוי של ממסר הפלט

שלב 2: ספק הכוח

ספק הכוח
ספק הכוח
ספק הכוח
ספק הכוח
ספק הכוח
ספק הכוח

אני אשתמש בטיימר החכם IoT ברמות מתח שונות, ולכן ישנן שתי אפשרויות לספק כוח:

12 - 24V DC

ממיר DC-DC המשמש מתאים לספקים עד 28V DC. תפוקת הממיר ניתנת להתאמה, והיא מוגדרת ל- 5V. זה צריך להיעשות לפני שמחובר מודול ESP8266.

נוספה דיודה כדי להגן מפני קוטביות הפוכה בכניסת האספקה.

220V AC עבור אפשרות זו, הצלחתי להשיג ספק כוח קטן של מצב מתג 220V/5V ב- eBay.

ללא קשר למתח הכניסה, ה- IoT Smart Timer זקוק לשני ספקי כוח:

מסילה 5V

עם שתי האפשרויות, DC 5V מתקבל מאספקת מצב במצב מתג, ולא מווסת לינארי. המשמעות היא שיש חום מינימלי שנוצר על ידי אספקת החשמל. 5V משמש להנעת ממסר הפלט

מעקה 3.3V

3.3V עבור ESP8266-01 מתקבל מווסת ASM1117 3.3. ASM1117 3.3 הוא וסת לינארי, ויכול להתמודד עד 500mA. עם זאת, החום שנוצר ייקבע על ידי מתח הכניסה ל- ASM1117. כדי להפחית את החום, ASM1117 מופעל ממעקה 5V.

סינון רעשים

כדי להפחית את אדוות המתח ל- ESP8266-01, המעקה 3.3V מצויד בקבל 100 - 1000uf. גם מסילות 5V ו -3.3V מוגנות מפני הפרעות בתדירות גבוהה על ידי קבלים 0.1uf.

שלב 3: הרכבת לוח ה- PC

הרכבת לוח ה- PC
הרכבת לוח ה- PC
הרכבת לוח ה- PC
הרכבת לוח ה- PC
הרכבת לוח ה- PC
הרכבת לוח ה- PC

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

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

  • הלחם את הרגולטור ASM1117 ושלושה רכיבי SMD 0.1uf בצד הלחמה של הלוח
  • הוסף את המגשר היחיד לצד הרכיב של הלוח
  • הלחם את הנגדים והדיודות במקום
  • הוסף את הכותרות למודול ESP8266-01
  • הוסף את סיכות הכותרת עבור הנורית ולחצן
  • הוסף את מסופי הבורג
  • באמצעות סיכות כותרת, חבר את ממיר DC/DC ללוח.
  • הלחם את הממסר למקומו
  • השלם את הלוח על ידי הלחמת הטרנזיסטור וקבל 100uf.

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

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

שלב 4: בדיקת לוח ה- PC

בדיקת לוח ה- PC
בדיקת לוח ה- PC

! ! ! לפני הפעלת כוח! ! !

הסר את מודול ESP8266-01 מהיחידה. זאת כדי למנוע התחממות יתר של הרגולטור ASM1117 לפני התאמת אספקת 5V.

אין הרבה בדיקות שניתן לבצע לאחר ההרכבה. השלב החשוב ביותר הוא להבטיח את רמות המתח הנכונות.

  • החל 12 - 24V DC ליחידה.
  • מדוד את מתח המוצא של ממיר DC/DC
  • התאם את פלט הממיר בין 5.0 ל -5.5 וולט.
  • לאחר מכן, מדוד את אספקת 3.3V.
  • אם חומרים מתכלים תקינים, הסר את החשמל מהיחידה

כעת תוכל להכניס את מודול ESP8266-01 לכותרות המסופקות.

! ! ! הערה !

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

שלב 5: המארז

המארז
המארז
המארז
המארז
המארז
המארז

המארז אינו כה חשוב, כל עוד לוח המחשב וכל החיווט משתלב בו בצורה מסודרת ובטוחה.

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

התמונות מציגות אחת מיחידות 12V המשמשות לנורות LED.

שלב 6: תכנות ה- ESP8266-01/NodeMCU

תכנות ה- ESP8266-01/NodeMCU
תכנות ה- ESP8266-01/NodeMCU
תכנות ה- ESP8266-01/NodeMCU
תכנות ה- ESP8266-01/NodeMCU
תכנות ה- ESP8266-01/NodeMCU
תכנות ה- ESP8266-01/NodeMCU

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

עקוב אחר ESP8266 ו- Arduino IDE כדי להגדיר את IDE Arduino עבור מודול ESP8266.

לאחר מכן, תזדקק למתכנת לתכנת ה- ESP8266. להלן שני קישורים:

שימוש ב- Arduino Uno

לוח תכנות DIY

ספריות

יהיה עליך להתקין ספריות נוספות בכדי שתוכל לאסוף את הקוד. שוב, עיין במדריך זה:

התקן והשתמש בספריות Arduino

אני לא זוכר אילו ספריות הייתי צריך להתקין, אבל אני יודע שיש להוריד את WiFiManager בנפרד.. כללתי את אלה בקובץ Libraries.zip.

שלב 7: הגדרה ראשונה

הגדרה ראשונה
הגדרה ראשונה
הגדרה ראשונה
הגדרה ראשונה
הגדרה ראשונה
הגדרה ראשונה

כשהוא בשימוש בפעם הראשונה, יש לחבר את IoT Smart Timer לרשת WiFi. משימה זו מתבצעת באמצעות ספריית WiFiManager, כך שאין צורך להקליד קוד SSS או סיסמאות.

בצע את השלבים הבאים:

  • הפעל את היחידה
  • הנורית תתחיל להבהב במהירות
  • לחץ על לחצן MODE/SETUP
  • כאשר הנורית כבה, שחרר את הכפתור
  • המתן מספר שניות, ולאחר מכן פתח את חיבורי הסמארטפון או המכשיר שלך
  • רשת WiFi חדשה בשם IoT Timer תהיה גלויה
  • בחר בנקודת גישה זו
  • היכנס לטיימר IoT (אין צורך בסיסמה)
  • המתן עד שהמכשיר שלך יתחבר לרשת IoT Timer
  • פתח כל דפדפן אינטרנט
  • בשורת הכתובת, הקלד את כתובת ה- IP הבאה - 192.168.4.1
  • קונסולת WiFiManager תיפתח
  • בחר הגדרת WiFi
  • תוצג רשימה עם נקודות זמינות של רשתות WiFi
  • בחר את רשת ה- WiFi הדרושה והקלד את הסיסמה
  • לאחר מכן, הזן את כתובת ה- IP שבה ברצונך להשתמש כדי להתחבר ל- IoT Timer
  • הזן את כתובת ה- IP של שער ברירת המחדל ולאחר מכן את המסכה
  • לאחר סיום כל ההגדרות, לחץ על הלחצן שמור
  • ייפתח חלון חדש שיאשר שהאישורים החדשים נשמרו
  • סגור את הדפדפן שלך

לאחר השמירה, רשת IoT Timer תיסגר, והיחידה תנסה להתחבר לרשת ה- WiFi שלך.

  • חבר את הסמארטפון או המכשיר שלך לאותה רשת WiFi שמשמשת את טיימר ה- IoT.
  • פתח את הדפדפן שלך
  • בשורת הכתובת, הקלד את כתובת ה- IP של טיימר ה- IoT שלך
  • דף התצורה של טיימר IoT ייפתח

טיימר ה- IoT שלך מוכן כעת לשימוש

שלב 8: הגדרת טיימר IoT

הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT
הגדרת טיימר IoT

דף האינטרנט המובנה של טיימר IoT מורכב מחמישה חלקים:

סטָטוּס

זה מראה את שם המכשיר, כמו גם את הזמן הנוכחי ומצב הפלט של הטיימר

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

  • הפלט האוטומטי נשלט על ידי תוכניות הטיימר השונות
  • מופעל - הפלט נאלץ לפעול, ויישאר עד שהמצב ישתנה
  • כבוי - הפלט כבוי, והוא יישאר כבוי עד שהמצב ישתנה.

תוכניות

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

לפני שינוי התוכנית הבאה, לחץ על הלחצן SAVE כדי לשמור את כל השינויים שבוצעו בתוכנית הנוכחית.

פונקציית לחצן

ניתן להשתמש בלחצן MODE/SETUP לשליטה על ממסר הפלט במהלך פעולה רגילה. כאן, בחר מה הכפתור חייב לעשות בעת לחיצה עליו.

סמן את התיבה "פונקציית לחצן עדכון" לפני לחיצה על לחצן שמור כדי לשמור את ההגדרות החדשות.

תְצוּרָה

כאן תוכל לשנות את שמו של טיימר IoT. זה מקל על הזיהוי בין טיימרים מרובים.

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

אם ברצונך להשתמש בשרת זמן NTP אחר, הזן את כתובת ה- IP החדשה במרחב הניתן.

סמן את התיבה "עדכן תצורה" לפני לחיצה על לחצן שמור כדי לשמור את ההגדרות החדשות.

הערה

בעת שינוי אזור הזמן, השעה החדשה תוגדר רק בזמן שאילתת הזמן הבאה. היחידה מוגדרת לעדכן את הזמן כל 5 דקות.

התאמת זמן

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

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

סנכרון זמן

החלק האחרון של הדף מציין את השעה והתאריך שבו הזמן האחרון סונכרן באמצעות שרת הזמן NTP.

מוּמלָץ: