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

תחנת מזג אוויר WiFi ESP32 עם חיישן BME280: 7 שלבים (עם תמונות)
תחנת מזג אוויר WiFi ESP32 עם חיישן BME280: 7 שלבים (עם תמונות)

וִידֵאוֹ: תחנת מזג אוויר WiFi ESP32 עם חיישן BME280: 7 שלבים (עם תמונות)

וִידֵאוֹ: תחנת מזג אוויר WiFi ESP32 עם חיישן BME280: 7 שלבים (עם תמונות)
וִידֵאוֹ: Arduino Nano, BME280 и SSD1306 OLED-метеостанция 2024, יולי
Anonim
Image
Image
תחנת מזג אוויר WiFi ESP32 עם חיישן BME280
תחנת מזג אוויר WiFi ESP32 עם חיישן BME280
תחנת מזג אוויר WiFi ESP32 עם חיישן BME280
תחנת מזג אוויר WiFi ESP32 עם חיישן BME280

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

בסרטון זה אנו הולכים לעשות זאת. זהו עוד פרוייקט תחנת מזג אוויר שאני מכיר, אך הפעם אנו משתמשים בשבב ה- ESP32 החדש! אנו משתמשים גם בחיישן BME280 החדש אשר מודד את הטמפרטורה, הלחות והלחץ הברומטרי. כאשר אנו מפעילים את הפרויקט הוא מתחבר לרשת ה- WiFi והוא עומד לאחזר את תחזית מזג האוויר למיקום שלי מאתר openweathermap. אז הוא יציג את התחזית על 3.2 אינץ 'תצוגת מגע זו יחד עם הקריאות מהחיישן! הקריאות מתעדכנות כל שתי שניות ותחזית מזג האוויר מדי שעה! כפי שאתה יכול לראות, בפרויקט זה אנו משתמשים בטכנולוגיות העדכניות ביותר שיש ליצרנית כיום! אם אתה ותיק עשה זאת בעצמך, תוכל לבנות את הפרויקט הזה תוך חמש דקות.

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

בואו נתחיל!

שלב 1: קבל את כל החלקים

קבל את כל החלקים
קבל את כל החלקים

על מנת לבנות פרויקט זה אנו זקוקים לחלקים הבאים:

  • לוח ESP32 ▶
  • חיישן BME280 I2C ▶
  • צג Nextion בגודל 3.2 אינץ '▶
  • לוח לחם קטן ▶
  • כמה חוטים ▶

עלות הפרויקט היא בסביבות 30 $.

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

שלב 2: ה- ESP32

Image
Image
ה- ESP32
ה- ESP32

זהו הפרויקט הראשון שבניתי אי פעם עם שבב ה- ESP32 החדש.

אם אינך מכיר אותו, שבב ESP32 הוא ממשיכו של שבב ה- ESP8266 הפופולרי שהשתמשנו בו פעמים רבות בעבר. ה- ESP32 הוא חיה! הוא מציע שתי 32 ליבות עיבוד הפועלות ב -160 מגה -הרץ, כמות עצומה של זיכרון, WiFi, בלוטות 'ותכונות רבות אחרות בעלות של כ -7 $! דברים מדהימים!

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

שלב 3: תצוגת Nextion

Image
Image
חיישן BME280
חיישן BME280

כמו כן, זהו הפרויקט הראשון שאני בונה עם צג מגע Nextion.

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

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

שלב 4: חיישן BME280

חיישן BME280
חיישן BME280

ה- BME280 בחיישן נהדר חדש של בוש.

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

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

יש כבר ספריות רבות שפותחו עבור חיישן זה כדי שנוכל להשתמש בו בפרויקטים שלנו בקלות רבה! עלות החיישן היא כ -5 $. אתה יכול להשיג את זה כאן ▶

הערה: אנו זקוקים לחיישן BME280. יש גם חיישן BMP280 שאינו מציע מדידת לחות. היזהר להזמין חיישן שאתה צריך.

שלב 5: חיבור החלקים

חיבור החלקים
חיבור החלקים
חיבור החלקים
חיבור החלקים
חיבור החלקים
חיבור החלקים

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

מכיוון שחיישן BME280 משתמש בממשק I2C, עלינו לחבר רק שני חוטים כדי לתקשר עם ESP32. צירפתי את החיישן לסיכות 26 ו -27. בתיאוריה, ניתן להשתמש בכל סיכה דיגיטלית של לוח ESP32 עם ציוד היקפי I2C. אולם בפועל גיליתי שחלק מהסיכות לא פועלות מכיוון שהן שמורות לשימושים אחרים. סיכות 26 ו -27 מתפקדות מצוין!

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

לאחר חיבור החלקים, עלינו לטעון את הקוד ל- ESP32, ועלינו לטעון את ה- GUI לתצוגת Nextion. אם אתה מתקשה להעלות את התוכנית ללוח ESP32, החזק את לחצן BOOT לאחר לחיצה על כפתור ההעלאה ב- Arduino IDE.

כדי לטעון את ה- GUI לתצוגה של Nextion, העתק את הקובץ WeatherStation.tft שאני הולך לשתף אותך בכרטיס SD ריק. הכנס את כרטיס ה- SD לחריץ כרטיס ה- SD בחלק האחורי של המסך. לאחר מכן הפעל את הצג, וה- GUI ייטען. לאחר מכן הסר את כרטיס ה- SD וחבר שוב את המתח.

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

שלב 6: קוד הפרויקט

קוד הפרויקט
קוד הפרויקט
קוד הפרויקט
קוד הפרויקט
קוד הפרויקט
קוד הפרויקט

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

? ESP32 BME280: https://github.com/Takatsuki0204/BME280-I2C-ESP32? Arduino JSON:

בואו נראה את הקוד עכשיו.

בהתחלה עלינו להגדיר את ה- SSID ואת הסיסמה של רשת ה- WiFi שלנו. לאחר מכן, עלינו להיכנס לאתר APIKEY החינמי מאתר operweathermap.org. כדי ליצור מפתח API משלך, עליך להירשם לאתר. קבלת נתוני מזג אוויר ותחזית עדכניים היא בחינם, אך האתר מציע אפשרויות נוספות אם אתה מוכן לשלם קצת כסף. לאחר מכן, עלינו למצוא את מזהה המיקום שלנו. מצא את המיקום שלך והעתק את המזהה שניתן למצוא בכתובת האתר של המיקום שלך.

לאחר מכן הזן את מזהה העיר שלך במשתנה CityID. כמו כן, הזן את גובה העיר שלך במשתנה זה. ערך זה נחוץ לקריאות לחץ ברומטריות מדויקות מהחיישן.

const char* ssid = "yourSSID"; const char* password = "yourPassword"; String CityID = "253394"; // ספרטה, יוון מחרוזת APIKEY = "yourAPIkey"; #define ALTITUDE 216.0 // גובה בספרטה, יוון

עכשיו אנחנו מוכנים להמשיך הלאה.

בהתחלה אנו מאתחלים את החיישן ומתחברים לרשת ה- WiFi. לאחר מכן אנו מבקשים נתוני מזג אוויר מהשרת.

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

כדי לעדכן את התצוגה, אנו פשוט שולחים כמה פקודות ליציאה הטורית כך:

void showConnectingIcon () {Serial.println (); פקודת מחרוזת = "weatherIcon.pic = 3"; Serial.print (פקודה); endNextionCommand (); }

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

כמו תמיד אתה יכול למצוא את הקוד של הפרויקט המצורף למדריך זה

שלב 7: מחשבות ושיפורים אחרונים

מחשבות ושיפורים אחרונים
מחשבות ושיפורים אחרונים

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

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

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

תחרות אלחוטית
תחרות אלחוטית
תחרות אלחוטית
תחרות אלחוטית

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

מוּמלָץ: