תוכן עניינים:
- שלב 1: תיאוריה
- שלב 2: עיצוב
- שלב 3: פרטים טכניים: ה- API
- שלב 4: פרטים טכניים: חומרה
- שלב 5: פרטים טכניים: חיבור הנקודות | בית אוטומטי
- שלב 6: סיכום
וִידֵאוֹ: אורות הרמדאן - אוטומציה ביתית IOT: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
כשהרמדאן דופק בדלת, ערים ברחבי העולם מאירות ומתכוננות לחודש הצום. אורות תלויים בכיכרות ציבוריות וברחובות העיר כמו גם על קירות חיצוניים של בתים המוארים במהלך הלילות עד שהשמש זורחת בבוקר.
בפרויקט זה, אני רוצה לשתף את התרומה שלי, שבה אני אוטומטית את הדלקת הקישוטים האלה על סמך זמני אדהאן ומוסיפה זאת למערכת הבית החכם שלי.
שלב 1: תיאוריה
ביסודו של דבר, קל ויישום יותר להפוך את התאורה לאוטומטית על סמך עוצמת השמש, למשל. עם זאת, הייתי רוצה שתהיה לו רוח החודש הקדוש כלומר, האורות יידלקו כל עוד אנשים רשאים לאכול במהלך חודש הצום. בפרט, האורות דולקים החל ממג'ריב אדהאן עד פאג'ר אדהאן בכל יום ללא כל אינטראקציה אנושית.
שלב 2: עיצוב
להלן אפרט את הדרישות/היכולות של פרויקט זה:
- המערכת אמורה להיות מסוגלת לעבד אוטומטית בעת האתחול.
- המערכת צריכה להיות מסוגלת לבצע מעת לעת את אלגוריתם ההחלטה (ON/OFF).
- המערכת צריכה להיות מסוגלת לקרוא ל- API על בסיס יומי.
- המערכת אמורה להיות מסוגלת להתאושש מהפעלה מחדש לא מתוכננת.
- המערכת צריכה לבצע את אלגוריתם ההחלטה (ON/OFF) עם קבלת נתונים באופן מיידי.
- המערכת צריכה לספק מתג להפעלת מצב הטייס האוטומטי (מצב אוטומטי).
- המערכת צריכה לספק מתג להפעלה/כיבוי ידני של האורות.
- הפעלת המתג הידני צריכה להגדיר את המצב הידני למצב כבוי.
- כאשר מצב אוטומטי מופעל, התוצאה של אלגוריתם ההחלטות צריכה לבוא לידי ביטוי במתג הפעלה/כיבוי ידני.
שלב 3: פרטים טכניים: ה- API
כדי להפוך את התאוריה ליישומית, יש צורך לדעת את זמן אדהאן על בסיס יומיומי מאז המשתנה שלה ולפעול על פיה כדי להדליק/לכבות את האורות/הקישוטים.
לשם כך, החלטתי להשתמש בממשק API מבוסס מיקום כדי לשרת את הנתונים (זמן לאדהאן)
muslimsalat.com/api/#location
- API זה מספק מגוון אפשרויות ופרמטרי תצורה המתוארים בקישור התיעוד למעלה.
- מומלץ להשתמש במפתח API_key משלך שהוא בחינם עם ההרשמה.
- בעיצוב שלי, אני מעוניין בלוח זמנים יומי.
- הזמן המוחזר הוא בפורמט 12 שעות (AM/PM).
- מבחינת המיקום, רציתי אם ה- API הזה יכול לספק אפשרויות מדויקות יותר למיקומים כמו מערכת קואורדינטות גיאוגרפיות (קו הרוחב והאורך). באופן זה ניתן לספק ל- API זה שם עיר למשל וזה מספיק ברוב המקרים. לרוע המזל, התוצאות של העיר הספציפית שלי היו מוטות למדי במספר בדיקות והיו הבדלים של כמה דקות בהשוואת זמן אדהאן בין תוצאות API לזמן האמיתי של אדהאן בעיר שלי. מצד שני, התוצאות התאימו באופן מושלם כאשר סיפקתי עיר צמודה מצפון ואני דבקתי בה!
- כתובת ה- URL שבה אני משתמש היא: https://muslimsalat.com/.json? Key =
שלב 4: פרטים טכניים: חומרה
לשם הפשטות, אני משאיר את החומרה מחוץ לתהליך הסנכרון עם ה- API וחישוב הזמן על ידי האצלת פעולות אלה למערכת האוטומציה הביתית שלי. זה ייתן לי יותר שליטה אם אני רוצה לשנות את מקור ה- API ואת אלגוריתם החישוב.
אחרי שאמרתי את זה, השתמשתי ב- ESP8266 (NodeMCU) כדי להתחבר לרשת המקומית באמצעות WIFI ומודול ממסר כמפעיל. ה- NodeMCU ישתמש בפרוטוקול MQTT ויקשיב לנושא ספציפי כדי לקבל פקודות להפעלה/כיבוי של הממסר. פשוטו כמשמעו!
שלב 5: פרטים טכניים: חיבור הנקודות | בית אוטומטי
ה- RaspberryPi שלי מחזיק מופע מצוין המסוגל להתמודד עם כל מה שאני צריך לפרויקט זה. יש לו גם שרת MQTT המותקן לפרסום ההודעות שלנו.
בהתחלה חשבתי שאני יכול להביא את נתוני ה- API על בסיס יומי בשעה 9:00 ולחלץ הן את פאג'ר והן את מהריב אדהאן ולהמשיך להשוות את הזמן הנוכחי עם המשתנים האלה כלומר:
כל 30 שניות:
אם: מהגריב <עכשיו <פאג'ר נכון | הדלק את האורות | פרסם הודעת ON לנושא MQTT שצוין אחרת: כבה
לצורך השוואת הזמן, אני ממיר שעות המסופקות על ידי ה- API מ- h: mm (AM/PM) לתבנית תאריך מלאה על ידי הגדרת נתח התאריך לתאריך זניח בהיסטוריה, למשל (1/1/1970) מכיוון שאנו משווים את השעה רק לשעה הנוכחית (נתח התאריך מומר גם).
למרבה הצער, זה יעבוד רק במקרים פשוטים. נניח את המקרה כאשר החשמל יורד או שהמערכת מופעלת מחדש מסיבה לא מתוכננת. אם מקרה זה מתרחש לפני השעה 12:00, אנו עדיין נמצאים בצד הבטוח, אך לאחר השעה 12:00 זה לא יכשל את האלגוריתם הפשוט שלנו.
כדי לתת דוגמא, נזמין את מגריב אדהאן בשעה 19:30 ופאג'ר בשעה 4:10 בבוקר. כאשר המערכת אתחלה היא תשלח בקשה חדשה לאחזר את הנתונים שהוזכרו קודם לכן. אם השעה כעת היא 1:45 בבוקר אנו מצפים שהאלגוריתם שלנו יחזור לאמת, אך למעשה זה לא יקרה מכיוון ש -1: 45 בבוקר הוא פחות מפאג'ר (4:10 בבוקר) אך הוא אינו גדול מזה של מגריב (19:30). הסיבה לכך היא שאנו מאחדים את התאריך בין כל המשתנים. להלן הגרסה הסופית של האלגוריתם (עד כה):
כל 30 שניות:
if ((magrib.getHours ()> = 12 && fajr.getHours () <= 12) || fajr <maghrib) {fajr.setDate (fajr.getDate ()+1); // לטפל בימים המתפרסים endTime if (now.getHours () <= 12) {now.setDate (now.getDate ()+1); // לטפל בימים ההם currentTime}} // להלן בלוק הקוד הקודם אם: Mahgrib <NOW <Fajr true | הדלק את האורות | פרסם הודעת ON לנושא MQTT שצוין אחרת: false | לכבות
הזרימה המלאה של התהליך מובא בתמונה למעלה.
מבחינת ממשק משתמש, הוספתי 2 מתגים לממשק/ממשק:
- מתג להפעלת תהליך זה אוטומטי או ידני.
- מתג להפעלה/כיבוי של האורות באופן ידני.
שלב 6: סיכום
הזמן טס לעולם לא להיזכר. ביצוע פרויקטים פשוטים של יום אחד מאפשר לך לנשום בנתיב המהיר הזה ולעזור לך להחיות את כישוריך הרכים לאורך זמן.
ניסיתי בפרויקט הזה כמה שיותר לשמור אותו פשוט וניתן לשימוש חוזר ברחבי העולם.
אנא הצביע עבור ההנחיה הזו אם אתה חושב שהפרויקט הזה ראוי.
חג רמדאן שמח!
מוּמלָץ:
שכבת חיישן IOT אלחוטית חדשה למערכת ניטור סביבה ביתית: 5 שלבים (עם תמונות)
שכבת חיישן IOT אלחוטית חדשה למערכת ניטור סביבה ביתית: הוראה זו מתארת שכבת חיישן IOT אלחוטית בעלות נמוכה יותר המונעת על ידי סוללה עבור מערכת הניטור הסביבתית הביתית הקודמת שלי: LoRa IOT. אם עדיין לא צפיתם בזה קודם להוראה, אני ממליץ לקרוא את המבוא
טיימר חכם IoT ESP8266-01 לאוטומציה ביתית: 9 שלבים (עם תמונות)
טיימר חכם ESP8266-01 IoT לאוטומציה ביתית: UPDATES30/09/2018: הקושחה עודכנה לגרסה 1.09. עכשיו עם תמיכת Sonoff בסיסית 01/10/2018: גירסת גירסת 1.10 של קושחה הזמינה לבדיקה ב- ESP8266-01 עם בעיות, כשהמילות המפתח החדשות הן Internet Of Things (IoT) ואוטומציה ביתית, החלטתי
אורות חצר אינטראקטיביים, אורות שביל: 3 שלבים
אורות חצר אינטראקטיביים, אורות שביל: רציתי לבנות איזו אורות חצר אינטראקטיביים לחצר האחורית שלי. הרעיון היה שכאשר מישהו ילך בדרך אחת זה יניע אנימציה בכיוון שבו אתה הולך. התחלתי עם אורות שמש $ 1.00 דולר ג'נרל
מנורת IoT DIY לאוטומציה ביתית -- הדרכה ESP8266: 13 שלבים (עם תמונות)
מנורת IoT DIY לאוטומציה ביתית || מדריך ESP8266: במדריך זה נכין מנורה חכמה המחוברת לאינטרנט. זה ייכנס לעומק האינטרנט של הדברים ויפתח עולם של אוטומציה ביתית! המנורה מחוברת ל- WiFi ובנויה לפרוטוקול הודעות פתוח. זה אומר שאתה יכול לבחור
אורות חג המולד עשויים מוזיקה - אורות בית כוריאוגרפים: 15 שלבים (עם תמונות)
אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים: אורות חג המולד DIY למוזיקה - אורות בית כוריאוגרפים זה לא עשה זאת בעצמך מתחיל. תזדקק להבנה מושכלת של אלקטרוניקה, מעגל, תכנות בסיסי וחכמה כללית בנושא בטיחות חשמל. DIY זה מיועד לאדם מנוסה ולכן