תוכן עניינים:
- שלב 1: מה שאתה צריך …
- שלב 2: התחל בהתקנת חומרת החיישן BME 280
- שלב 3: קוד BME 280 Nodemcu ESP8266
- שלב 4: הצלחה במכשיר חיישן BME280 + פתרון בעיות
- שלב 5: התקנת חומרת חומרת קרקע
- שלב 6: קוד DS18B20 Nodemcu ESP8266
- שלב 7: גילוי קרקע ופתרון הצלחה
- שלב 8: סיים
וִידֵאוֹ: חיישני הרחבה Nodemcu ESP8266 ל- Weewx: 8 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:17
זוהי הוראה להוסיף חיישנים לתוכנת תחנת מזג האוויר 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
הלחמה הרצועה ב- BME280.
לאחר מכן חיווט ה- BME ל- Nodemcu:
BME VIN עד 3.3V
BME GND ל- GND
SCL ל- D4
SDA עד D3
אם אתה רוצה אתה יכול לשים את המכשיר בבית, אך וודא שיש כמה חורים בבית, כך שערכי הלחות והטמפרטורה יהיו נכונים.
שלב 3: קוד 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 + פתרון בעיות
כמה טיפים עבורך:
פתח יותר מאשר 1 קונסולות באמצעות מרק
בקונסולה אחת בצעו את השינויים, ובקונסולה השנייה קראו את ה- syslog שלכם בשידור חי עם:
זנב -f/var/log/syslog
אם יש לך שגיאה, עיין קודם כל בקובץ היומן שלך.
התפוקה שלך אמורה להיראות דומה לשלי:
שלב 5: התקנת חומרת חומרת קרקע
עבור חיישן 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
עבור הקוד אתה יכול להשתמש במאגרי 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
מוּמלָץ:
כיצד לבצע אוטומציה ביתית מבוססת IoT עם ממסר בקרת חיישני NodeMCU: 14 שלבים (עם תמונות)
כיצד לבצע אוטומציה ביתית מבוססת IoT באמצעות ממסר בקרת חיישני NodeMCU: בפרויקט זה מבוסס IoT, עשיתי אוטומציה ביתית עם מודול ממסר שליטה של Blynk ו- NodeMCU עם משוב בזמן אמת. במצב ידני, ניתן לשלוט על מודול ממסר זה מהנייד או מהסמארטפון, ומתג ידני. במצב אוטומטי, הסמאר הזה
לוח הרחבה RaspberryPi 3/4 להוספת תכונות נוספות ל- Raspberry Pi: 15 שלבים (עם תמונות)
לוח הארכה של RaspberryPi 3/4 להוספת תכונות נוספות ל- Raspberry Pi: אנו יודעים כי פטל Pi 3/4 אינו מגיע עם ADC מובנה (ממיר אנלוגי לדיגיטלי) ו- RTC (שעון בזמן אמת) כך שאני מתכנן מחשב לוח המכיל 16 ערוץ 12bit ADC, RTC, מודול 4G SIM7600, כפתורי לחיצה, ממסרים, כיבוי USB, כיבוי 5V, כוח 12V
ESP8266 - חיישני דלתות וחלונות - ESP8266. סיוע לקשישים (שכחה): 5 שלבים
ESP8266 - חיישני דלתות וחלונות - ESP8266. סיוע לקשישים (שכחה): ESP8266 - חיישני דלתות / חלון באמצעות GPIO 0 ו- GPIO 2 (IOT). ניתן לצפות בו באינטרנט או ברשת המקומית באמצעות דפדפנים. גלוי גם דרך " HelpIdoso Vxapp " יישום. משתמש בהספק 110/220 VAC עבור 5Vdc, ממסר / מתח אחד
הרחבה חושית של Cat Whisker לבישה (2.0): 6 שלבים (עם תמונות)
Cat Whisker Extension Sensory Extension Wearable (2.0): פרויקט זה הוא המשך והדמיה מחדש של עמיתו לשעבר (מטטררה) " Whisker Sensory Extension Wearable ". מטרתו של פרויקט זה הייתה להתמקד ביצירת "הרחבות חושיות" חדשות ומועשרות בחישוביות ש
NLDWRTG לוח הרחבה ULTIMATE WRT54G ULTIMATE: 8 שלבים (עם תמונות)
NLDWRTG לוח ההרחבה ULTIMATE WRT54G ULTIMATE: אני משתנה נתבי WRT54G מאז 2006 אך מעולם לא הספקתי לתכנן לוח ייעודי עבורו עד לשנה שעברה. חומרה זו היא עדיין אחד מנתבי ה- wifi הכי ניתנים לפריצה בזמן הכתיבה ומגיע לה להישאר בחיים