इस प्रोजेक्ट के बारे में

TaupunktLueftung ESP32-आधारित प्रणाली है जो ओसांत अंतर के आधार पर बुद्धिमान वेंटिलेशन नियंत्रण करती है। यह नम कमरों—जैसे बेसमेंट, कपड़े धोने के कमरे या भंडारण क्षेत्रों—के लक्षित सुखाने के लिए आदर्श है, कुशल और पूर्णतः स्वचालित। प्रणाली घर के अंदर और बाहर तापमान व आर्द्रता मापती है (SHT31 या DHT22 जैसे सेंसर या MQTT के माध्यम से), ओसांत की गणना करती है, और वेंटिलेशन केवल तभी सक्रिय करती है जब सुखाने की स्थितियाँ हों—अर्थात जब बाहरी हवा नमी सोखने में सक्षम हो, न कि उसे अंदर लाए। आर्द्रता नियंत्रण मोड में, यह निरार्द्रीकरण या आर्द्रीकरण द्वारा वांछित आर्द्रता स्तर बनाए रखने का प्रयास करती है। वेंटिलेशन एक रिले के माध्यम से स्विच होता है—आदर्श रूप से दो पंखों वाली व्यवस्था में: एक सूखी हवा अंदर खींचता है, दूसरा नम हवा बाहर निकालता है। इससे लक्षित निरार्द्रीकरण के लिए प्रभावी वायुप्रवाह बनता है। विशेषताएँ: - ओसांत-नियंत्रित वेंटिलेशन, लक्षित निरार्द्रीकरण के लिए—एक ओसांत विश्लेषण एल्गोरिदम अंतर के आधार पर वेंटिलेशन को नियंत्रित करता है। - वाई-फाई क्रेडेंशियल एक्सेस पॉइंट (TaupunktLueftung-Setup) के माध्यम से ब्राउज़र में कॉन्फ़िगर होते हैं और स्थायी रूप से संग्रहीत होते हैं। secrets.h में मैन्युअल संपादन की आवश्यकता नहीं। - वेब इंटरफ़ेस जिसमें लाइव डेटा प्रदर्शन, रीयल-टाइम चार्ट (प्रति घंटा, दैनिक और मासिक दृश्य) और कॉन्फ़िगरेशन क्षेत्र है। - लाइट/डार्क डिज़ाइन (Light/Dark/System), ड्रॉपडाउन से स्विच करने योग्य—चयन ब्राउज़र में सहेजा जाता है। - संपूर्ण वेब इंटरफ़ेस के लिए लॉगिन सुरक्षा (HTTP Basic Auth), यूज़रनेम और पासवर्ड ऑपरेशन के दौरान बदले जा सकते हैं। - अत्यधिक ठंडक से बचाव के लिए वैकल्पिक तापमान सुरक्षा। - बहुत कम आर्द्रता से बचाव के लिए वैकल्पिक शुष्कता सुरक्षा। - वांछित आर्द्रता स्तर बनाए रखने के लिए वैकल्पिक आर्द्रता नियंत्रण मोड। - सेंसर विफलता पर फेल-सेफ: यदि सेंसर त्रुटि बनी रहती है, तो सुरक्षा उपाय के रूप में वेंटिलेशन अपने आप बंद हो जाता है, बजाय अंतिम स्थिति में अनिश्चित काल तक चलने के। - सीमांत क्षेत्रों में पंखे/रिले सुरक्षा के लिए समायोज्य विलंब समय। - MQTT इंटरफ़ेस (publish और subscribe) + होम असिस्टेंट ऑटो-डिस्कवरी। - मॉड्यूलर: चुनने योग्य सेंसर स्रोत (हार्डवेयर या MQTT डेटा), सीधे Sensor source क्षेत्र में स्विच करने योग्य। - फर्मवेयर बैकअप: अपडेट से पहले चालू फर्मवेयर को .bin के रूप में सहेजा जा सकता है। - वेब इंटरफ़ेस में एक बटन के माध्यम से वाई-फाई क्रेडेंशियल रीसेट किए जा सकते हैं, बिना अन्य सेटिंग्स खोए। - ओवर-द-एयर (OTA) फर्मवेयर अपडेट का समर्थन करता है। Arduino IDE से USB के माध्यम से प्रारंभिक फ्लैशिंग के बाद, अनुकूलित फर्मवेयर वैरिएंट को Arduino IDE से OTA के माध्यम से अपडेट किया जा सकता है, या वेब इंटरफ़ेस से फर्मवेयर फ़ाइल के रूप में अपलोड किया जा सकता है। - प्रदर्शन अनुकूलन (v4.2 से): CSS/JavaScript को हर पेज विज़िट पर ESP32 से पुनः लोड करने के बजाय ब्राउज़र द्वारा कैश किया जाता है; एक WiFi फिक्स मॉडेम स्लीप मोड को स्थायी रूप से अक्षम रखता है (WiFi पुनः कनेक्शन के बाद ध्यान देने योग्य देरी को रोकता है); MQTT पुनः कनेक्ट प्रयासों को सीमित किया जाता है ताकि एक अप्राप्य ब्रोकर वेब इंटरफ़ेस को ब्लॉक न करे। आवश्यक घटक और सेटअप: हार्डवेयर घटक: - ESP32 Dev Board (जैसे DOIT)—WiFi के साथ माइक्रोकंट्रोलर—6–10 EUR - SHT31 सेंसर (इनडोर, वैकल्पिक रूप से आउटडोर)—तापमान और आर्द्रता, I2C, उच्च सटीकता—5–8 EUR प्रति - DHT22 सेंसर (आउटडोर, विकल्प)—तापमान और आर्द्रता, डिजिटल सिंगल-वायर, सस्ता—3–5 EUR - LED (3x) + रेसिस्टर (220–470 ओम)—स्थिति संकेतक: हरा, पीला, लाल—1–2 EUR - रिले मॉड्यूल (1 चैनल)—वेंटिलेशन नियंत्रण के लिए—2–4 EUR - जम्पर तार / ब्रेडबोर्ड—सेटअप और परीक्षण के लिए—2–5 EUR - एनक्लोज़र (वैकल्पिक)—ESP32 और वायरिंग की सुरक्षा—3–8 EUR कुल लागत: लगभग 20–30 EUR, कॉन्फ़िगरेशन और स्रोत पर निर्भर। सेटअप और वायरिंग: ESP32 पिनआउट: - GPIO17—DHT22 डेटा लाइन—DHT22 (10 kohm पुल-अप के साथ) से GND तक—केवल DHT22 वैरिएंट के लिए - GPIO16—रिले—Relay IN - GPIO2—हरी LED—रेसिस्टर + LED - GPIO18—लाल LED—रेसिस्टर + LED - GPIO19—पीली LED—रेसिस्टर + LED - GPIO21—SDA (I2C डेटा)—SHT31 इनडोर और SHT31 आउटडोर (साझा बस) - GPIO22—SCL (I2C क्लॉक)—SHT31 इनडोर और SHT31 आउटडोर (साझा बस) - 3.3V/GND—बिजली आपूर्ति—सभी घटक सरलीकृत ASCII योजना: +----------------------------+ | ESP32 Dev | | | | GPIO17 --> DHT22 data | (केवल DHT22 वैरिएंट) | GPIO16 --> Relay IN | | GPIO2 --> Green LED | | GPIO18 --> Red LED | | GPIO19 --> Yellow LED | | GPIO21 --> SDA (SHT31) | | GPIO22 --> SCL (SHT31) | +-------------+--------------+ | 3.3V / GND LEDs: एनोड (लंबा पिन) → रेसिस्टर → GPIO / कैथोड (छोटा पिन) → GND आउटडोर सेंसर चयन: यह प्रोजेक्ट आउटडोर सेंसर के लिए दो सेंसर प्रकारों का समर्थन करता है: - SHT31 (अनुशंसित)—डिजिटल I2C सेंसर, DHT22 की तुलना में काफी अधिक सटीक और स्थिर (आमतौर पर ±2% RH बनाम DHT22 के लिए ±2–5% RH), परिवर्तनों पर तेज़ी से प्रतिक्रिया करता है, कम तापमान पर भी विश्वसनीय मान देता है, और I2C का उपयोग करता है जो DHT22 के स्वामित्व वाले सिंगल-वायर टाइमिंग की तुलना में अधिक मजबूत और कम हस्तक्षेप वाला ट्रांसमिशन प्रोटोकॉल है। छोटे ओसांत अंतरों पर आधारित नियंत्रण के लिए, उच्च सेंसर सटीकता सीधे वेंटिलेशन निर्णयों की गुणवत्ता को प्रभावित करती है। - DHT22—सस्ता, कम सटीक, लेकिन I2C एड्रेसिंग के बिना सरल 3-तार वायरिंग। दो SHT31 सेंसर के लिए विशेष नोट: चूँकि इनडोर और वैकल्पिक आउटडोर SHT31 दोनों I2C का उपयोग करते हैं, दोनों सेंसर साझा बस (SDA = GPIO21, SCL = GPIO22) पर काम कर सकते हैं—किसी अतिरिक्त डेटा लाइन की आवश्यकता नहीं। ESP32 को दो सेंसरों के बीच अंतर करने में सक्षम बनाने के लिए, SHT31 में एड्रेस चयन के लिए AD/ADR पिन होता है: - SHT31 इनडोर—ADDR/AD पिन खुला या GND से—I2C एड्रेस 0x44 (डिफ़ॉल्ट) - SHT31 आउटडोर—ADDR/AD पिन 3.3V से जुड़ा—I2C एड्रेस 0x45 (कुछ SHT31 मॉड्यूल में अतिरिक्त AL/ALR पिन होता है—यह अलार्म/इंटरप्ट आउटपुट है और एड्रेस चयन से कोई लेना-देना नहीं; इसे खुला छोड़ दें।) आउटडोर सेंसर प्रकार सेट करना: इनडोर/आउटडोर मोड (हार्डवेयर या MQTT) के विपरीत, जिसे वेब इंटरफ़ेस में सेट किया जा सकता है, आउटडोर सेंसर के लिए SHT31 और DHT22 के बीच चयन जानबूझकर सोर्स कोड में कंपाइल-टाइम निर्णय है—इस तरह संकलन के दौरान केवल वास्तव में आवश्यक सेंसर लाइब्रेरी शामिल होती है, जिससे फ्लैश मेमोरी बचती है और संभवतः मौजूद न होने वाले दूसरे सेंसर के साथ अनावश्यक I2C संचार से बचा जाता है। सेंसर प्रकार बदलने के लिए: 1. TaupunktLueftung.ino खोलें। 2. पंक्ति खोजें: //#define SENSOR_TYP_AUSSEN_SHT31 3. SHT31 आउटडोर के लिए (रिपॉजिटरी में डिफ़ॉल्ट): पंक्ति को सक्रिय रखें (कमेंटेड न रखें)। 4. DHT22 आउटडोर के लिए: शुरुआत में // कमेंट मार्कर वापस जोड़ें और सुनिश्चित करें कि DHT22 पिन 17 से जुड़ा है। बिना खुद कंपाइल किए तैयार फर्मवेयर वैरिएंट: GitHub पर हर release में स्वचालित रूप से दो तैयार .bin फ़ाइलें होती हैं—TaupunktLueftung_dht22.bin और TaupunktLueftung_sht31.bin। वेब इंटरफ़ेस में OTA अपडेट के दौरान अपने हार्डवेयर से मेल खाती फ़ाइल चुनें, Arduino IDE इंस्टॉलेशन की आवश्यकता नहीं। नोट: - रिले मॉड्यूल: 230V वेंटिलेशन पंखे को स्विच करने के लिए इस्तेमाल किया जा सकता है। सावधानी: मेन्स वोल्टेज केवल योग्य कर्मियों द्वारा जोड़ा जाना चाहिए। - MQTT: बाहरी सेंसर डेटा प्राप्त करने के लिए MQTT ब्रोकर आवश्यक है (जैसे Mosquitto या Home Assistant)। ऑटो-डिस्कवरी समर्थित है (Home Assistant संगत)। - वेब इंटरफ़ेस: सभी सेटिंग्स जैसे MQTT, सेंसर स्रोत और थ्रेशोल्ड सीधे ब्राउज़र इंटरफ़ेस से कॉन्फ़िगर करने योग्य हैं, लॉगिन (यूज़रनेम/पासवर्ड) द्वारा सुरक्षित। - पहली फ्लैश के बाद डिफ़ॉल्ट क्रेडेंशियल: यूज़रनेम admin, पासवर्ड secrets.h (CONFIG_PASSWORD) से self-compiled फर्मवेयर के लिए, या [...]। दोनों को बाद में वेब इंटरफ़ेस में Settings → Access (Login) के अंतर्गत बदला जा सकता है। पंखे की अनुशंसा: छोटे बेसमेंट कमरों के लिए 100–150 m³/h। स्मार्ट होम सिस्टम (जैसे Home Assistant) के माध्यम से एकीकृत WiFi स्मार्ट प्लग का भी उपयोग किया जा सकता है। बिजली आपूर्ति और डिकपलिंग: 3.3V से GND को पावर पिन के जितना संभव हो उतना पास रखें, सबसे प्रभावी रूप से समानांतर में दो कैपेसिटर के संयोजन के रूप में: एक इलेक्ट्रोलाइटिक कैपेसिटर (470–1000 µF) छोटे वोल्टेज गिरावट के लिए, साथ ही एक सिरेमिक कैपेसिटर (100 nF) छोटे, उच्च-आवृत्ति शोर स्पाइक्स के लिए—अकेला इलेक्ट्रोलाइटिक उच्च-आवृत्ति घटकों को पर्याप्त रूप से संभाल नहीं पाता। होम असिस्टेंट एकीकरण (MQTT): मौजूदा होम असिस्टेंट सेंसर को ऑटोमेशन के माध्यम से सेंसर स्रोत के रूप में फीड किया जा सकता है (गाइड देखें: HA सेंसर MQTT के माध्यम से)। अगर आपको यह प्रोजेक्ट पसंद आया या उपयोगी लगा, तो आप मुझे एक कॉफ़ी खरीद सकते हैं।