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

ESP8266 NodeMCU עם מדדי BME280 ותרשים: 5 שלבים
ESP8266 NodeMCU עם מדדי BME280 ותרשים: 5 שלבים

וִידֵאוֹ: ESP8266 NodeMCU עם מדדי BME280 ותרשים: 5 שלבים

וִידֵאוֹ: ESP8266 NodeMCU עם מדדי BME280 ותרשים: 5 שלבים
וִידֵאוֹ: Using LCD1602 or LCD2004 with ESP32 2024, נוֹבֶמבֶּר
Anonim
NodeMCU ESP8266 עם מדדי BME280 ותרשים
NodeMCU ESP8266 עם מדדי BME280 ותרשים
NodeMCU ESP8266 עם מדדי BME280 ותרשים
NodeMCU ESP8266 עם מדדי BME280 ותרשים

מדדים מפוארים ותרשים ללוח הפיתוח שלך NodeMCU ESP8266 עם חיישן טמפרטורה, לחות ולחץ BME280. Thingspeak יאחסן את כל הנתונים שלך בענן לצורך אחזור בכל עת במשך שנים (בתקווה). המדדים והתרשים מאוכלסים מהנתונים המאוחסנים ב- Thingspeak ומתעדכנים אוטומטית כל 5 דקות.

פריטים דרושים:

לוח פיתוח ESP8266 NodeMCU ($ 3.79 מ- Banggood.com הונג קונג)

בוש BME280 ($ 5.63 מ- Banggood.com הונג קונג)

מגשרים ללוח קרשים ($ 3.09 מ- Banggood.com הונג קונג)

לוח לחם ($ 2.28 מ- Banggood.com הונג קונג)

ספק כוח, חינם אם יש לך מטען מיקרו USB

כבל מיקרו USB, חינם אם יש לך כבר

Arduino IDE, הורדה בחינם

קבל את קבצי הקוד.ino &. HTML כאן

שלב 1: צור והגדר את ערוצי Thingspeak שלך

צור והגדר את ערוצי Thingspeak שלך
צור והגדר את ערוצי Thingspeak שלך

1. צור חשבון Thingspeak בחינם וערוץ חדש בכתובת https://thingspeak.com, קרא לערוץ "ESP8266-NodeMCU-12E-BME280"

2. הערוץ החדש צריך להכיל 3 שדות בשם טמפרטורת לחות לחות בסדר הספציפי הזה (שימו לב באותיות רישיות באות הראשונה).

3. שימו לב ל"מזהה הערוץ "החדש XXXXXX תחת" הגדרות ערוץ"

4. לחץ על הקישור "מפתחות API" ושימו לב ל"מכתבי API "ול"קריאת מפתחות API" XXXXXXXXXXXXXXX. כמו כן, הפוך את זה לערוץ ציבורי תחת שיתוף.

5. צור ערוץ Thingspeak שני שיכיל את נתוני ה- High Today (מאז חצות). קראו לזה "נתוני BME280 יומיים גבוהים נמוכים"

6. לערוץ החדש הזה צריכים להיות 6 שדות בשם Tmax Tmin Hmax Hmin Pmax Pmin בסדר הספציפי הזה (שימו לב באותיות רישיות באות הראשונה).

7. שימו לב ל"מזהי הערוץ "," קריאה "ו"כתיבת מפתחות API" של "BME280 Daily High Low Data" בדיוק כמו בשלבים שלעיל.

שלב 2: הגדר את Arduino IDE, ספריות והגדר את BME280

הגדר את IDE Arduino, ספריות והגדר את BME280
הגדר את IDE Arduino, ספריות והגדר את BME280

8. עקוב אחר ההוראות להתקנת ליבת Arduino IDE & ESP8266 בכתובת

9. הפעל את ה- Arduino IDE כדי שנוכל להתקין את ארבע הספריות שנזדקק להן.

10. תזדקק לספריית "Adafruit Unified Sensor Driver", התקן אותה ב- "מנהל הספרייה" ב- Arduino IDE. תפריט סקיצה כלול ספרייה נהל ספריות בצע חיפוש לפי סוג = "מומלץ" נושא = "חיישנים" ולאחר מכן הכנס את המילים Adafruit Unified Sensor Driver בתיבת החיפוש. זה שאתה רוצה אומר "נהג חיישנים מאוחד של Adafruit מאת Adafruit"

11. בנוסף, תדרש גם את "Adafruit BME280 Library" להתקין אותו ב- "מנהל הספרייה" ב- Arduino IDE. תפריט סקיצה כלול ספרייה נהל ספריות בצע חיפוש לפי סוג = "מומלץ" נושא = "חיישנים" ולאחר מכן הכנס את המילים Adafruit BME280 Library בתיבת החיפוש. זה שאתה רוצה אומר "Adafruit BME280 Library by Adafruit"

12. ספרייה נוספת שאתה צריך היא Wire.h, התקן אותה ב- "מנהל הספרייה" ב- Arduino IDE. תפריט, סקיצה כלול ספרייה נהל ספריות בצע חיפוש לפי סוג = "תרומה" נושא = "קלט/פלט אות" ואז הכנס את המילה Wire בתיבת החיפוש. זה שאתה רוצה אומר "Wire Built-in by Arduino" סביר להניח שבתחתית הבחירה.

13. עוד ספרייה, ESP8266WiFi, התקן אותה ב"מנהל הספרייה "ב- Arduino IDE. תפריט, סקיצה כלול ספרייה נהל ספריות בצע חיפוש לפי סוג = "תרומה" נושא = "תקשורת" ואז הכנס את המילה ESP8266wifi בתיבת החיפוש. זה שאתה רוצה אומר "ESP8266wifi מובנה על ידי איוון גרוכוטקוב"

14. כתובת I2C עבור BME280 מקודדת בקובץ Adafruit_BME280.h (חפש את השורה #define BME280_ADDRESS 0x77) בתוך התיקייה Adafruit_BME280_Library. מודולי חיישן BME של Adafruit קשורים לשימוש בכתובת I2C של 0x77. אך ל- BME280 יכולה להיות כתובת I2C מעט שונה (0x76) אם סיכת ה- SDO החיצונית שלה מקורקעת. אם אתה משתמש במודולי החיישנים מצד שלישי, סביר להניח שכתובתה לא תתאים לערך ברירת המחדל בספריית Adafruit. לדוגמה, עבור רוב מודולי החיישנים BME280 הזמינים ב- eBay או Aliexpress כתובת I2C שלהם היא 0x76. אם אינך מקבל תגובה מהחיישן באמצעות כתובת ברירת המחדל שהוגדרה בקובץ Adafruit_BME280.h, ייתכן שיהיה עליך לשנותו ל- 0x76.

נקודות חיבור BME280 ו- ESP8266. ESP8266 3.3V ל- BME280 Vin, ESP8266 GND ל- BME280 GND, ESP8266 D4 עד BME280 SCL, ESP8266 D3 עד BME280 SDA. 15. פתח את הקובץ ESP8266-NodeMCU-12E-BME280.html המסופק בעורך טקסט והזן את "ESP8266-NodeMCU-12E-BME280" (הערוץ הראשון שיצרת) "מזהה ערוץ" ומפתח "קריאת API" עבור משתנים key1 & chan1. הזן גם את "מפתח API לקריאה" ו- "מזהה ערוץ" עבור "נתונים BME280 יומיים גבוהים נמוכים" (הערוץ השני שיצרת) עבור key2 ו- chan2. בנוסף, הזן את קיזוז אזור הזמן שלך מ- UTC. כמו ב -5 בשבילי. כל הערכים חייבים להיות בתוך הציטוטים היחידים המסופקים 'XXXXX'. שמור ויצא מעורך הטקסט.

חבר את ה- ESP8266 שלך עם כבל ה- USB למחשב שלך ולאחר מכן בחר ביציאה הטורית שלך ליציאת ה- USB.

משתמשי לינוקס אולי יצטרכו לשנות את האחריות של יציאת ה- USB כדי לתקשר עם /dev /ttyUSB0 כמו ב- 'sudo chown yourusername /dev /ttyUSB0' או עם מה שבחרת כנמל בהגדרה.

שלב 3: תכנות את ה- ESP8266 עם ה- Arduino IDE

תכנות את ה- ESP8266 עם ה- Arduino IDE
תכנות את ה- ESP8266 עם ה- Arduino IDE

16. בשלב הבא נתכנת את ה- ESP8266. חבר כבל USB בין ה- ESP8266 למחשב שלך.

טען את הקובץ New_BME_Sensor.ino המצורף ל- IDE של Arduino. חיישן BME280 שלך צריך להיות מחובר ל- D3 (SDA) ו- D4 (SCL) ב- ESP8266. הזן את "ESP8266-NodeMCU-12E-BME280" (הערוץ הראשון שיצרת) "מפתח כתיבה" "SSID אלחוטי" ו"סיסמה "בקטע הנכון של המערכון. לאחר מכן לחץ על פריט התפריט "סקיצה" ו "העלה". לאחר שתעלה את הסקיצה (ההתקדמות מגיעה ל -100%) ל- ESP8266 שלך תוכל לפתוח את הצג הטורי (הסמל הימני למעלה נראה כמו זכוכית מגדלת) ולראות את הנתונים שלך מודפסים לאחר 5 דקות, כל 5 דקות. הנתונים נשלחים לדף השיא במרווחים של 5 דקות, כך שיחלוף זמן מה עד שיהיו לך נתוני תרשים משמעותיים, אך עליך לקבל קריאות מדידה לאחר 5 דקות.

ודא שאתה מקבל קריאות נכונות מה- BME280 במסך הטורי.

ככל הנראה המדידה הראשונה תהיה נאן לא חוקי.

המתן כמה דקות עד לקריאה הבאה וודא שהקריאות נראות טוב.

שלב 4: חזור ל- Thingspeak כדי לבצע כמה שינויי נתונים

חזור ל- Thingspeak כדי לבצע כמה שינויי נתונים
חזור ל- Thingspeak כדי לבצע כמה שינויי נתונים

17. עכשיו, בזמן שהנתונים מועלים לאט לאט ל- thingspeak אפשר לעשות קצת שיפורים כדי לקבל נתונים נוספים ממה שמועלים. חזור לאתר thingspeak ובעמוד הערוץ "ThingsEpek" BME280 Daily High Low Data "(הערוץ השני שיצרת) לחץ על הלחצן הירוק" ניתוח MATLAB ". בחר תבנית "מותאם אישית (ללא קוד התחלה)"

18. תן שם לניתוח MATLAB "חשב מינימום מקסימום מאז חצות".

19. העתק את קוד MATLAB Analysis.txt לחלל המסופק. הזן את "מזהה הערוץ" עבור "ESP8266-NodeMCU-12E-BME280" (הערוץ הראשון שיצרת) ב "readChannelID". הזן את "BME280 Daily High Low Data" (הערוץ השני שיצרת) כתוב "מזהה ערוץ" ו- "מפתח כתיבה" לתוך writeNewChannelID & writeAPIKey בכבוד. אני יודע שזה נשמע מבלבל (תקרא את זה שוב). לחץ על שמור והפעל. אם עשית את זה נכון וערוץ הקריאה ציבורי לא תראה שום שגיאות והוא מדפיס בהצלחה את הערכים. שים לב, ייתכן שתראה שגיאה אם עדיין לא הועלו נתונים לערוץ זה. למרות הטעות ממשיכים. אם תרצה תוכל לבקר מחדש לחץ על שמור והפעל כדי לוודא שהוא פועל לאחר העלאת הנתונים.

20. לאחר מכן, עלינו ליצור "בקרת זמן" כדי להפעיל את הקוד הזה כל 5 דקות והנתונים שלנו נכתבים לערוץ "BME280 Daily High Low Data" (הערוץ השני שיצרת). מהעמוד הראשי של "BME280 Daily High Low Data" (הערוץ השני שיצרת) בחר אפליקציות בחלק העליון. תחת פעולות בחר "TimeControl" ולאחר מכן את הלחצן הירוק "New TimeControl". תן לו שם "שלח טמפ 'גבוהה ESP8266". בחר את אזור הזמן שלך במידת הצורך ובחר "חוזר" תחת תדר. בחר דקה תחת הישנות. מוגדר לרוץ כל 5 דקות. הפעולה צריכה להיות ניתוח MATLAB ו"קוד לביצוע "הוא" חשב מינימום מקסימום מאז חצות ". חסוך זמן בקרה.

שלב 5: ערוך את קובץ ה- HTML המסופק

ערוך את קובץ ה- HTML המסופק
ערוך את קובץ ה- HTML המסופק

ערוך את קבצי ה- HTML וחפש הערות שאומרות "******** שנה אותי 1 מתוך 8 *********" שנה אותן להעדפתך.

הערות:

חלק משדות הטקסט והתרשים השבועי לא יתאכלסו כראוי עד שיהיה לך יום שלם ושבוע של נתונים עבור הקטע והתרשים של 24 שעות ושבוע. לאחר שיש לך חבורה של נתונים תוכל להתקרב לתרשימים בעזרת גלגל העכבר (קליק ימני לאיפוס). אתה יכול גם לקבל מד רביעי (כפי שניתן לראות בצילומי המסך) מחיישן אחר מערוץ אחר, אך הסרתי את החלקים הרלוונטיים. אם אתה מרגיש נבון, חבר אותו. יש גם כמה בעיות תזמון שכדאי לשים לב אליהן. סביר להניח שלא יהיו לך הנתונים העדכניים ביותר, אך הם תמיד צריכים להיות פחות מ -5 דקות. זה בא כאשר בקרת התזמון מופעלת, כאשר הנתונים נשלחו מה- ESP8266 וכאשר טענת / רעננת את דף האינטרנט.

פתח את הקובץ ESP8266-NodeMCU-12E-BME280.html המסופק בדפדפן האינטרנט שלך וכדאי שתראה את המדדים והתרשים מאוכלסים.

קבל את קבצי הקוד.ino &. HTML כאן

מוּמלָץ: