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

תחנת מזג אוויר ESP32 מופעלת על ידי שמש: 9 שלבים
תחנת מזג אוויר ESP32 מופעלת על ידי שמש: 9 שלבים

וִידֵאוֹ: תחנת מזג אוויר ESP32 מופעלת על ידי שמש: 9 שלבים

וִידֵאוֹ: תחנת מזג אוויר ESP32 מופעלת על ידי שמש: 9 שלבים
וִידֵאוֹ: Internet weather station. ESP32-2432s024 2024, יוני
Anonim
Image
Image
תחנת מזג אוויר ESP32 מופעלת באמצעות סולארית
תחנת מזג אוויר ESP32 מופעלת באמצעות סולארית
תחנת מזג אוויר ESP32 מופעלת באמצעות סולארית
תחנת מזג אוויר ESP32 מופעלת באמצעות סולארית

במדריך זה אנו הולכים לבנות פרויקט תחנת מזג אוויר מופעל WiFi.

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

  • הצג את התנאים הנוכחיים, הזמן, הטמפרטורה, הלחות, הלחץ
  • הצג תחזית לימים הקרובים
  • עדכון באוויר
  • אתר אינטרנט מובנה לתצורה ולייצוג נתונים
  • העלה נתונים לענן לסטטיסטיקות היסטוריות
  • משולב עם Aple Home Kit או MQTT
  • Accu ללא תנאי שימוש עם טעינה אפשרית או חיבור לפאנל סולארי

אני לא יכול להוסיף יותר ולא יותר דמיון מה עוד צריך או יכול להיות

שלב 1: חלקים שנדרשים

חלקים שנדרשים
חלקים שנדרשים
חלקים שנדרשים
חלקים שנדרשים
חלקים שנדרשים
חלקים שנדרשים
  • ESP32 (השתמשתי במודול dev)
  • 2.8 אינץ '240x320 TFT LCD SPI ILI9341
  • מארז פלסטיק
  • 3 x 18650 Accu
  • חיישן מזג אוויר BME280 למדידת טמפרטורה, לחות ולחץ
  • מודול מטען ליתיום USB
  • שלב DC-DC UP18650
  • מחזיק סוללות (3 יח ')
  • גלאי תנועה HC-SR505
  • נגד אום 220
  • נגדי 2x10 kOm
  • ניתן להשתמש בטרנזיסטור TIP120 NPN (דרלינגטון) בכל תואם אחר
  • כפתור חוטים, מתג, לוח הלחמה….

שלב 2: חיווט והרכבה

חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה
חיווט והרכבה

השלב הראשון הוא הרכבת סמכויות התחנה.

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

השלב השני הוא הרכבת חלק הבקרים.

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

השתמשתי בלוח לחם למטרה זו בשלבים הבאים

  • הלחמה לוח ESP32 dev
  • מגן הלחמה לשמירה על תצוגת TFT
  • הלחמה רכיבים אלקטרוניים אחרים: BME280, נגדים, כפתורים
  • חיווט הלחמה בין רכיבים על פי תרשים

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

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

השלב הבא הוא:

  • חיווט הלחמה למקור כוח
  • חיווט הלחמה למצב מתח הסוללה
  • גלאי תנועה והלחמה

צעד אחרון:

  • הגדרת ממיר DC-DC על ידי הפעלת מתח יציאה 5v
  • חבר שני חלקים של בקר התחנה לחשמל: חוטי חשמל וקריאת מתח

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

שלב 3: העלאת קושחה ל- ESP32

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

אנא עיין בדף github ESPHomeController. הוא מכיל הוראות מלאות כיצד להרכיב ולהגדיר.

! אם אינך מכיר אוסף וארדואינו בדוק שלב העלאת קושחה מוכנה

ברגע שאתה מעלה קושחה בפעם הראשונה ה- ESP32 יתחיל במצב תצורה (מצב נקודת גישה)

אתה צריך להגדיר אותם. לשם כך פתח בכל רשימת מכשירים של WiFi זמין. מצא את HomeController והתחבר אליו. הפורטל Captive צריך להתחיל באופן אוטומטי. אם לא הזן את כתובת האתר של הדפדפן שלך: 192.168.4.1 ותראה מסך תצורה

עקוב אחר ההוראות והגדר את אישורי ה- WiFi לרשת ה- WiFi שלך.

ה- ESP יופעל מחדש לאחר מכן כלקוח WiFi ויתחבר ל- Wifi שלך.

כאשר החיבור של sson firts קורה, הוא יעלה אוטומטית את מערכת הקבצים של Spiffs ויוריד את הקבצים הנדרשים לפורטל האינטרנט:

  • index.html
  • filebrowse.html
  • js/bundle.min.js.gz

ההורדה מתבצעת מהתיקייה

כעת תוכל לראות תוכן קבצים באמצעות דפדפן אינטרנט. בשביל זה אתה צריך עכשיו כתובת IP של ה- ESP32 שלך

אתה יכול למצוא אותו באחת מהדרכים הבאות:

  • שימוש בצג יציאה טורית כדי לראות יומני ESP32
  • שימוש בכל סורק tcp לסריקת התקני הרשת שלך
  • לחץ על כפתור בתחנת מזג האוויר ותראה מידע על המערכת

הכנס לעיון https://192.168.0. XX/browse ותראה רשימת קבצים של ה- ESP שלך

(192.168.0. XX היא כתובת ה- IP של המכשיר שלך

לצורך הכוונון הסופי עליך להכין קבצי תצורה.

שלב 4: העלאת קושחה מוכנה

העלאת קושחה מוכנה
העלאת קושחה מוכנה

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

1. הורד כלים להעלאת פלאש מדף זה

2. הורד את הקבצים המצורפים (חלץ מהארכיון) HomeController.bin ו- bootloader_qio_80m.bin לכונן הקשיח שלך

3. הפעל את כלי ההורדה ESP32 והזן ערכים בהתאם לצילום המסך

4. הקש על התחל

שלב 5: תצורה

לפני שתתחיל בהכנת התצורה אתה צריך:

  1. צור את הערוץ שלך בשיא הדברים והמפתח עבור הערוץ שלך. הכן 4 שדות ושם אותם כראוי טמפרטורה, לחות, לחץ, מתח
  2. הירשם ב- Weather.com לקבלת מפתח ה- API שלך

יש צורך ב- Thingspeak כדי להעלות את הנתונים שלך ולפקח על מגמות וערכים

מזג האוויר נחוץ כדי לקבל נתוני תחזית.

אוקיי, סוף סוף אתה צריך ליצור קובץ services.json עם התוכן הבא

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}, {" service ":" BME280Controller "," name ":" BME "," enabled ": true, "interval": 900000, "i2caddr": 118, "uselegacy": true, "temp_corr":-3.0, "hum_corr": 10.0}, {"service": "WeatherClientController", "name": "WeatherForecast", "enabled": true, "interval": 500000, "uri": "https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70 & format = json & units = m & language = iw -US & apiKey = weatherapi "}, {" service ":" WeatherDisplayController "," name ":" WeatherDisplay "," enabled ": true," interval ": 500}, {" enabled ":" true "," interval ": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, "cfmt": "%. 2f V", "acctype": 10}, {"service": "ThingSpeakController", "name": "ThingSpeak", "enabled": true, "interval": 1200000, "value": [1, 1, 1, 1, 0, 0, 0, 0], "apiKey": "דברים של אפונה kapi "}, {" enabled ": true," interval ": 1," pin ":" "," service ":" ButtonController "," name ":" Button "," pins ": [27]}]

! אנא החלף

  • Thingspeakapi עם מפתח ה- API של Thingspeak
  • weatherapi עם מפתח ה- api של מזג האוויר שלך
  • קוד גיאוגרפי עם המיקום שלך שאליו ברצונך לקבל תחזית

מאשר להכין קובץ שני triggers.json

[{"type": "BMEToWeatherDisplay", "source": "BME", "destination": "WeatherDisplay"}, {"type": "TimeToWeatherDisplay", "source": "Time", "destination": "WeatherDisplay "}, {" type ":" WeatherForecastToWeatherDisplay "," source ":" WeatherForecast "," destination ":" WeatherDisplay "}, {" type ":" BMEToThingSpeak "," source ":" BME "," destination ": "ThingSpeak", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"type": "ButtonToWeatherDisplay", "source": "Button", "destination": "WeatherDisplay"}, { "type": "LDRToThingSpeak", "source": "LDR", "destination": "ThingSpeak", "ch": 4}]

יש להעלות את שני הקבצים לשורש ה- esp.

תוכל לעשות זאת באמצעות הדפדפן https://192.168.0. XX/browse, כאשר https://192.168.0. XX היא כתובת ה- IP של המכשיר שלך

לאחר ההעלאה יש להפעיל מחדש את ה- ESP והכל בוצע כמו שצריך. Esp יציג את המסך המתאים כמו בתמונה ובסרטון למעלה

שלב 6: הפעלה וצריכת חשמל

עוצמה וצריכת חשמל
עוצמה וצריכת חשמל

אני משתמש במכשיר שלי עם החיבור לפאנל סולארי וכדי להיות בטוח שהוא יכול לעבוד "אינסופי"

צריכת החשמל חשובה ולאחר מספר ניסויים השתמשתי בשני טריקים עיקריים

הפחת את צריכת הנורית האחורית של מסך TFT

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

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

2. הפחת את צריכת החשמל באמצעות ESP32

כאשר ESP מחובר ל- WiFi, הוא כל הזמן אוכל 7-10 mA, אני מדבר על זמן קבוע, לא על הפעלה וחיבור ראשון. זה יכול להיות מקובל אם תמיד ראית תאריך ושעה בפועל, גש למערכת שלך מתוך ערכת הבית של אפל

גם מבחינת הכוח הסולארי שלי בחורף הוא היה אמור להתאים לעבודות ללא מקורות כוח נוספים, לכן החלטתי לשים מעת לעת את ESP32 על מצב שינה (אכילה היא פחות מ 1 mA). זה בסדר מבחינתי, למשל ESP ישן 20 דקות, מאשר להתעורר, מסך רענון (נתונים בפועל ותחזית) שולח נתונים לשיא הדברים וחוזר שוב למצב שינה.

המינוסים הם:

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

זה תלוי בך להחליט מה יותר חשוב, אתה יכול פשוט להגדיר את זה מחדש.

אנא חפש קובץ ושורה services.json

[{"service": "TimeController", "name": "Time", "enabled": true, "interval": 1000, "timeoffs": 7200, "dayloffs": 3600, "server": "pool.ntp.org "," enableleep ": true," sleeptype ": 1," sleepinterval ": 900000," restartinterval ": 18000000}

"מאפשר שינה": אמת מאפשר שינה בכלל, אם יש לשים אותו שקר או להסיר פרמטר (שקר הוא ברירת מחדל) ESP לעולם לא ישן

"מרווח שינה": 900000 זה מילי, או 15 דקות, פירושו שכל 15 דקות ESP יתעורר ויעשה צוות נחוץ

אז עכשיו כולם יכולים לשחק בקלות לפי הצורך

שלב 7: כוונון חיישנים

כדי למזער את השפעת החימום הפנימי על חיישן הטמפרטורה BME280

פירץ עשיתי קצת צינור סביב חיישן וחורים. Hovewer במצב שלי כאשר נורית כבויה בדרך כלל ו- ESP ישן אינו כה חשוב. במקרים אחרים חיישן BME280 צריך לזוז למקום כלשהו כדי לא לכלול השפעה של חימום פנימי. כל כמה שהשפעה קטנה מצאתי ולכן יש שני פרמטרים לפצות

"hum_corr": 10.0

כלומר, ערכים אלה יתווספו לאחר מדידה

השנייה היא כיול מדידת מתח הסוללה, {"enabled": "true", "interval": 600000, "pin": 36, "service": "LDRController", "name": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt ":"%. 2f V "," acctype ": 10}, "cvalmin": 0.0

"cvalmax": 7.2

מיועדים למטרות אלה, מכיוון שהמתח נמדד לאחר מחיצות הנגדים ובהשוואה ל -3.3 V, במשחק עם ערך cvalmax אתה יכול להגיע לכוונון מתח מדויק עם ערך המולטימטר שלך.

שלב 8: הוספת התקן לערכת הבית של Apple

הוספת מכשיר לערכת הבית של Apple
הוספת מכשיר לערכת הבית של Apple

לבסוף כאשר המכשיר פועל כראוי ניתן להוסיף אותו ל- Apple Home Kit ותוכל לראות

ערכי חיישנים במסך הבית של אפל.

ראשית אתה צריך התקן הפעלה מחדש, מכיוון שככל שהמכשיר התחיל הוא לא ישן 20 דקות זה יותר מהספיק

פתח את אפליקציית Home Kit במכשיר ה- iOS שלך ובחר או צור Home1 חדש. הקש על הוסף (+)

2. בחר הוסף אביזר.

3. לחץ על אין לי קוד או לא ניתן לסרוק (בהמשך יתווסף סריקה)

4. אם הכל מסתדר אתה צריך לראות את מכשיר ה- esp החדש שלך ברשימה (ראה תמונה)

5. בחר מכשיר ואשר הוספה ללא אישור רשמי

6. הקלד סיסמא 11111111

7. זה הכל! אתה אמור לראות שהמכשיר זווג בהצלחה, אחרת התחל שוב את תהליך ההתאמה..

בהתבסס על ההגדרה הזו, תראה שני מכשירים ב- Apple

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

2. חיישן אור:) למעשה אפל מסוגלת להראות אווירה קלה, אך לא מתח, ולכן מתח הסוללה מופיע בלוקס

שלב 9: עדכוני OTA: Over the Air

לפני תחילת כל עדכון עדיף לאתחל את ESP32, כפי שצוין קודם לכן הוא לא ישן 20 הדקות הראשונות

ישנן שתי אפשרויות לעדכן

  1. תצורה באמצעות https://192.168.0. XX/browse תוכל לגשת למערכת הקבצים שלך ב- ESP ולשנות קבצי תצורות
  2. אתה יכול לעדכן לחלוטין את הקושחה. למטרות אלה ראשית עליך ליצור אחד חדש. ניתן לעשות זאת באמצעות Arduino או Visual Studio IDE. לאחר מכן הקלד בדפדפן https://192.168.0. XX/update, בחר את הקושחה שלך ולחץ על עדכן. המתן עד לסיום התהליך ותקבל את התשובה אישור, אחרת חזור על השלב שוב

מוּמלָץ: