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

טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!): 3 שלבים
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!): 3 שלבים

וִידֵאוֹ: טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!): 3 שלבים

וִידֵאוֹ: טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!): 3 שלבים
וִידֵאוֹ: Honda HR-V vs Honda CR-V | 2022 car comparison side by side 2024, נוֹבֶמבֶּר
Anonim
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)
טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!)

HRV - אלחוטי ל- OpenHAB

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

מבוא

להלן מתווה כיצד לבנות ESP8266 המתחבר למערכת HRV ושולח טמפרטורות גג ובית, טמפרטורת לוח הבקרה ומהירות מאוורר באמצעות הודעות MQTT ל- OpenHAB. זה נועד לעבוד עם לוח ESP8266-01 (אם כי אמור לעבוד עם כל גרסת ESP8266 3.3V) אם יש לך מערכת דומה מסוג HRV מספק ספק חלופי, יהיה עליך לקבוע אם הנתונים נשלחים כ- TTL סידורי ואם כן, באיזה מבנה הנתונים נשלחים.

OpenHAB ומוסקיטו

קוד ESP8266 נכתב במיוחד לעבודה עם OpenHAB (תוכנת אוטומציה ביתית בקוד פתוח) וברוקר MQTT כגון Mosquitto (פרוטוקול מנוי/פרסום מסוג העברת הודעות קל משקל ונהדר לתקשורת בין מכשירים) אל תתנו לשמות או ראשי תיבות מפחידים אותך, הם ממש פשוטים לשימוש ברגע שאתה לומד איך הם עובדים. אני משתמש ב- OpenHAB במחשב NTC C. H. I. P (מחשב 9 $) אולם אנשים רבים משתמשים ב- Raspberry Pi או דומה לו. הדרכה זו מניחה שהטמעת את OpenHAB (אם אתה זקוק לעזרה בהגדרת OpenHAB, עקוב אחר מאמר מצוין זה מאתר האינטרנט makeuseof) עליך גם להוריד ולהתקין את Mosquitto (מתווך MQTT) וכריכת OpenHAB קשורה. אתה יכול להתקין את זה במקום אחר ברשת שלך, אולם רוב האנשים פשוט מתקינים אותו על אותה מחשב כמו OpenHAB כדי לשמור על הפשטות.

כדי להתקין את Mosquitto, עקוב אחר קישור זה ולאחר מכן בחר את סוג המכשיר שבו אתה משתמש ופעל לפי ההנחיות. מכיוון ש- C. H. I. P מפעיל את Debian (Jessie), תוכל לעקוב אחר ההוראות Raspberry Pi אם אתה משתמש ב- C. H. I. P למכשיר האוטומציה הביתי שלך (שים לב, הכי טוב הוא להגדיר מחדש את ה- CHIP לאתחול מה- CLI. יש כאן הוראות לכך)

לאחר הפעלת OpenHAB ומוסקיטו, עליך להכין את IDE Arduino ל- ESP8266 ולקוד. ראשית, עליך להוסיף את ספריית "PubSubClient". ב- IDE Arduino, מהתפריט עבור אל סקיצה, כלול ספרייה, נהל ספריות בתיבת החיפוש של המסנן, הקלד PubSubClient ולאחר מכן הדגש את תוצאת החיפוש ולחץ כדי להתקין (בזמן הכתיבה, הגרסה האחרונה היא 2.6.0) תוכל צריך גם להוסיף את לוח ESP8266 ל- Arduino IDE, שניתן לעשות זאת על ידי ביצוע ההנחיות כאן

מה זה נותן לי?

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

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

בנוסף, יצרתי תצוגת OpenHAB המציגה השוואה בין הטמפרטורה החיצונית (המסופקת על ידי תוסף מחייב מזג האוויר, במקרה שלי באמצעות Wunderground) לעומת טמפרטורת הגג והבית על ידי לחיצה על האפשרות 'שליטה' (התמונה מציגה את הגרף עם הבית, הגג והטמפרטורה החיצונית מתואמים). אני מתכוון להשתמש בנתונים אלה בכללים להפעלת מכשירי חימום כנדרש. כל שעליך לעשות הוא להוסיף את פריט מזג האוויר לכתובת האתר של התמונה שלך בקובץ מפת האתר ולכלול אותו על אותו הגרף (למשל: … פריטים = houseTemp, roofTemp, weatherTemp …)

שלב 1: חלקים דרושים / הרכבה

דרושים חלקים / הרכבה
דרושים חלקים / הרכבה
דרושים חלקים / הרכבה
דרושים חלקים / הרכבה
דרושים חלקים / הרכבה
דרושים חלקים / הרכבה

תזדקק לחלקים הבאים

  • מפצל RJ11 (זה מפצל את האות מהבקר בגג, ללוח הבקרה ול- ESP8266)
  • קצת כבל סרט ותקע RJ11 (להפעלת חוטים ממפצל ל- ESP8266)
  • ESP8266-01 (גרסאות 3.3V אחרות אמורות לעבוד)
  • ממיר רמה לוגית TTL (לשינוי נתונים מ- 5V -> 3.3V)
  • ווסת מתח AMS1117 3.3V (או דומה, לשינוי המתח מ- HRV 5V -> 3.3V לחשמל ESP8266)
  • דיודת schottky 1N5817 (מסיבה כלשהי זה עזר להפסיק את איפוס לוח הבקרה של HRV בעת הפעלת ESP)
  • נגד 10K אוהם (נגד Pullup בין 3.3 ווסת מתח ל- ESP CH_PD)
  • קבל 10V 10uF (או דומה, כדי להחליק ולייצב כוח נכנס מ HRV)
  • קבל 10V 1uF (או דומה, כדי להחליק ולייצב את הכוח היוצא ל- ESP)
  • כפתור הזזה אופציונלי לתכנת ה- ESP (אחרת, עליך למשוך את GPIO0 ל- GND באופן ידני כדי לתכנת)
  • מתאם FTDI (לתכנות ה- ESP, ממיר USB לסדרה)

להרכיב לפי סכמטי

תמונת לוח הלחם מראה כיצד יש להרכיב את החלקים. שים לב שיש 6 סיכות שיורדות בכבל הסרט מיחידת בקר HRV בתקרה:

סיכות 1 ו -6 הן 5V VCC

סיכות 2 ו -5 הן GND

סיכות 3 ו -4 הן נתונים.

אתה רק צריך להשתמש בסיכות 1, 2, 3 ו -6 (1 ו -6 VCC כוחות ESP8266 והצד הגבוה של ממיר ההיגיון TTL, 2 הוא נקודה משותפת ו- 3 מיועד לקריאת נתונים סדרתיים של TTL)

המפצל שאתה צריך יהיה רק מפצל RJ11, רק וודא שמפצל שבו הפינים ישרים (למשל: סיכה 1 עוברת לסיכה 1, סיכה 2 לסיכה 2 וכן הלאה) שים לב שהסיכות הנשיות הנוספות (כמו המוצגים בתמונות) מיועדים לחיבור FTDI לתכנות מחדש של ה- ESP מאוחר יותר, והמתג המוצג מכניס אותו למצב "תכנות". אלה אופציונליים, אך מומלצים (למשל: אם תשנה את סיסמת ה- WiFi שלך מכיוון ש- AP APP והסיסמה מתוכנתים בקוד, שתצטרך להעלות לאחר בניית ה- ESP8266 שלך)

שלב 2: העלאת קוד ובדיקה

העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה
העלאת קוד ובדיקה

שינויי קוד

קישור הורדה חלופי לקוד Arduino כאן

פתח ב- Arduino IDE, ודא שלוח ה- ESP מותקן כמו גם PubSubClient ובחרת בלוח ESP8266 (כלים, לוח, לוח כללי ESP8266) ערוך את הקוד ושנה את שם ה- AP והסיסמה של WiFi וכתובת ה- IP של מתווך MQTT שלך (אלה הדברים היחידים שאתה צריך לשנות) כפי שמוצג להלן. לחץ על הלחצן 'אמת' כדי לוודא שהוא מתאסף, ואז וודא שנבחרה יציאת ה- COM הנכונה (כלים, יציאה) והעלה את הקוד ל- ESP8266 שלך. יש הרבה מאמרים על איך לעשות את זה, אני לא אמצא את הגלגל מחדש כאן.

// וויי - פיי

const char* ssid = "your_wifi_ssid_here"; const char* password = "your_wifi_password_here"; // MQTT Broker IPAddress MQTT_SERVER (192, 168, 222, 254);

בדיקת MQTT

לבדיקה אתה יכול להשאיר את מתאם ה- FTDI שלך מחובר ולפתוח את הצג הסידורי ב- Arduino IDE, אתה אמור לראות הודעות שמדפיסות את פרטי הטמפרטורה במסוף. אם אתה צריך לפתור בעיות של הודעות MQTT נכנסות מה- ESP8266 לברוקר MQTT שלך, אז בשרת Mosquitto הפעל אחת מהפקודות הבאות כדי להירשם להודעות הנכנסות:

mosquitto_sub -d -t openhab/hrv/status

אתה אמור לראות הודעות PUBLISH נכנסות נכנסות מה- ESP8266 כל 30 שניות בערך עם המספר "1" (כלומר "אני חי") אם אתה רואה "0" קבוע (או כלום בכלל) אז אין תקשורת. ברגע שאתה רואה את המספר 1 נכנס, זה אומר ש- ESP8266 מתקשר עם מתווך MQTT (חפש "MQTT צוואה אחרונה וברית" למידע נוסף על אופן הפעולה, או ראה ערך בלוג טוב באמת זה)

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

mosquitto_sub -d -t openhab/hrv/rooftemp

mosquitto_sub -d -t openhab/hrv/housetemp

mosquitto_sub -d -t openhab/hrv/controltemp

mosquitto_sub -d -t openhab/hrv/fanspeed

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

כאשר אתה מסתיים להלחם את זה, לוח PCB בגודל 3 ס"מ על 7 ס"מ מתאים היטב לקופסת ההדחה מאחורי לוח הבקרה של HRV. אני ממליץ לעשות זאת רק אם מדובר בקופסת שטיפה מפלסטיק שכן קופסת מתכת עלולה להפריע לאותות Wifi או אולי לקצר חיבורים בלוח הלוח. לחלופין, תוכל להדפיס מארז תלת -ממדי מפלסטיק לתליית הלוח.

שלב 3: שינויי OpenHAB

תצורה של OpenHAB

השינויים הנדרשים ב- OpenHAB הם כדלקמן:

קובץ 'פריטים':

/* HRVNumber hrvStatus "Status HRV [MAP (status.map):%d]" (gHRV) {mqtt = "<[mqttbroker: openhab/hrv/status: state: default]"} מספר בית טמפ "בית [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/housetemp: state: default] "} מספר houseTemp_Chart_Period" תקופת תרשים "מספר roofTemp" גג [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/rooftemp: state: default] "} מספר roofTemp_Chart_Period" תקופת תרשים "Control control temp" Control [%.1f C] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/controltemp: state: default] "} String fanSpeed" Speed Fan [%s] "(gHRV) {mqtt =" <[mqttbroker: openhab/hrv/fanspeed: state: default] "}*/

קובץ 'מפת אתר':

תווית מסגרת = "טמפרטורת HRV" {פריט טקסט = roofTemp {מסגרת {Switch item = roofTemp_Chart_Period label = "תקופה" מיפויים = [0 = "שעה", 1 = "יום", 2 = "שבוע"] כתובת אתר תמונה = "https:// localhost: 8080/rrdchart-p.webp

כלולים סמלים נוספים עבור OpenHAB (קליק ימני ושמור תמונות)

שמור קבצים אלה בתיקיית.. / OpenHAB Home / webapps / images בשרת OpenHAB שלך

מוּמלָץ: