विषयसूची:

ESP32 मौसम स्टेशन सौर ऊर्जा संचालित: 9 कदम
ESP32 मौसम स्टेशन सौर ऊर्जा संचालित: 9 कदम

वीडियो: ESP32 मौसम स्टेशन सौर ऊर्जा संचालित: 9 कदम

वीडियो: ESP32 मौसम स्टेशन सौर ऊर्जा संचालित: 9 कदम
वीडियो: DIY Solar Powered WiFi Weather Station - V2.0 || Solar Weather Station ESP8266 2024, जून
Anonim
Image
Image
ESP32 मौसम स्टेशन सौर ऊर्जा संचालित
ESP32 मौसम स्टेशन सौर ऊर्जा संचालित
ESP32 मौसम स्टेशन सौर ऊर्जा संचालित
ESP32 मौसम स्टेशन सौर ऊर्जा संचालित

इस ट्यूटोरियल में हम एक वाईफाई इनेबल्ड वेदर स्टेशन प्रोजेक्ट बनाने जा रहे हैं।

लगभग सभी संभावित सुविधाओं के साथ वेदर स्टेशन को डिजाइन करने का लक्ष्य है:

  • वर्तमान स्थिति, समय, तापमान, आर्द्रता, दबाव दिखाएं
  • अगले दिनों के लिए पूर्वानुमान दिखाएं
  • हवा पर अपडेट करें
  • कॉन्फ़िगरेशन और डेटा रिप्रेजेंटेशन के लिए वेब साइट में निर्मित
  • इतिहास के आंकड़ों के लिए क्लाउड पर डेटा अपलोड करें
  • एपल होम किट या एमक्यूटीटी के साथ एकीकृत
  • इंपेडेड एक्यू संभावित रिचार्ज के साथ संचालित या सोलर पैनल से कनेक्ट

मैं और अधिक कल्पना नहीं जोड़ सकता और क्या होना चाहिए या क्या हो सकता है

चरण 1: वे भाग जो आवश्यक हैं

भाग जो आवश्यक हैं
भाग जो आवश्यक हैं
भाग जो आवश्यक हैं
भाग जो आवश्यक हैं
भाग जो आवश्यक हैं
भाग जो आवश्यक हैं
  • ESP32 (मैंने देव मॉड्यूल का उपयोग किया है)
  • 2.8 "240x320 टीएफटी एलसीडी एसपीआई ILI9341"
  • प्लास्टिक की पेटी
  • 3 x 18650 एक्यू
  • तापमान, आर्द्रता और दबाव मापने के लिए मौसम संवेदक BME280
  • यूएसबी लिथियम चार्जर मॉड्यूल
  • डीसी-डीसी चरण UP18650
  • बैटरी धारक (3 पीसी)
  • HC-SR505 मोशन डिटेक्टर
  • २२० ओम रोकनेवाला
  • 2x 10 kOm प्रतिरोधक
  • TIP120 NPN ट्रांजिस्टर (डार्लिंगटन) किसी अन्य संगत का उपयोग किया जा सकता है
  • बटनवायर, स्विच, सोल्डर बोर्ड….

चरण 2: तारों और संयोजन

तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण
तारों और कोडांतरण

पहला कदम स्टेशन शक्तियों का संयोजन है।

मैंने प्लास्टिक के केस को दो हिस्सों में बांटा है, उनमें से एक बैटरी, स्विच, यूएसबी चार्जर और डीसी-डीसी स्टेप आउट के लिए इस्तेमाल किया जाता है। USB चार्जर मॉड्यूल से अवगत रहें, इसलिए मैंने एल्यूमीनियम प्लेट का उपयोग किया है और स्टार 922 गोंद का उपयोग करके इस पर USB चार्जर लगाया है।

दूसरा चरण नियंत्रक भाग को असेंबल करना है।

वायरिंग आरेख देखें कि इसे कैसे जोड़ा जाना चाहिए

मैंने इस उद्देश्य के लिए निम्नलिखित चरणों के साथ ब्रेड बोर्ड का उपयोग किया है

  • मिलाप ESP32 देव बोर्ड
  • टीएफटी डिस्प्ले रखने के लिए सोल्डर शील्ड
  • मिलाप अन्य इलेक्ट्रॉनिक घटक: BME280, प्रतिरोधक, बटन
  • आरेख के अनुसार घटकों के बीच सोल्डर वायरिंग

तीसरा चरण प्लास्टिक के मामले के दूसरे भाग में ब्रेड बोर्ड की माउंटिंग तैयार करना है। मैंने अपने 3डी प्रिंटर पर दो बार प्रिंट किए हैं, उन्हें स्क्रू द्वारा ब्रेडबोर्ड पर माउंट करें और डिस्प्ले स्क्रीन के लिए आयताकार कटिंग करें।

मैंने प्लास्टिक की सलाखों को प्लास्टिक के मामले के शरीर का समर्थन किया। अब जब ग्लू सूख जाए तो ब्रेड बोर्ड कैब को स्क्रू से अनमाउंट कर दें।

अगला कदम है:

  • पावर स्रोत के लिए सोल्डर वायरिंग
  • बैटरी वोल्टेज की स्थिति के लिए सोल्डर वायरिंग
  • मिलाप और माउंट मोशन डिटेक्टर

अंतिम चरण:

  • आउटपुट वोल्टेज 5v. ट्यूनिंग द्वारा डीसी-डीसी कनवर्टर सेटअप करें
  • स्टेशन नियंत्रक के दो हिस्सों को बिजली से कनेक्ट करें: बिजली के तार और वोल्टेज रीडिंग

मोशन डिटेक्टर और बटन के लिए मैंने चेहरे की तरफ एक अतिरिक्त छेद किया है।

चरण 3: फर्मवेयर को ESP32 में अपलोड करना

इस परियोजना के लिए मैंने अपने द्वारा विकसित सार्वभौमिक सॉफ्टवेयर का उपयोग किया है

कृपया गीथब पेज ESPHomeController पर एक नज़र डालें। इसमें पूरा निर्देश है कि कैसे संकलन और सेटअप किया जाए।

! यदि आप संकलन से परिचित नहीं हैं और Arduino के पास एक नज़र चरण है तैयार फर्मवेयर अपलोड करना

जैसे ही आप पहली बार फर्मवेयर अपलोड करते हैं, ESP32 कॉन्फ़िगरेशन मोड (एक्सेस प्वाइंट मोड) में शुरू हो जाएगा।

आपको उन्हें कॉन्फ़िगर करना चाहिए। इस उद्देश्य के लिए उपलब्ध वाईफाई की किसी भी डिवाइस सूची में खोलें। होमकंट्रोलर ढूंढें और उससे कनेक्ट करें। कैप्टिव पोर्टल अपने आप शुरू हो जाना चाहिए। यदि आपके ब्राउज़र में यूआरएल दर्ज नहीं है: 192.168.4.1 और आपको कॉन्फ़िगरेशन स्क्रीन दिखाई देगी

निर्देशों का पालन करें और वाईफाई क्रेडेंशियल्स को अपने वाईफाई नेटवर्क में कॉन्फ़िगर करें।

उसके बाद ईएसपी वाईफाई क्लाइंट के रूप में फिर से शुरू होगा और आपके वाईफाई से जुड़ जाएगा।

जैसे ही sson firts कनेक्शन होता है, यह स्वतः ही Spiffs फाइल सिस्टम को माउंट कर देगा और वेब पोर्टल के लिए आवश्यक फाइलों को डाउनलोड करेगा:

  • index.html
  • filebrowse.html
  • js/bundle.min.js.gz

डाउनलोड https://github.com/Yurik72/ESPHomeController/tree/… फ़ोल्डर से होता है

अब आप वेब ब्राउज़र के माध्यम से फ़ाइल सामग्री देख सकते हैं। इसके लिए अब आपको अपने ESP32 का IP पता होना चाहिए

आप इसे निम्न में से किसी एक तरीके से ढूंढ सकते हैं:

  • ESP32 लॉग देखने के लिए सीरियल पोर्ट मॉनिटर का उपयोग करना
  • अपने नेटवर्क उपकरणों को स्कैन करने के लिए किसी भी टीसीपी स्कैनर का उपयोग करना
  • मौसम स्टेशन पर एक बटन दबाएं और आपको सिस्टम की जानकारी दिखाई देगी

ब्राउज़ करें https://192.168.0. XX/browse और आप अपने ईएसपी की एक फ़ाइल सूची देखेंगे

(१९२.१६८.०. XX आपके डिवाइस का आईपी पता है

अंतिम ट्यूनिंग के लिए आपको कॉन्फ़िगरेशन फ़ाइलें तैयार करने की आवश्यकता है।

चरण 4: तैयार फर्मवेयर अपलोड करना

तैयार फर्मवेयर अपलोड करना
तैयार फर्मवेयर अपलोड करना

यह खंड विशेष रूप से श्रवण के लिए है जो स्वयं फर्मवेयर का उत्पादन नहीं करने जा रहा है। आपको बस "रेडी" फर्मवेयर अपलोड करने की आवश्यकता है

1. इस पेज से फ्लैश अपलोड टूल डाउनलोड करें

2. अपनी हार्ड ड्राइव में संलग्न (संग्रह से निकालें) फ़ाइलें HomeController.bin और bootloader_qio_80m.bin डाउनलोड करें

3. ESP32 डाउनलोड टूल प्रारंभ करें और स्क्रीनशॉट के अनुसार मान दर्ज करें

4. प्रेस प्रारंभ

चरण 5: विन्यास

कॉन्फ़िगरेशन की तैयारी शुरू करने से पहले आपको चाहिए:

  1. थिंग्सपेक पर अपना चैनल बनाएं और अपने चैनल की कुंजी बनाएं। 4 फ़ील्ड तैयार करें और उन्हें ठीक से नाम दें तापमान, आर्द्रता, दबाव, वोल्टेज
  2. अपनी एपीआई कुंजी प्राप्त करने के लिए Weather.com पर पंजीकरण करें

अपना डेटा अपलोड करने और रुझानों और मूल्यों पर नज़र रखने के लिए थिंग्सपीक की आवश्यकता होती है

पूर्वानुमान डेटा प्राप्त करने के लिए मौसम आवश्यक है।

ठीक है, अंत में आपको निम्न सामग्री के साथ services.json फ़ाइल बनाने की आवश्यकता है

[{"सेवा": "टाइमकंट्रोलर", "नाम": "समय", "सक्षम": सच, "अंतराल": 1000, "टाइमऑफ़": 7200, "डेलॉफ़्स": 3600, "सर्वर": "पूल.एनटीपी.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}, {"service":"BME280Controller", "name":"BME", "enable": सच, "अंतराल": 900000, "i2caddr": 118, "उपयोग विरासत": सच, "temp_corr": -3.0, "hum_corr": 10.0}, {"सेवा": "WeatherClientController", "नाम": "WeatherForecast", "सक्षम": सच, "अंतराल": 500000, "यूरी":"https://api.weather.com/v3/wx/forecast/daily/5day?geocode=50.30, 30.70&format=json&units=m&language=en -US&apiKey=weatherapi"}, {"service":"WeatherDisplayController", "name":"WeatherDisplay", "सक्षम":सच, "अंतराल":500}, {"सक्षम":"सही", "अंतराल": 600000, "पिन":36, "सेवा":"LDRController", "नाम": "LDR", "cvalmin":0.0, "cvalmax":7.2, "cfmt":"%.2f V", "acctype":10}, {"सेवा": "थिंगस्पीक कंट्रोलर", "नाम": "थिंगस्पीक", "सक्षम": सच, "अंतराल": १२००००, "मान": [१, १, १, ०, ०, 0, 0], "एपीकी": "थिंग्सपी" kapi"}, {"सक्षम":सच, "अंतराल":1, "पिन":"", "सेवा":"बटन नियंत्रक", "नाम":"बटन", "पिन":[27]}]

!कृपया बदलें

  • थिंग्सस्पीकापी विथ योर थिंग्सस्पीक एपी की
  • अपने मौसम एपीआई कुंजी के साथ वेदरपी
  • अपने स्थान के साथ जियोकोड जिसके लिए आप पूर्वानुमान प्राप्त करना चाहते हैं

दूसरी फ़ाइल तैयार करने से पहले triggers.json

[{"प्रकार":"BMEToWeatherDisplay", "स्रोत":"BME", "गंतव्य":"WeatherDisplay"}, {"प्रकार":"TimeToWeatherDisplay", "स्रोत":"समय", "गंतव्य":"WeatherDisplay "}, {"प्रकार":"WeatherForecastToWeatherDisplay", "स्रोत":"WeatherForecast", "गंतव्य":"WeatherDisplay"}, {"प्रकार":"BMEToThingSpeak", "स्रोत":"BME", "गंतव्य": "थिंगस्पीक", "t_ch": 1, "h_ch": 2, "p_ch": 3}, {"प्रकार": "बटन टूवेदर डिस्प्ले", "स्रोत": "बटन", "गंतव्य": "वेदरडिस्प्ले"}, { "टाइप": "एलडीआरटीओथिंगस्पीक", "स्रोत": "एलडीआर", "गंतव्य": "थिंगस्पीक", "सीएच": 4}]

दोनों फाइलों को esp की जड़ में अपलोड करना होगा।

आप इसे ब्राउज़र https://192.168.0. XX/browse के माध्यम से कर सकते हैं, जहां https://192.168.0. XX आपके डिवाइस का आईपी पता है

अपलोड करने के बाद ईएसपी को फिर से शुरू करना होगा और सब कुछ ठीक किया गया था। Esp उपरोक्त फोटो और वीडियो के अनुसार उचित स्क्रीन दिखाएगा

चरण 6: ट्यूनिंग और बिजली की खपत

ट्यूनिंग और बिजली की खपत
ट्यूनिंग और बिजली की खपत

मैं सोलर पैनल के कनेक्शन के साथ अपने डिवाइस का उपयोग कर रहा हूं और यह सुनिश्चित करने के लिए कि यह "असीम रूप से" काम कर सकता है

बिजली की खपत महत्वपूर्ण है और कई प्रयोगों के बाद मैंने दो प्रमुख तरकीबें इस्तेमाल की हैं

टीएफटी स्क्रीन के बैकग्राउंड एलईडी की खपत कम करें।

माप के अनुसार यह 15-20 एमए (बहुत) खा रहा है इसलिए मैंने मोशन डिटेक्टर के साथ रणनीति का उपयोग किया है। यह पूरी तरह से मोशन डिटेक्टर काम करता है जो 8-10 मीटर तक किसी भी पहचान को पहचानने और सिग्नल केबल पर वोल्टेज बढ़ाने में सक्षम है। यह एक ट्रांजिस्टर खोल रहा है और बैकग्राउंड एलईडी को एक शक्ति प्राप्त होती है। आमतौर पर डिटेक्टर इस स्थिति को 10 सेकंड तक रखता है जो मॉनिटर को देखने के लिए पर्याप्त है, लेकिन यदि आप गति जारी रखते हैं तो सिग्नल अभी भी उच्च है और एलईडी प्रकाश कर रहा है।

इस तरह के दृष्टिकोण से मुझे एक बड़ी अर्थव्यवस्था मिलती है, अतिरिक्त प्रभावों के बिना, मुझे अपनी स्क्रीन देखने के लिए किसी भी समस्या का सामना नहीं करना पड़ता है

2. ESP32 द्वारा बिजली की खपत कम करें

जब ईएसपी वाईफाई से जुड़ा होता है, तो यह लगातार 7-10 एमए खा रहा है, मैं निरंतर समय के बारे में बात कर रहा हूं, स्टार्टअप और पहले कनेक्शन के बारे में नहीं। यह स्वीकार्य हो सकता है यदि आपने हमेशा वास्तविक तिथि और समय देखा है, तो अपने सिस्टम को Apple होम किट से एक्सेस करें

सर्दियों के समय में भी मेरी सौर ऊर्जा के लिए अतिरिक्त बिजली स्रोतों के बिना काम करने के लिए मिलान करना था, इसलिए मैंने समय-समय पर ESP32 को स्लीप मोड पर रखने का फैसला किया (खाना 1 mA से कम है)। यह मेरे लिए ठीक है, उदाहरण के लिए ईएसपी जागने से 20 मिनट सो रहा है, रीफ्रेश स्क्रीन (वास्तविक डेटा और पूर्वानुमान) चीजों को डेटा भेजता है और फिर से नींद मोड में वापस भेजता है

माइनस हैं:

  • मौसम स्क्रीन पुराने समय मान प्रदर्शित करती है
  • स्लीप टाइम के दौरान ब्राउज़र और Apple Home Kit से स्टेशन पर पहुँचा नहीं जा सकता

यह आपको तय करना है कि क्या अधिक महत्वपूर्ण है, आप इसे सरल रूप से पुन: कॉन्फ़िगर कर सकते हैं।

कृपया एक नज़र डालें services.json फ़ाइल और लाइन

[{"सेवा": "टाइमकंट्रोलर", "नाम": "समय", "सक्षम": सच, "अंतराल": 1000, "टाइमऑफ़": 7200, "डेलॉफ़्स": 3600, "सर्वर": "पूल.एनटीपी.org", "enablesleep":true, "sleeptype":1, "sleepinterval":900000, "restartinterval":18000000}

"enablesleep": सच नींद को बिल्कुल भी सक्षम बनाता है, अगर वहां झूठा डाल दिया जाए या पैरामीटर हटा दें (झूठा डिफ़ॉल्ट है) ईएसपी कभी नहीं सोएगा

"स्लीपइंटरवल": 900000 यह मिली या 15 मिनट है, इसका मतलब है कि हर 15 मिनट में ईएसपी जाग जाएगा और आवश्यक स्टाफ कर रहा है

तो, अब हर कोई आसानी से आवश्यकता के अनुसार खेल सकता है

चरण 7: सेंसर ट्यूनिंग

बीएमई२८० तापमान संवेदक को आंतरिक हीटिंग के प्रभाव को कम करने के लिए

एफर्ट्स मैंने सेंसर और होल के आसपास कुछ ट्यूब की। मेरे मोड में होवर जब एलईडी सामान्य रूप से बंद हो जाती है और ईएसपी सो रहा है तो इतना आयात नहीं है। अन्य मामलों में आंतरिक हीटिंग के प्रभाव को बाहर करने के लिए BME280 सेंसर को कहीं और जाना चाहिए। मुझे कितना भी छोटा प्रभाव मिला इसलिए क्षतिपूर्ति करने के लिए दो पैरामीटर हैं

"hum_corr":10.0

जिसका मतलब है कि माप के बाद उन मूल्यों को जोड़ा जाएगा

दूसरा बैटरी वोल्टेज माप को कैलिब्रेट करना है, {"सक्षम": "सही", "अंतराल": 600000, "पिन": 36, "सेवा": "LDRController", "नाम": "LDR", "cvalmin": 0.0, "cvalmax": 7.2, " cfmt":"%.2f V", "acctype":10}, "कैवलमिन":0.0

"cvalmax":7.2

इस उद्देश्य के लिए हैं, क्योंकि वोल्टेज को प्रतिरोधक डिवाइडर के बाद मापा जाता है और 3.3 V के साथ तुलना में, cvalmax मान के साथ खेलते हुए आप अपने मल्टीमीटर मान के साथ सटीक वोल्टेज ट्यूनिंग तक पहुंच सकते हैं

चरण 8: Apple होम किट में डिवाइस जोड़ना

Apple होम किट में डिवाइस जोड़ना
Apple होम किट में डिवाइस जोड़ना

अंत में जब आपका डिवाइस ठीक से काम कर रहा हो तो इसे Apple होम किट में जोड़ा जा सकता है और आप देख पाएंगे

Apple होम स्क्रीन पर सेंसर मान।

सबसे पहले आपको डिवाइस को पुनरारंभ करने की आवश्यकता है, जैसे ही डिवाइस शुरू हुआ, यह सो नहीं जाएगा 20 मिनट पर्याप्त से अधिक है

अपने आईओएस डिवाइस पर होम किट ऐप खोलें, और नया होम 1 चुनें या बनाएं। जोड़ें (+) दबाएं

2. एक्सेसरी जोड़ें चुनें।

3. प्रेस मेरे पास कोड नहीं है या स्कैन नहीं कर सकता (स्कैनिंग पर आगे जोड़ा जाएगा)

4. अगर सब कुछ ठीक चल रहा है तो आपको अपना नया esp डिवाइस एक सूची में देखना चाहिए (चित्र देखें)

5. डिवाइस का चयन करें और आधिकारिक प्रमाणीकरण के बिना जोड़ने की पुष्टि करें

6. पासवर्ड टाइप करें 11111111

7. वह सब! आपको यह देखना चाहिए कि डिवाइस सफलतापूर्वक युग्मित हो गया है, अन्यथा युग्मन प्रक्रिया फिर से प्रारंभ करें..

इस सेटिंग के आधार पर आपको Apple पर दो डिवाइस दिखाई देंगे

1. टेम्प सेंसर और हम सेंसर, गहराई में जाकर यह पूर्ण स्क्रीन पर मान प्रदर्शित करेगा

2. लाइट सेंसर:) वास्तव में एप्पल लाइट एंबियंस दिखाने में सक्षम है, लेकिन वोल्टेज नहीं, इसलिए लक्स में बैटरी वोल्टेज दिख रहा है

चरण 9: ओटीए: ओवर द एयर अपडेट

किसी भी अपडेट को शुरू करने से पहले ESP32 को रीबूट करना बेहतर होता है, जैसा कि पहले बताया गया है कि यह पहले 20 मिनट में नहीं सोएगा

अपडेट करने की दो संभावनाएं हैं

  1. https://192.168.0. XX/browse का उपयोग करके कॉन्फ़िगरेशन आप ESP पर अपने फ़ाइल सिस्टम तक पहुँच सकते हैं और कॉन्फ़िगरेशन फ़ाइलों को बदल सकते हैं
  2. आप फर्मवेयर को पूरी तरह से अपडेट कर सकते हैं। इस उद्देश्य के लिए सबसे पहले आपको नया बनाने की आवश्यकता है। यह Arduino या Visual Studio IDE के माध्यम से किया जा सकता है। फिर ब्राउज़र में टाइप करें https://192.168.0. XX/update, अपना फर्मवेयर चुनें और अपडेट दबाएं। प्रक्रिया समाप्त होने तक प्रतीक्षा करें और आपको प्रतिक्रिया मिलेगी ठीक है, अन्यथा चरण फिर से दोहराएं

सिफारिश की: