תוכן עניינים:
וִידֵאוֹ: טמפרטורת HRV ל- OpenHAB דרך ESP8266 (דוגמה קוד סידורי!): 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:18
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 שלך
מוּמלָץ:
טמפרטורת החדר דרך האינטרנט עם BLYNK ESP8266 ו- DHT11: 5 שלבים (עם תמונות)
טמפרטורת החדר דרך האינטרנט עם BLYNK ESP8266 & DHT11: היי חבר'ה, היום נכין מוניטור טמפרטורת חדר, שבו נוכל להשתמש כדי לפקח על החדר שלנו מכל מקום בעולם ולשם כך נשתמש בתבנית BLYNK IoT ואנו נשתמש DHT11 כדי לקרוא את טמפרטורת החדר נשתמש ב- ESP8266 כדי להגיע
דוגמה מודרנית וחדשה וקלה יותר ללוקר עם לוח מקשים ארדואינו מטריקס 4x4: 3 שלבים
דוגמא מודרנית וחדשה וקלה יותר ללוקר עם לוח מקשים Arduino Matrix 4x4: דוגמה נוספת לשימוש במטריצת לוח מקשים LCD 4x4 עם מעגל I2C
ממציא אפליקציות 2 - עצות קדמיות נקיות (+4 דוגמה): 6 שלבים
ממציא אפליקציות 2 - עצות קדמיות נקיות (+4 דוגמה): אנו הולכים לראות כיצד נוכל לגרום לאפליקציה שלכם ב- AI2 להיראות אסתטית :) אין קוד הפעם, רק עצות לאפליקציה חלקה כמו הדוגמה 4 למעלה
כיצד להעלות תוכנית או קוד לתוך Arduino Pro Mini באמצעות כבל ממיר סידורי CH340 UART: 4 שלבים
כיצד להעלות תכנית או קוד לתוך Arduino Pro Mini באמצעות כבל ממיר סידורי CH340 UART: כבלי ה- USB TTL הטורליים הינם מגוון של כבלי ממיר USB לטורי המספקים קישוריות בין USB לממשקי UART טורי. קיימים מגוון כבלים המציעים קישוריות של 5 וולט, 3.3 וולט או רמות אות שצוין על ידי המשתמש עם
קישור נתונים סידורי RF {דרך USB}: שלושה שלבים
קישור נתונים סידורי RF {דרך USB}: TECGRAF DOC כיצד להעביר נתונים באמצעות מודול RF זול באמצעות USB. המעגל מקבל אנרגיה מיציאת ה- USB (עשוי לספק 100mA ועם קצת תכנות אתה יכול להגיע ל 500mA) רשימת חומרים: 1 - זוג אחד של מודול RF (כמו Laipac RLP/TL