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

בקר IoT. חלק 9: IoT, אוטומציה ביתית: 10 שלבים (עם תמונות)
בקר IoT. חלק 9: IoT, אוטומציה ביתית: 10 שלבים (עם תמונות)

וִידֵאוֹ: בקר IoT. חלק 9: IoT, אוטומציה ביתית: 10 שלבים (עם תמונות)

וִידֵאוֹ: בקר IoT. חלק 9: IoT, אוטומציה ביתית: 10 שלבים (עם תמונות)
וִידֵאוֹ: מר רמי גל | רובוטים קטנים: באוטומציה תעשייתית ומעבדות IoT 2024, יוני
Anonim
בקר רשת IoT. חלק 9: IoT, אוטומציה ביתית
בקר רשת IoT. חלק 9: IoT, אוטומציה ביתית

כתב ויתור

קרא זאת לראשונה

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

הַקדָמָה

מאמר זה, ה -9 בסדרה בנושא אוטומציה ביתית, מתעד כיצד ליצור ולשלב בקר רשת IoT של Sonoff 10A במערכת קיימת של אוטומציה ביתית הכוללת את כל פונקציונליות התוכנה הדרושה על מנת לאפשר את הפריסה המוצלחת בסביבה ביתית.

מבוא

כפי שהוזכר לעיל, ניתן ללמוד כיצד להכין ולשלב בקר רשת IoT באמצעות Sonoff 10A מ- iTead. המכשיר עצמו מצוין כמדורג עבור 10 אמפר @ 90 ~ 250VAC, אולם יישום זה מוריד אותו ל -5 אמפר באמצעות התקע הממוזג המספק אספקה ראשית מקומית בבריטניה של 240VAC RMS.

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

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

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

אילו חלקים אני צריך?

בקר Sonoff Mains

  1. 1 הנחה על Sonoff 10A כאן
  2. ווסת מתח אחד של 7805L 5V כאן
  3. 1 הנחה של 240/6VAC 1.5VA שנאי כאן
  4. 2 קבלים קרמיים של 0.1 לכאן כאן
  5. 1 off 1000uF @25v קבלים אלקטרוליטיים כאן
  6. 1 off גשר מיישר 2W01 כאן
  7. 2 נגדי 4K7 הנחה כאן
  8. נגד 330R אחד כאן
  9. כפתור SPST 1 כבוי כאן
  10. מארז ABS אחד של Mulitcomp BM12W כאן
  11. 1 off TIL111 מצמד אופטי כאן
  12. בלוק טרמינל חד-כיווני אחד כאן
  13. מחבר מולקס מקודד דו-כיווני לכאן/לכאן
  14. מחבר מולקס מקודד בעל 3 כיוונים לכאן/לכאן
  15. מחבר מולקס מקודד בעל 5 כיוונים לכאן/לכאן
  16. סיכה אחת של 5 סיביות מולקס
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) כאן
  18. מחזיק נתיך אחד 20 מ"מ + מכסה כאן
  19. נתיך 1 מ"מ 20 מ"מ מהיר במהירות 500mA כאן
  20. 2 בלוטות כבל פוליאמיד כאן
  21. תקע חשמל אחד בבריטניה (BS1363/A) כאן
  22. שקע אחד ראשי בבריטניה (BS1363/A) כאן
  23. 7 ברגי M3 16 מ"מ CS ניילון, (כולל 10 אגוזים) כאן/כאן
  24. שני קשרי זיפ כאן
  25. 1 off veroboard (0.1 "מגרש) כאן
  26. 1 off באורכים שונים 22swg חוט נחושת משומר כאן
  27. כבל חשמל 1 מ 3M לבן בבריטניה כאן
  28. 10 מכווצים של שקע Molex כאן

מתכנת סונוף

  1. רגולטור מתח LD33CV 3v3 כאן
  2. גוף קירור אחד ל- TO-220 כאן
  3. הדחה אחת של כיור קירור כאן
  4. 1 off 10uF @16v קבלים אלקטרוליטיים כאן
  5. קבל קרמיקה של 0.1 0.1 כאן
  6. כפתור SPDT 1 כבוי כאן
  7. נגד אחד 4K7 כאן
  8. מחבר מולקס מקודד דו-כיווני לכאן/לכאן
  9. מחבר מולקס מקודד בעל 3 כיוונים לכאן/לכאן
  10. 5 מכווצים של שקע מולקס כאן
  11. שקע מולקס חד כיווני בעל 6 כיוונים
  12. כפתור SPST 1 כבוי כאן
  13. שקע PSU של 2.1 מ"מ כאן
  14. 1 off veroboard (0.1 "מגרש) כאן
  15. מתאם USB למתאם סידורי אחד (FTDI) כאן

איזו תוכנה אני צריך?

  1. Arduino IDE 1.6.9 כאן
  2. Arduino IDE הוגדר לתכנת ה- ESP8266. ראה כאן; הגדרת ה- IDE של Arduino לתכנת ה- ESP8266-01

אילו כלים אני צריך?

  1. מלחם,
  2. מקדחה וסיביות שונות (כולל חותך חור מדורג לבלוטות כבלים ולחצן שליטה),
  3. מברגים (שונים),
  4. מפתחות ברגים מתכווננים (שני כבדים, רוחב לסת> 25 מ"מ, לבלוטות כבלים),
  5. קבצים (שונים),
  6. סגן חסון,
  7. אקדח חום,
  8. DMM (רצוי CAT IV).

אילו כישורים אני צריך?

  1. הבנה טובה של אלקטרוניקה ובטיחות חשמל ביתית/עיצוב/חיווט וכו ',
  2. הכרת Arduino וזה IDE,
  3. כישורי ייצור טובים (הלחמה, תיוק, קידוח וכו '),
  4. קצת סבלנות,
  5. קצת הבנה של הרשת הביתית שלך.

נושאים מכוסים

  • מבוא
  • סקירה כללית של המעגל
  • Sonoff RetroMods
  • פרטי בנייה והרכבה
  • מתאם תכנות Sonoff
  • סקירת מערכת תוכנה
  • סקירת תוכנה
  • תצורה של OpenHAB
  • בדיקת התקן IoT שלך
  • סיכום
  • הפניות בשימוש

קישורים לסדרות

לחלק 8: חיישן טמפרטורה ולחות WiFi IoT. חלק: 8 IoT, אוטומציה ביתית

לחלק 10: שלט רחוק IR באמצעות IoT. חלק 10 IoT, אוטומציה ביתית

שלב 1: סקירת מעגלים

סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל
סקירה כללית של המעגל

סקירה כללית

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

להלן תיאור של מעגלי הבידוד האופטו (בתמונה 1 למעלה).

פרטי המעגל

מעגל הבידוד האופטו מקבל את אספקתו ישירות מרשת החשמל המופעלת ביחידה. RMS 240VAC מיושם על שנאי TR1 באמצעות בידוד J1 a contact pheonix MKDSN2, 5/3-5.08 מסוף 3-Way פוליאמיד בדירוג 16A ב 400V המסוגל לשאת כבל CSA 2.5 מ"מ ו- F1 500 מ"מ 20 מ"מ נתיך מכה מהיר. 6VAC הזמין בפיתולי המשנה של TR1 מתוקן על ידי גל מלא על ידי גשר דיודה B1.

הפלט המתוקן הזה של גל מלא מתייצב ומוסד על ידי C1, C2 C3, R3 ו- IC1 וסת רגול מסדרת 7805L, המעניק מסילת אספקה טובה ונקיה של 5V.

לאחר מכן משתמשים במעקה 5v לשליטה על הכניסה ל- OK1 מבודד אופטי TIL111 באמצעות כפתור SPST לבן רכוב חיצוני המחובר על פני J3. הפלט של ה- TIL111 מצורף לכניסת Sonoff GPIO14 באמצעות R2 נגד נגד למעלה מסוג 4K7. כך מושגת בידוד טוב יותר מ -340V (כלומר מתח שיא = (240VAC*sqroot (2))).

שלב 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

על מנת לשלב את מכשיר Sonoff 10A יש צורך לבצע כמה שינויים רטרוספקטיביים.

הראשון הוא להוסיף מחבר מולקס פיץ 'של 0.1 אינץ' כפי שמוצג בתמונה למעלה. הדבר מאפשר גישה ל- GPIO14 ב- Sonoff לאחר החלפת מכסה המגן כמו בתמונות 2 ו -3 לעיל.

למרות שלא הוצג לעיל, הוצאתי גם את קווי TX/RX הטוריים כדי לאפשר תכנות במקום (עיין ברתמת הכבלים SK1..3 בשלב 1 לעיל).

השינוי השני הוא להגדיל את הגודל של התקן SPI Flash מ 1MByte ברירת המחדל ל- 4MBytes, זאת כדי לאפשר מקום מספיק לקבצי שרת האינטרנט של IoT ב- SPIFFS.

רכשתי את מכשיר ההבזק SMD SPI (W25Q32FVSIG) מ- eBay כאן

כדי להחליף את הפלאש הסרתי זמנית את ה- Sonoff LED כמו בתמונה 4 כדי לתת גישה טובה יותר למכשיר ה- SMD. כדי להסיר את ההבזק השתמשתי באקדח חום כפי שמוצג בתמונה 5 למעלה. לאחר מכן מולחם מחדש הן את פלאש 4MByte והן את LED בהתאמה (תמונה 6).

שלב 3: פרטי בנייה והרכבה

פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה
פרטי בנייה והרכבה

סגרתי את בקר החשמל בתיבת ABS Mulitcomp BM12W (תמונה 1 למעלה). במארז זה יש תוספות M3 מפליז מבודדות המאפשרות גישה מרובת יחידות מבלי לפגוע בחוטי ההידוק כך שניתן להחליף את הנתיך הפנימי במידת הצורך או לבצע בדיקה פנימית לאורך זמן (לא ניתן לומר את אותו הדבר לגבי מכשיר Sonoff, אשר הוא למעשה חד פעמי רק סגור באמצעות הקשה עצמית).

הפגת מתחים ראשיים עבור כבל אספקת החשמל הושגה באמצעות בלוטת כבל M16 ניילון/פוליאמיד 6/6 לבנה התומכת בכבל OD Min/Max 5mm/10mm.

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

כדי להתאים את בלוטות הכבלים ולספק מספיק מקום להרכיב את Sonoff ואלקטרוניקה לבידוד אופטי הפשטתי את צלעות ההרכבה הפנימיות של הלוח המודפס כפי שמוצג למעלה (תמונה 2).

כל האלקטרוניקה הורכבה בצורה מאובטחת באמצעות ברגי CS ניילון מסוג M3 כדי להבטיח את הבידוד עם החלק החיצוני של המתחם. האלקטרוניקה האופטית לבידוד מותקנת עם 5 נקודות קיבוע על מנת להבטיח חוזק מכני צלילי במידה והיחידה תיפול, ובכך תמנע ממסת שנאי הבידוד לשבור את מעגל ה- veroboard.

האספקה ליחידה הושגה באמצעות כבל לבן בעל 3 ליבות מבודדות PVC סטנדרטיות בצבע בריטניה סטנדרטי כבל רב גדי (32/0.2 מ"מ רבוע) CSA 1 מ"מ. עם OD של 7.2 מ"מ המסוגל לשאת 10A.

היחידה חוברה לרשת החשמל בבריטניה (240VAC RMS) באמצעות תקע 3 פינים רגיל (BS 1363/A) שאושר. התקע התמזג ב 5A.

כל כבלי אספקת החשמל למעגל הבידוד האופטו חוברו באמצעות pheonix contact MKDSN2, 5/3-5.08 מסופי פוליאמיד בדירוג 16A ב 400V המסוגלים לשאת כבל בגודל 2.5 מ"מ (מ"ר), ובכך לספק מספיק קיבולת לשני כבלים בתוך כל עמדה.

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

הערה:

  • OD = קוטר חיצוני.
  • VAC = זרם חילופין וולט
  • RMS = ריבוע ממוצע שורש
  • CSA = שטח חתך
  • CS = שקוע נגד

שלב 4: מתאם תכנות Sonoff

מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff
מתאם תכנות Sonoff

ישנם שני היבטים שיש לקחת בחשבון בעת תכנות מחדש של Sonoff 10A באמצעות ה- Arduino IDE;

  1. הגדרת ה- IDE של Arduino לתכנת ה- ESP8266,
  2. פעולת התכנות של החומרה עצמה.

הגדרת ה- IDE של Arduino לתכנת ה- ESP8266

כדי להגדיר את Ardino IDE שלך בצע את ההוראות כאן הגדרת ה- Arduino IDE לתכנת ה- ESP8266-01

תכנות החומרה

זהו תהליך רב שלבי כמו בכל המקרים עם ה- ESP8266. כאן, כוח Sonoff מופעל על הלוח באמצעות אספקת חיצונית 3v3 DC מיוצבת חיצונית ולא מתוך אספקת החשמל. יש צורך במכשיר USB למכשיר טורי כדי לשלוח ולקבל נתונים אל ה- Sonoff וממנו. חבר TX ו- RX כפי שמוצג בתמונה 2 ו -4.

שלבי תכנות (כללי)

  1. ראשית ודא כי אין חיבור לחשמל חיצוני לסונוף,
  2. לחץ והחזק את הלחצן במכשיר Sonoff. (תמונה 1 למעלה, כפתור הבזק מחדש מסומן),
  3. החל אספקת DC 3v3 חיצונית לפין 1. (תמונה 2 למעלה),
  4. שחרר את כפתור Sonoff,
  5. כעת ניתן לתכנת את המכשיר מחדש בדרך הרגילה באמצעות ה- Arduino IDE.

כדי להקל על העניינים יצרתי את מכשיר התכנות למעלה (תמונות 3 ו -4) שהתממשק ל- Sonoff באמצעות רתמת הכבלים SK1… 3 (כמתואר בשלב זה להוראה 1.). זה איפשר תכנות קל יותר של ה- ESP8266. הוא גם סיפק אמצעי לבדיקת GPIO14 כקלט באמצעות R1 נגד נגד למעלה ולחצן S1.

שימוש בהתקן התכנות למעלה (תמונות 3 ו -4) שלבי התכנות הם,

  1. לחץ והחזק את לחצן ההבזק מחדש בסונוף,
  2. לחץ על אספקת 3v3 על ידי לחיצה לרגע על S2,
  3. שחרר את לחצן ההבזק מחדש,
  4. כעת ניתן לתכנת את המכשיר.

הערה - אזהרה

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

שלב 5: סקירת מערכת תוכנה

סקירת מערכת תוכנה
סקירת מערכת תוכנה
סקירת מערכת תוכנה
סקירת מערכת תוכנה

מכשיר בקר IoT Mains זה מכיל ברובו את אותם שישה רכיבי תוכנה מרכזיים כמו בחיישן טמפרטורה ולחות של IoT WiFi. חלק: 8 IoT, אוטומציה ביתית ומוצג בתמונה 1 למעלה, עם קצת התאמה אישית.

SPIFFS

זוהי (משודרגת ל- 4MBytes) המערכת המשולבת SPI Flash Filing המשמשת לאחסון המידע הבא (ראה תמונה 2 למעלה);

  • סמלים ודף הבית של 'תצורת בקר הראשי': מוגש על ידי מכשיר ה- IoT כאשר הוא אינו מצליח להתחבר לרשת ה- IoT WiFi שלך (בדרך כלל בשל מידע אבטחה שגוי) ומספק למשתמש אמצעי להגדרה מרחוק של בקר החשמל ללא הצורך לתכנת מחדש או להעלות תוכן SPIFFS חדש.
  • מידע אבטחה: זה מכיל את המידע המשמש בעת הפעלת מכשיר ה- IoT כדי להתחבר לרשת ה- IoT WiFi ול- MQTT Broker. מידע שנשלח באמצעות 'דף הבית של תצורת בקר הראשי' נכתב לקובץ זה ('secvals.txt').

הערה: כדי להגדיר את המכשיר בתחילה ראה כאן לפרטים מלאים על אופן השימוש ב- SPIFFS עם ה- Arduino IDE.

שרת mDNS

פונקציונליות זו מופעלת כאשר מכשיר ה- IoT לא הצליח להתחבר לרשת ה- WiFi שלך כתחנת WiFi ובמקום זאת הפך לנקודת גישה ל- WiFi בדומה לנתב WiFi ביתי. במקרה של נתב כזה בדרך כלל היית מתחבר אליו על ידי הזנת כתובת ה- IP של משהו כמו 192.168.1.1 (בדרך כלל מודפס על תווית המודבקת לתיבה) ישירות לסרגל כתובת הדפדפן שלך ולאחר מכן תקבל דף כניסה להיכנס שם המשתמש והסיסמה כדי לאפשר לך להגדיר את המכשיר. עבור ESP8266 במצב AP (מצב נקודת גישה) ההתקן כברירת מחדל לכתובת ה- IP 192.168.4.1, אולם כאשר שרת mDNS פועל, עליך להזין רק את השם הידידותי לאדם 'MAINSCON.local' בשורת כתובת האתר של הדפדפן כדי לראות את 'דף הבית של תצורת בקר הראשי'.

לקוח MQTT

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

שרת אינטרנט

כפי שהוזכר לעיל, אם מכשיר ה- IoT אינו מצליח להתחבר לרשת ה- WiFi אשר SSID, P/W וכו 'מוגדרים בקובץ מידע האבטחה המוחזק ב- SPIFFS המכשיר יהפוך לנקודת גישה. לאחר החיבור לרשת ה- WiFi המסופקת על ידי נקודת הגישה, נוכחותו של שרת אינטרנט HTTP מאפשרת לך להתחבר ישירות למכשיר ולשנות את תצורתו באמצעות דפדפן אינטרנט HTTP שמטרתו להגיש את תצורת בקר החשמל. דף הבית 'דף אינטרנט המוחזק גם ב- SPIFFS.

תחנת WiFi

פונקציונליות זו מעניקה למכשיר IoT אפשרות להתחבר לרשת WiFi ביתית באמצעות הפרמטרים בקובץ מידע האבטחה, ללא זה מכשיר ה- IoT שלך לא יוכל להירשם/לפרסם ל- MQTT Broker

נקודת גישה WiFi

היכולת להפוך לנקודת גישה ל- WiFi היא אמצעי באמצעותו מכשיר ה- IoT מאפשר לך להתחבר אליו ולבצע שינויים בתצורה באמצעות תחנת WiFi ודפדפן (כגון Safari ב- iPad של אפל). נקודת גישה זו משדרת SSID = "MAINSCON" + 6 הספרות האחרונות של כתובת ה- MAC של התקן IoT. הסיסמה לרשת סגורה זו נקראת בדמיון 'סיסמה'.

שלב 6: סקירת תוכנה

סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה
סקירת תוכנה

כדי לאסוף בהצלחה את קוד המקור הזה תזדקק לספריות הנוספות הבאות;

PubSubClient.h

  • מאת: ניק או'לירי
  • מטרה: מאפשר למכשיר לפרסם או להירשם לנושאי MQTT עם ברוקר נתון
  • מאת:

Bounce2.h

  • מאת: תומאס או פרדריקס
  • מטרה: ניתוק מתג קלט בתוכנה
  • מאת:

סקירת קוד

התוכנה עושה שימוש במכשיר המדינה כפי שמוצג בתמונה 1 למעלה (עותק מלא של המקור ניתן להלן). ישנם 5 מצבים עיקריים כדלקמן;

  • INIT

    מצב אתחול זה הוא המצב הראשון שנכנס לאחר ההפעלה

  • NOCONFIG

    מצב זה נכנס אם לאחר ההפעלה מתגלה קובץ secvals.txt לא חוקי או חסר

  • ממתין ל NW

    מצב זה חולף, נכנס בזמן שאין חיבור לרשת WiFi

  • תלוי ב- MQTT

    מצב זה חולף, נכנס לאחר חיבור לרשת WiFi ולמרות שאין קשר למתווך MQTT ברשת זו

  • פָּעִיל

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

האירועים השולטים במעברים בין מדינות מתוארים בתמונה 1 לעיל. המעברים בין מדינות כפופים גם לפרמטרים הבאים של SecVals;

  • כתובת ה- IP של ברוקר MQTT הראשונה. בצורה עשרונית מנוקדת AAA. BBB. CCC. DDD
  • נמל הברוקר MQTT השני. בצורה שלמה.
  • חיבור MQTT Broker השלישי מנסה לבצע לפני המעבר ממצב STA למצב AP. בצורה שלמה.
  • רשת ה- WiFi ה- SSID הרביעית. בטקסט חופשי.
  • סיסמא חמישית לרשת WiFi. בטקסט חופשי.

כפי שצוין לעיל אם מכשיר ה- IoT אינו מצליח להתחבר כתחנת WiFi לרשת ה- WiFi אשר SSID ו- P/W מוגדרים ב- secvals.txt המוחזק ב- SPIFFS המכשיר יהפוך לנקודת גישה. לאחר חיבור לנקודת גישה זו היא תציג את 'דף הבית של תצורת בקר הראשי' כפי שמוצג למעלה בתמונה 2 (על ידי הזנת 'MAINSCON.local' או 192.168.4.1 בשורת כתובת האתר של הדפדפנים שלך). דף הבית הזה מאפשר תצורה מחדש של בקר החשמל באמצעות דפדפן

מוסכמת שמות הנושא MQTT

המתואר בתמונה 3 לעיל הוא מוסכמת השמות המשמשת את נושאי ה- MQTT ועולה בקנה אחד עם התבנית ששימשה במדריך הקודם שלי (כאן שלב 5).

נושאי MQTT המשמשים מכשיר IoT זה

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

גישה להגדרות מרחוק כשהיא במצב ACTIVE

לאחר החיבור למתווך MQTT ניתן להגדיר מחדש מרחוק את פרמטרי האבטחה של המכשיר באמצעות פרסומי נושא MQTT. הקובץ המשויך secvals.txt חשוף לגישה לכתיבה בלבד.

איתור באגים של משתמשים

במהלך רצף האתחול ה- LED של מכשיר Sonoff נותן את משוב הבאגים הבא, אם כי יש לציין, כדי לצפות בזה יהיה עליך להסיר את המכסה ולחשוף את המעגל ולכן מומלץ לעשות זאת תוך פיתוח הקוד והפעלת המכשיר. עם אספקת 3v3;

  • 1 הבזק קצר: אין קובץ Config הממוקם ב- SPIFFS (secvals.txt),
  • 2 הבזקים קצרים: מכשיר IoT מנסה להתחבר לרשת WiFi,
  • תאורה מתמשכת: מכשיר IoT Sonoff מנסה להתחבר ל- MQTT Broker,
  • כבוי: המכשיר פעיל ומחובר ל- MQTT Broker.

הערה 1: 'דף הבית של תצורת בקר הראשי' אינו משתמש בשקעים מאובטחים ולכן הוא מסתמך על הרשת שלך מאובטחת.

הערה 2: על מנת לתכנת התקני IoT מרובים מחרוזת MQTT תדרוש עריכה לפני ההורדה לכל מכשיר. הסיבה לכך היא שמספר הזיהוי של בקר החשמל הוטמע במחרוזת הנושאים MQTT. כְּלוֹמַר. בתוכנה שפורסמה בחרתי בערך 100: 'WFD/MainsCont/100/Relay/Command/1' ובשני המכשירים שלי הם ממוספרים 1 & 2 בהתאמה.

  • 'WFD/MainsCont/1/ממסר/פקודה/1'
  • 'WFD/MainsCont/2/ממסר/פקודה/1'

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

שלב 7: תצורה של OpenHAB

תצורה של OpenHAB
תצורה של OpenHAB
תצורה של OpenHAB
תצורה של OpenHAB
תצורה של OpenHAB
תצורה של OpenHAB

למטרות בדיקה החלטתי לפרוס באופן מושגי את שני בקרי החשמל ב'סלון 'של ביתי. ניתן להגיע לדף OpenHAB זה באמצעות דף האתר הראשי כמו בתמונה 1.

שיניתי את התצורה של OpenHAB.sitemap שניתנה במדריך הקודם שלי (כאן) והוספתי ערכים בודדים עבור 'בקר החשמל 1' ו- 'בקר החשמל 2' (תמונה 2 למעלה). הוספתי גם ערכים (סלון Mains Cont. 1 & 2) להצגת מגמות RSSI הנמדדות במקלט של שני מכשירי ה- IoT החדשים (תמונה 3).

לבסוף, הוספתי ערכים לקבצי.rules ו-.items כדי לאפשר סנכרון מצב דינמי של Sonoff ועדכון/הנפשה של הניסיון הגרוע שלי בגרפיקת מתג (המתג נסגר כאשר הוא פעיל ונפתח כאשר הוא אינו פעיל). תמונה 2 נותנת דוגמה של MC1 פעיל ו- MC2 לא פעיל.

הערה 1: אם אינך בטוח כיצד להשתמש ב- OpenHAB ראה כאן 'הגדרה ותצורה של OpenHAB. חלק 6: IoT, אוטומציה ביתית '

הערה 2: עותק של מפת האתר, כללי ופריטים ששונתה, סמלים וכו 'ניתן בקובץ ה- zip למטה.

הערה 3: RSSI = אינדיקציה לחוזק אות מתקבל. זהו מדד עד כמה מכשיר ה- IoT יכול לראות את רשת ה- WiFi שלך.

שלב 8: בדיקת התקן IoT שלך

Image
Image
בדיקת התקן IoT שלך
בדיקת התקן IoT שלך

כפי שמתואר בחיישן הטמפרטורה והלחות של IoT WiFi. חלק: 8 IoT, אוטומציה ביתית שלב 7, בדיקה ראשונית של מכשיר ה- IoT בוצעה באמצעות חיבור MQTT באמצעות מרגל MQTT (כמו בתרשים בלוק המערכת בתמונה 1 לעיל), ניטור פלט לד, כניסות כפתורים (גם כפתור ההבזק מחדש של Sonoff וגם הכפתור החיצוני הלבן) ותעבור באגים בממשק הטורי. זה איפשר לי לממש את כל הנושאים הרשומים הרשומים ולבדוק את התגובות שפורסמו. למרות ששוב, הדבר הועבר באופן ידני והיה זמן רב, אם כי הוא איפשר סיקור של 100% של הודעות/פרסומי נושאים.

מאחר שמכשיר מדינת התוכנה הראשי (שלב 6 לעיל) עבר בירושה ממדריך ההוראה הקודם (חלק: 8) מלבד בדיקת שפיות התוכנה יכולה להתחבר ל- WiFi N/W ו- MQTT Broker, ההנחה הייתה שהיא פועלת כראוי.

לאחר מכן הושלמה בדיקת רמת המערכת המלאה באמצעות בקר החשמל ותשתית IoT (שוב תמונה 1) הפעם באמצעות OpenHAB לשליטה באינטראקציה עם התקן IoT. ניתן לראות את חומרת ה- IoT ואת עומס הבמה בתמונה 2 למעלה.

הסרטון נותן פרטים מלאים על בדיקות מערכת ומראה בבירור את הסנכרון הנשמר בין מכשירי OpenHAB (PC/Chrome ו- iPad/OpenHAB APP) בזמן אמת. הוא גם מציג הודעות חיות לבקרי החשמל באמצעות MQTTSpy (ראה כאן לפרטים נוספים הגדרת מתווך MQTT. חלק 2: IoT, אוטומציה ביתית) ויומן מערכת זנב OpenHAB משרת פטל פאי על חיבור PuTTY SSH (ראה כאן להרחבה נוספת פרטים הגדרה ותצורה של OpenHAB. חלק 6: IoT, אוטומציה ביתית).

הערה: תעבורה של ניפוי באגים נערכה לגרסת התוכנה הסופית.

שלב 9: מסקנה

כללי

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

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

מכשיר Sonoff 10A

רשמתי להלן מה שהרגשתי שהם יתרונות וחסרונות סבירים של מכשיר Sonoff

יתרונות

  • זוֹל.
  • תמיכה קהילתית טובה.
  • יכול לתכנת מחדש באמצעות Arduino IDE.

חסרונות

  • מארז דקיק.
  • I/O מינימלי (הוצא למחברים שמיש).
  • הוא נהיה חם במצב שלו שקט.
  • יש לה רק 1MByte של פלאש SPI על הלוח.
  • האם תוכנת PITA לתכנת מחדש לאחר חיווט במקומה.
  • כאשר שילוב קוד חדש בבדיקת Sonoff סגירת הממסר הייתה בעייתית בהתחשב בממסר הוא 5v וההיצע המופעל על Sonoff לתכנות הוא 3v3. הפעלת ממסר ניכרת רק לאוזן.

דאגות

  • זה לא מחליף את הקו הנייטרלי. משתמש בממסר SPST.
  • אינו מתמזג.
  • הקלה על מתיחת כבלים גרועה.
  • ה- PCB אינו מאובטח בתוך מארז Sonoff.

הערה על תכנון הנדסי

בהתחשב בהתקן זה של IoT להחלפת רשת החשמל בבריטניה (240VAC RMS) עקבתי אחר שיטות תכנון מכניות וחשמליות טובות והבטחתי שהסיכון להלם יהיה ממוזער על ידי חשיפת חומרים מוליכים חשמלית על פני ציון כל הרכיבים, דירוג הדירוג עומס פלט, החלת הגנת נתיכים הן על בקר החשמל והן על תת-מערכת מצומדת אוטו, הכללת הארקה טובה ללא הפרעה ושימוש בבידוד אופטי/גלווני.

שיפור אפשרי

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

הערה אחרונה

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

  • כבל הארכה של מדען מדען
  • משוב קהילתי 03 - חששות בנושא בטיחות חשמל!

שלב 10: שימוש בהפניות

השתמשתי במקורות הבאים כדי לחבר את המדריך הזה יחד;

PubSubClient.h

  • מאת: ניק או'לירי
  • מטרה: מאפשר למכשיר לפרסם או להירשם לנושאי MQTT עם ברוקר נתון
  • מאת:

Bounce2.h

  • מאת: תומאס או פרדריקס
  • מטרה: ניתוק מתג קלט בתוכנה
  • מאת:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

שדרוג פלאש Sonoff

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

תרשים מעגל Sonoff

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

מודול UART USB (aka. FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e: g: QVUAAOSw71BXP92B

פרסי דרווין (הקלה קלה)

https://www.darwinawards.com/

גיליון נתונים TIL111 Opto-Isolator

מוּמלָץ: