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

חיישני הרחבה Nodemcu ESP8266 ל- Weewx: 8 שלבים (עם תמונות)
חיישני הרחבה Nodemcu ESP8266 ל- Weewx: 8 שלבים (עם תמונות)

וִידֵאוֹ: חיישני הרחבה Nodemcu ESP8266 ל- Weewx: 8 שלבים (עם תמונות)

וִידֵאוֹ: חיישני הרחבה Nodemcu ESP8266 ל- Weewx: 8 שלבים (עם תמונות)
וִידֵאוֹ: Water level monitoring system with Nodemcu ESP8266 with new blynk app 2024, נוֹבֶמבֶּר
Anonim
חיישני הרחבה Nodemcu ESP8266 עבור Weewx
חיישני הרחבה Nodemcu ESP8266 עבור Weewx

זוהי הוראה להוסיף חיישנים לתוכנת תחנת מזג האוויר weewx.

אם אין לך weewx, תוכל ללמוד כמה דברים במדריך זה.

אתה צריך קצת ידע בסיסי בקוד Arduino וכיצד להעלות אותו במכשיר.

אתה יכול למצוא מידע weewx כאן:

מה שאתה בונה הוא 2 מכשירים:

1 מכשיר שולח טמפרטורה ולחות לתוכנת weewx.

1 מכשיר שולח טמפרטורות קרקע של עומקי קרקע שונים לתוכנת weewx.

המכשיר הראשון שלנו הוא חיישן BME 280.

המכשיר השני שלנו הוא שרשרת של 3 חיישני טמפרטורה DS18B20. (אתה יכול להוסיף עוד אם תרצה).

בואו נתחיל:

שלב 1: מה שאתה צריך …

מה אתה צריך…
מה אתה צריך…
מה אתה צריך…
מה אתה צריך…
מה אתה צריך…
מה אתה צריך…

Weewx פועל + גישה לשרת weewx. (למשל פטל PI 3).

2 מודולים Nodemcu ESP8266

3 או יותר חיישני DS18B20

חיישן משולב אחד BME 280

צינור אלומיניום אחד או דומה בקוטר של 10 מ"מ ועובי דופן 1 מ"מ וקוטר. אורך 1 מטר

1 מארז עמיד למים עם בלוטת כבל ואום נעילה.

מקור כוח 5V (מטעין נייד למשל).

כמה חוטים וחומרי הלחמה.

אתה יכול למצוא חיישן BME280 ומודולי Nodemcu ב- eBay.

עבור צינור אלומיניום אני בוחר בחנות חומרה מקומית

עבור מארז DS18B20 ומארז עמיד למים אני משתמש ב- www.reichelt.de

www.reichelt.de/DS-18B20/3/index.html?ACTI…

www.reichelt.de/EL-FK-110/3/index.html?ACT…

וקבוצת בלוטת הכבלים עם אגוזי הנעילה

www.reichelt.de/Kabelverschraubungen-Bopla…

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

www.reichelt.de/Installationsmaterial/EL-D…

שלב 2: התחל בהתקנת חומרת החיישן BME 280

התחל בהתקנת חומרת החיישן BME 280
התחל בהתקנת חומרת החיישן BME 280

הלחמה הרצועה ב- BME280.

לאחר מכן חיווט ה- BME ל- Nodemcu:

BME VIN עד 3.3V

BME GND ל- GND

SCL ל- D4

SDA עד D3

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

שלב 3: קוד BME 280 Nodemcu ESP8266

קוד BME 280 Nodemcu ESP8266
קוד BME 280 Nodemcu ESP8266
קוד BME 280 Nodemcu ESP8266
קוד BME 280 Nodemcu ESP8266
קוד BME 280 Nodemcu ESP8266
קוד BME 280 Nodemcu ESP8266

עבור הקוד אתה יכול להשתמש במאגרי github שלי:

github.com/Landixus/BME280_TO_SERVER_WEEWX

קובץ ה- ino צריך ממך כמה תוספות:

כתובת ה- IP של השרת או ה- URL של weewx שלך

והמסלול שבו יש לך את קובץ ה- php, ודא שהאזור ניתן לכתיבה.

אני בוחר ב- public_html dir מכיוון שהוא שרת ביתי.

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

"שיבוט git" https://github.com/Landixus/BME280_TO_SERVER_WEEWX"

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

אתה צריך לעשות את השבילים להגדרות שלך!

ב

/home/weewx/public_html

ליצור נתוני תיקיות

בתיקיית הנתונים צור bme.txt למשל עם:

ננו bme.txt

הקובץ צריך להיות ריק.

להפוך אותו לכתב עם:

chmod -R 777 bme.txt

(אתה אף פעם לא עושה זאת בשרת נגיש לאינטרנט!)

בתיקייה

/home/weewx/public_html

אתה שם את bme.php של ריפו github שלי.

הטריק הוא שקובץ INO ישלח ערכים ל- bme.php ו- bme.php כותב את הנתונים ב- bme.txt

בשלב הבא עלינו להוסיף את השירות ב- weewx

שים את bme.py בתיקייה

/home/weewx/bin/user

פתח את weewx.conf בתיקייה

/home/weewx

תמיד טוב שיש גיבוי לפני עריכת קובץ זה!

רד למנוע קו וגרם לקו להיראות כמו שלי:

[מנוע]

# סעיף זה מציין את השירותים אותם יש להפעיל. הם

# מקובצים לפי סוג, וסדר השירותים בתוך כל קבוצה

# קובע את הסדר בו יופעלו השירותים.

data_services = user.pond. PondService, user.bme.bme

הפעל מחדש weewx עם:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx התחל

עם הפקודה

זנב -f/var/log/syslog

אתה יכול לחפש בקובץ היומן שגיאות או הצלחה, לחפש פלט bme: ערך נמצא של …

תן לשרת שלך כמה דקות ליצור, ב- "שלי" weewx.conf כל 5 דקות מגיעים פלט.

אם יש לך הודעת שגיאה בדוק את הנתיבים שלך.

אם יש לך ערכים, תוכל ללכת להציג אותו בדף האינטרנט:

עור פתוח

/home/weewx/skins/Standard

לך ל:

# זו כנראה ספציפית לתחנה שלי! הוסף

extraTemp3 = BME1 טמפרטורה extraHumid1 = BME1 לחות

שמור את הקובץ ופתח באותה תיקייה

index.html.tmpl

חפש שורה:

#if $ day.extraTemp..

#סוף אם

לאחר #end הראשון אם תמצא, שים את חיישן ה- BME שלך עם:

^^ מצטער אבל לא ניתן לשים את זה כטקסט:(שמור את הקובץ ויצא.

אין צורך להפעיל מחדש weewx.

עכשיו אתה צריך להאכיל את NODEMCU ESP8266 עם קובץ ה- Arduino.

אל תשכח להגדיר את ה- wifi והכתובות שלך בקובץ.

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

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

שלב 4: הצלחה במכשיר חיישן BME280 + פתרון בעיות

הצלחה מכשיר חיישן BME280 + פתרון בעיות
הצלחה מכשיר חיישן BME280 + פתרון בעיות
הצלחה מכשיר חיישן BME280 + פתרון בעיות
הצלחה מכשיר חיישן BME280 + פתרון בעיות

כמה טיפים עבורך:

פתח יותר מאשר 1 קונסולות באמצעות מרק

בקונסולה אחת בצעו את השינויים, ובקונסולה השנייה קראו את ה- syslog שלכם בשידור חי עם:

זנב -f/var/log/syslog

אם יש לך שגיאה, עיין קודם כל בקובץ היומן שלך.

התפוקה שלך אמורה להיראות דומה לשלי:

שלב 5: התקנת חומרת חומרת קרקע

התקנת חומרה של Soensensor
התקנת חומרה של Soensensor
התקנת חומרת Soilsensor
התקנת חומרת Soilsensor
התקנת חומרה של Soensensor
התקנת חומרה של Soensensor

עבור חיישן DS18B20 עלינו ליצור מערכת אוטובוסים עם כמה חוטים והלחמות.

בדוק את DS18B20 שלך

DATA, GND, VCC

בין VCC ל- DATA אתה צריך הנגד של 4.7K. זה מספיק אם יש לך את הנגד ב- DS18B20 הראשון

שאר DS18B20 מקבילים זה לזה.

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

לצורך בדיקה אתה מחבר DATA ל- D3 ו- VCC ל- VCC (3.3V) ו- GND ל- GND.

עבור אפשרות השינה העמוקה עליך לצרף גשר בין RST ל- D0 (GPIO16)

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

שלב 6: קוד DS18B20 Nodemcu ESP8266

קוד DS18B20 Nodemcu ESP8266
קוד DS18B20 Nodemcu ESP8266

עבור הקוד אתה יכול להשתמש במאגרי GITHUB שלי:

github.com/Landixus/multipleDS18B20WeeWX

כמו כן, קובץ ה- ino צריך ממך כמה תוספות: כתובת ה- IP של שרת ה- weewx או כתובת האתר שלך והמסלול שבו שמת את קובץ ה- php, וודא שהאזור ניתן לכתיבה. אני בוחר ב- public_html dir מכיוון שהוא שרת ביתי.

אם אתה רוצה לשכפל את מאגרי git ולהתקין git בשרת שלך תוכל לשכפל באמצעות הפקודה git clone

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

עליך להפוך את הנתיבים להגדרות שלך ב

/home/weewx/public_html

צור תיקיית "נתונים" בתיקיית הנתונים צור ds18b20.txt למשל nano ds18b20.txt הטקסט צריך להיות emtpy. הפוך אותו לכתב עם chmod -R 777 ds18b20.txt (אתה אף פעם לא עושה זאת בשרת נגיש לאינטרנט!) בתיקייה/home/weewx/public_html אתה שם את ground.php של נציג github שלי. הטריק הוא שקובץ INO ישלח ערכים אל ground.php ו- ground.php כותב את הנתונים ב- ds18b20.txt הבא עלינו להוסיף את השירות ב- weewx לשים את ds18b20.py בתיקייה/home/weewx/bin/ מִשׁתַמֵשׁ

פתח את weewx.conf שלך בתיקייה /home /weewx

תמיד טוב שיש גיבוי לפני עריכת קובץ זה!

תרד לשורה:

[מנוע]

# מקובצים לפי סוג, וסדר השירותים בתוך כל קבוצה

# קובע את הסדר בו יופעלו השירותים.

prep_services = weewx.engine. StdTimeSynch, data_services = user.pond. PondService, user.bme.bme, user.ds18b20.ds18b20 הוסף את השורה לאחר פסיק

"user.ds18b20.ds18b20" אמור להיראות כמו השורה העליונה ^^

הפעל מחדש weewx עם:

sudo /etc/init.d/weewx stop

sudo /etc/init.d/weewx התחל

עם הפקודה tail -f/var/log/syslog אתה יכול לחפש בקובץ הרישום אחר שגיאות או הצלחה לחפש פלט ds18b20: ערך שנמצא של תן לשרת שלך כמה דקות ליצור, ב- weewx.conf שלי כל 5 דקות יוצאים לָשִׂים. אם יש לך הודעת שגיאה בדוק את הנתיבים שלך. אם יש לך ערכים אתה יכול ללכת להציג אותו בדף: פתח

skin.conf in/home/weewx/skins/Standard עבור אל:

# זו כנראה ספציפית לתחנה שלי!

לְהוֹסִיף

soilTemp1 = DS18B201

soilTemp2 = DS18B202

soilTemp3 = DS18B203

שמור את הקובץ ופתח באותה תיקייה index.html.tmpl חפש שורה:

#if $ day.extraTemp..…

#סוף אם

לאחר סוף #הראשון אם מצאתם לשים את חיישן GroundSensor שלך עם:

^^ מצטער אבל לא ניתן לשים את זה כטקסט: (שמור את הקובץ ויצא. אין צורך להפעיל מחדש weewx. עכשיו אתה צריך להאכיל את NODEMCU ESP8266 עם קובץ ה- Arduino.

אל תשכח להגדיר את ה- wifi והכתובות שלך בקובץ. לאחר הטעינה בדוק את הפלט הסידורי לאיתור שגיאות.

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

שלב 7: גילוי קרקע ופתרון הצלחה

חיישן קרקע ופתרון בעיות הצלחה
חיישן קרקע ופתרון בעיות הצלחה

אם כלכם עובדים ורואים ערכים, צאו החוצה והניחו את צינור האלומיניום באדמה.

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

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

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

וודא שה- wifi פועל במקום הזה!

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

אני בודק שלב לשים 1 ds18b20 בין האצבע שלך, הטמפרטורה עולה יותר עבור זה.

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

שלב 8: סיים

סיים
סיים

רק הסוף

פרסם את שאלותיך והראה את זמני הקרקע שלך בתגובות!

לעזרה נוספת הצטרף ל- weewx Google Groups ב:

groups.google.com/forum/#!forum/weewx-user

מוּמלָץ: