विषयसूची:

Weewx के लिए एक्सटेंशन सेंसर Nodemcu ESP8266: 8 कदम (चित्रों के साथ)
Weewx के लिए एक्सटेंशन सेंसर Nodemcu ESP8266: 8 कदम (चित्रों के साथ)

वीडियो: Weewx के लिए एक्सटेंशन सेंसर Nodemcu ESP8266: 8 कदम (चित्रों के साथ)

वीडियो: Weewx के लिए एक्सटेंशन सेंसर Nodemcu ESP8266: 8 कदम (चित्रों के साथ)
वीडियो: Nodemcu esp8266 wifi module and Blynk Application based Home automation system 2024, जुलाई
Anonim
Weewx. के लिए एक्सटेंशन सेंसर Nodemcu ESP8266
Weewx. के लिए एक्सटेंशन सेंसर Nodemcu ESP8266

यह वीवेक्स वेदर स्टेशन सॉफ्टवेयर में सेंसर जोड़ने का निर्देश है।

यदि आपके पास वीवक्स नहीं है, तो आप इस ट्यूटोरियल में कुछ चीजें सीख सकते हैं।

आपको Arduino कोड और डिवाइस पर अपलोड करने के बारे में कुछ बुनियादी ज्ञान की आवश्यकता है।

आपको यहां Weewx की जानकारी मिलती है:

आप जो बनाते हैं वह 2 डिवाइस है:

1 डिवाइस WEewx सॉफ़्टवेयर को तापमान और आर्द्रता भेजता है।

1 डिवाइस विभिन्न ग्राउंड डीप के मिट्टी के तापमान को Weewx सॉफ़्टवेयर में भेजता है।

हमारा पहला डिवाइस बीएमई 280 सेंसर है।

हमारा दूसरा उपकरण 3 DS18B20 Temperatur सेंसर की एक श्रृंखला है। (आप चाहें तो और जोड़ सकते हैं)।

चलो शुरू करते हैं:

चरण 1: आपको क्या चाहिए …

जिसकी आपको जरूरत है…
जिसकी आपको जरूरत है…
जिसकी आपको जरूरत है…
जिसकी आपको जरूरत है…
जिसकी आपको जरूरत है…
जिसकी आपको जरूरत है…

Weewx ऊपर और चल रहा है + Weewx सर्वर तक पहुंच। (उदाहरण के लिए एक रास्पबेरी पीआई 3)।

2 Nodemcu ESP8266 मॉड्यूल

3 या अधिक DS18B20 सेंसर

1 बीएमई 280 कॉम्बो सेंसर

1 एल्यूमीनियम पाइप या 10 मिमी और 1 मिमी दीवार मोटाई के व्यास के साथ या समान। 1 मीटर लंबा

1 केबल ग्रंथि और लॉक नट के साथ वाटरप्रूफ केस।

1 5V पावर स्रोत (उदाहरण के लिए मोबाइल लोडर)।

कुछ तार और सोल्डरिंग सामान।

आपको eBay पर BME280 सेंसर और Nodemcu मॉड्यूल मिलते हैं।

एल्युमिनियम पाइप के लिए मैं एक स्थानीय हार्डवेयर स्टोर चुनता हूँ

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: बीएमई 280 सेंसर हार्डवेयर सेटअप के साथ प्रारंभ करें

बीएमई 280 सेंसर हार्डवेयर सेटअप के साथ प्रारंभ करें
बीएमई 280 सेंसर हार्डवेयर सेटअप के साथ प्रारंभ करें

पट्टी को BME280 में मिलाप करें।

फिर BME को Nodemcu में वायरिंग करें:

बीएमई विन से 3.3V

BME GND से GND

एससीएल से डी4

एसडीए से डी3

यदि आप चाहें तो आप डिवाइस को एक आवास में रख सकते हैं, लेकिन सुनिश्चित करें कि आवास में कुछ छेद हैं, ताकि आर्द्रता और तापमान मान सही हों।

चरण 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.com/Landixus/BME280_TO_SERVER_WEEWX

इनो फ़ाइल को आपसे कुछ इन्सर्ट की आवश्यकता है:

आपके Weewx सर्वर या URL का IP पता

और जिस मार्ग पर आपके पास PHP फ़ाइल है, सुनिश्चित करें कि क्षेत्र लिखने योग्य है।

मैं public_html dir चुनता हूं क्योंकि यह एक होम सर्वर है।

यदि आप git रिपॉजिटरी को क्लोन करना चाहते हैं, और अपने सर्वर पर git इंस्टॉल करना चाहते हैं, तो आप कमांड के साथ क्लोन कर सकते हैं:

"गिट क्लोन"

अब हमें अपने Weewx सर्वर पर कुछ काम करने की जरूरत है।

आपको अपनी सेटिंग के लिए पथ बनाने की आवश्यकता है!

में

/home/weewx/public_html

एक फ़ोल्डर डेटा बनाएँ

उदाहरण के लिए डेटा फ़ोल्डर में bme.txt बनाएं:

नैनो bme.txt

फ़ाइल खाली होनी चाहिए।

इसे इसके साथ लिखने योग्य बनाएं:

chmod -R ७७७ bme.txt

(आप इसे कभी भी ऐसे सर्वर पर नहीं करते हैं जो इंटरनेट तक पहुंच योग्य हो!)

फोल्डर में

/home/weewx/public_html

आपने मेरे जीथब रेपो का bme.php डाल दिया।

चाल यह है कि INO फ़ाइल bme.php को मान भेजती है और bme.php डेटा को bme.txt में लिखता है

आगे हमें वीवक्स में सेवा जोड़ने की जरूरत है

bme.py को फ़ोल्डर में रखें

/घर/weewx/बिन/उपयोगकर्ता

फ़ोल्डर में अपना weewx.conf खोलें

/घर/वीएक्स

इस फ़ाइल को संपादित करने से पहले बैकअप लेना हमेशा अच्छा होता है!

लाइन इंजन पर जाएं और लाइन को मेरी तरह बनाएं:

[यन्त्र]

# यह खंड उन सेवाओं को निर्दिष्ट करता है जिन्हें चलाया जाना चाहिए। वे

# प्रकार के अनुसार समूहीकृत, और प्रत्येक समूह के भीतर सेवाओं का क्रम

# उस क्रम को निर्धारित करता है जिसमें सेवाएं चलाई जाएंगी।

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

इसके साथ weewx को पुनरारंभ करें:

sudo /etc/init.d/weewx स्टॉप

sudo /etc/init.d/weewx start

आदेश के साथ

पूंछ -f /var/log/syslog

आप त्रुटियों या सफलता के लिए लॉगफाइल में देख सकते हैं, आउटपुट बीएमई की तलाश कर सकते हैं: का मूल्य मिला …

अपने सर्वर को उत्पन्न करने के लिए कुछ मिनट दें, "my" weewx.conf में हर 5 मिनट में एक आउटपुट आता है।

यदि आपके पास कोई त्रुटि संदेश है तो अपने पथ जांचें।

यदि आपके पास मूल्य हैं, तो आप इसे वेबपेज पर दिखाने के लिए जा सकते हैं:

खुली skin.conf in

/घर/weewx/खाल/मानक

के लिए जाओ:

# यह शायद मेरे स्टेशन के लिए विशिष्ट है!जोड़ें

extraTemp3 = BME1 तापमानextraHumid1 = BME1 आर्द्रता

फ़ाइल को सहेजें और उसी फ़ोल्डर में खोलें

index.html.tmpl

एक पंक्ति की तलाश करें:

#if $day.extraTemp..

#अगर अंत

पहले #end के बाद यदि आप पाते हैं, तो अपना BME सेंसर इसके साथ लगाएं:

^^ क्षमा करें, लेकिन इसे पाठ के रूप में रखना संभव नहीं है:(फ़ाइल को सहेजें और बाहर निकलें।

Weewx को पुनरारंभ करने की कोई आवश्यकता नहीं है।

अब आपको Arduino फ़ाइल के साथ NODEMCU ESP8266 को फीड करना होगा।

फाइल में अपना वाईफाई और एड्रेस सेटअप करना न भूलें।

लोड करने के बाद त्रुटियों के लिए सीरियल आउटपुट की जाँच करें।

थोड़े समय के बाद आपको अपनी Weewx वेबसाइट पर मान दिखाई देने चाहिए।

चरण 4: सफलता BME280 सेंसर डिवाइस + समस्या निवारण

सफलता BME280 सेंसर डिवाइस + समस्या निवारण
सफलता BME280 सेंसर डिवाइस + समस्या निवारण
सफलता BME280 सेंसर डिवाइस + समस्या निवारण
सफलता BME280 सेंसर डिवाइस + समस्या निवारण

आपके लिए कुछ टिप्स:

पोटीन के माध्यम से 1 से अधिक कंसोल खोलें

1 कंसोल पर अपने परिवर्तन करें, और दूसरे कंसोल पर अपने syslog को लाइव पढ़ें:

पूंछ -f /var/log/syslog

अगर आपको कोई त्रुटि है, तो पहले अपनी लॉगफाइल देखें।

आपका आउटपुट मेरे जैसा दिखना चाहिए:

चरण 5: सॉइलसेंसर हार्डवेयर सेटअप

सॉइलसेंसर हार्डवेयर सेटअप
सॉइलसेंसर हार्डवेयर सेटअप
सॉइलसेंसर हार्डवेयर सेटअप
सॉइलसेंसर हार्डवेयर सेटअप
सॉइलसेंसर हार्डवेयर सेटअप
सॉइलसेंसर हार्डवेयर सेटअप

DS18B20 सेंसर के लिए हमें कुछ तारों और सोल्डरिंग के साथ एक बस सिस्टम बनाने की आवश्यकता है।

अपना DS18B20 जांचें

डेटा, जीएनडी, वीसीसी

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

इसके अलावा इनो फ़ाइल को आपसे कुछ इन्सर्ट की आवश्यकता है: आपके वीडब्ल्यूएक्स सर्वर या यूआरएल का आईपी पता और जिस रूट पर आपने PHP फाइल डाली है, सुनिश्चित करें कि क्षेत्र लिखने योग्य है, मैं public_html डीआईआर चुनता हूं क्योंकि यह एक होम सर्वर है।

यदि आप गिट रिपॉजिटरी को क्लोन करना चाहते हैं और अपने सर्वर पर गिट स्थापित करना चाहते हैं तो आप गिट क्लोन https://github.com/Landixus/multipleDS18B20WeeWX कमांड के साथ क्लोन कर सकते हैं।

अब हमें कुछ ऐसी चीजें करने की जरूरत है जो हमारे Weewx सर्वर पर काम कर रही हैं।

आपको अपनी सेटिंग में पथ बनाने की आवश्यकता है

/home/weewx/public_html

डेटा फ़ोल्डर में एक फ़ोल्डर "डेटा" बनाएं उदाहरण के लिए ds18b20.txt बनाएं nano ds18b20.txt txt emtpy होना चाहिए। इसे chmod -R 777 ds18b20.txt के साथ लिखने योग्य बनाएं (आप ऐसा सर्वर पर कभी नहीं करते जो इंटरनेट पर पहुंच योग्य हो!) फ़ोल्डर /home/weewx/public_html में आप मेरे जीथब प्रतिनिधि का ग्राउंड.php डालते हैं। चाल यह है कि INO फ़ाइल ग्राउंड को मान भेजती है। उपयोगकर्ता

फोल्डर /home/weewx. में अपना weewx.conf खोलें

इस फ़ाइल को संपादित करने से पहले बैकअप लेना हमेशा अच्छा होता है!

लाइन पर जाएं:

[यन्त्र]

# प्रकार के अनुसार समूहीकृत, और प्रत्येक समूह के भीतर सेवाओं का क्रम

# उस क्रम को निर्धारित करता है जिसमें सेवाएं चलाई जाएंगी।

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 स्टॉप

sudo /etc/init.d/weewx start

कमांड के साथ tail -f /var/log/syslog आप त्रुटियों के लिए लॉगफाइल में देख सकते हैं या आउटपुट ds18b20 के लिए सफलता की तलाश कर सकते हैं: पाया गया मान अपने सर्वर को उत्पन्न करने के लिए कुछ मिनट दें, my weewx.conf में हर 5 मिनट में एक आउट आएं रखना। यदि आपके पास कोई त्रुटि संदेश है तो अपने पथ जांचें। यदि आपके पास मूल्य हैं तो आप इसे पृष्ठ पर दिखाने के लिए जा सकते हैं: खुला

skin.conf में /home/weewx/skins/Standard यहां जाएं:

# यह शायद मेरे स्टेशन के लिए विशिष्ट है!

जोड़ें

मिट्टीटेम्प1 = DS18B201

मिट्टीटेम्प2 = DS18B202

मिट्टीटेम्प3 = DS18B203

फ़ाइल को सहेजें और उसी फ़ोल्डर में खोलें index.html.tmpl एक पंक्ति की तलाश करें:

#if $day.extraTemp.. …

#अगर अंत

पहले #end के बाद यदि आप पाते हैं कि अपना ग्राउंड सेंसर सेंसर इसके साथ लगाएं:

^^ क्षमा करें, लेकिन इसे एक पाठ के रूप में रखना संभव नहीं है:(फ़ाइल को सहेजें और बाहर निकलें। Weewx को पुनरारंभ करने की कोई आवश्यकता नहीं है। अब आपको Arduino फ़ाइल के साथ NODEMCU ESP8266 को फीड करने की आवश्यकता है।

फाइल में अपना वाईफाई और एड्रेस सेटअप करना न भूलें। लोड करने के बाद त्रुटियों के लिए सीरियल आउटपुट की जाँच करें।

थोड़े समय के बाद आपको अपनी Weewx वेबसाइट पर मान दिखाई देने चाहिए।

चरण 7: सफलता सॉइलसेंसर और समस्या निवारण

सक्सेस सॉइलसेंसर और समस्या निवारण
सक्सेस सॉइलसेंसर और समस्या निवारण

यदि आप सभी काम कर रहे हैं और मूल्य देखते हैं, तो बाहर जाकर एल्युमिनियम पाइप को जमीन में गाड़ दें।

एक अच्छा तरीका है कि पाइप के 1 तरफ गर्म गोंद डालें और फिर ट्यूब को एक साथ दबाएं, फिर आपके पास जमीन में आसानी से लाने के लिए अच्छा टॉप है।

पहले अपने पाइप को जमीन में गाड़ दें, आप लकड़ी के बोर्ड से नरम हथौड़ा मार सकते हैं।

यदि पाइप काफी गहरा है तो आप अपनी ds18b20 श्रृंखला और बिजली के तारों को वाटरप्रूफ बॉक्स में रख सकते हैं।

पक्का करें कि इस जगह पर आपका वाई-फ़ाई काम कर रहा है!

यदि आप नहीं जानते कि कौन सा सेंसर कितना गहरा है, तो 2 संभावनाएं हैं।

मैं परीक्षण चरण आपकी उंगली के बीच 1 ds18b20 डालता हूं, इसके लिए तापमान अधिक हो जाता है।

जब पाइप पहले से ही जमीन में होता है तो नॉर्मली उच्चतम मूल्य सबसे गहरा बिंदु होता है।

चरण 8: समाप्त करें

खत्म हो
खत्म हो

बस अंत

अपने प्रश्न पोस्ट करें और टिप्पणियों में अपना जमीनी तापमान दिखाएं!

अधिक सहायता के लिए WEewx google Groups में शामिल हों:

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

सिफारिश की: