- बिजली की खपत को कम करने के लिए विभिन्न तरीके
- अवयव आवश्यक
- ESP8266 में स्लीप मोड के प्रकार
- ESP8266 डीप स्लीप मोड प्रोग्रामिंग
- ESP8266 में दीपस्लीप का परीक्षण
चूंकि IoT क्रांति हर एक दिन फलफूल रही है, इससे जुड़े उपकरणों की संख्या बहुत तेजी से बढ़ रही है। भविष्य में, अधिकांश उपकरण एक-दूसरे से जुड़े होंगे और वास्तविक समय में संवाद करेंगे। इन डिवाइसों में से एक समस्या बिजली की खपत है। यह बिजली खपत कारक किसी भी IoT डिवाइस और IoT प्रोजेक्ट्स के लिए महत्वपूर्ण और निर्णायक कारक है।
जैसा कि हम जानते हैं कि किसी भी IoT प्रोजेक्ट को बनाने के लिए ESP8266 सबसे लोकप्रिय मॉड्यूल में से एक है, इसलिए इस लेख में हम किसी भी IoT एप्लिकेशन में ESP8266 का उपयोग करते हुए बिजली बचाने के बारे में सीखते हैं। यहाँ हम 15 सेकंड के अंतराल में ThingSpeak क्लाउड पर LM35 तापमान सेंसर डेटा अपलोड करते हैं और उन 15 सेकंड के दौरान ESP8266 बिजली बचाने के लिए डीपस्लीप मोड में रहता है
बिजली की खपत को कम करने के लिए विभिन्न तरीके
एम्बेडेड और IoT उपकरणों में बिजली की खपत को अनुकूलित करने के कई तरीके हैं। अनुकूलन हार्डवेयर और सॉफ्टवेयर पर किया जा सकता है। कभी-कभी हम बिजली की खपत को कम करने के लिए हार्डवेयर घटकों का अनुकूलन नहीं कर सकते हैं, लेकिन निश्चित रूप से हम इसे कोड निर्देशों और कार्यों को बदलकर और अनुकूलन करके सॉफ़्टवेयर साइड पर कर सकते हैं। इतना ही नहीं, डेवलपर्स माइक्रोकंट्रोलर पावर कंजम्पशन को कम करने के लिए क्लॉक फ्रीक्वेंसी को भी संशोधित कर सकते हैं।जब डेटा का आदान-प्रदान नहीं होता है और किसी विशेष अंतराल में परिभाषित कार्य करते हैं, तो हम हार्डवेयर को सो जाने के लिए एक फर्मवेयर लिख सकते हैं। स्लीपिंग मोड में, कनेक्टेड हार्डवेयर बहुत कम बिजली खींचता है और इसलिए बैटरी लंबे समय तक चल सकती है। यदि आप बिजली की खपत तकनीकों के बारे में अधिक जानना चाहते हैं, तो आप माइक्रोकंट्रोलर में बिजली की खपत को कम कर सकते हैं।
ESP8266 मॉड्यूल सबसे व्यापक रूप से उपयोग किया जाने वाला वाई-फाई मॉड्यूल हैं, जो स्लीप मोड सहित विभिन्न मोड वाले छोटे आकार में कई विशेषताओं के साथ आते हैं और इन मोड्स को हार्डवेयर और सॉफ़्टवेयर में कुछ संशोधन का उपयोग करके एक्सेस किया जा सकता है। ESP8266 के बारे में अधिक जानने के लिए, आप ESP826 वाई-फाई मॉड्यूल का उपयोग करके हमारे IoT आधारित परियोजनाओं की जांच कर सकते हैं, उनमें से कुछ नीचे सूचीबद्ध हैं:
- ईमेल भेजने के लिए Atmega16 माइक्रोकंट्रोलर के साथ ESP8266 NodeMCU को इंटरफैस करना
- NodeMCU ESP8266 का उपयोग करके फायरबेस रियल-टाइम डेटाबेस में तापमान और आर्द्रता सेंसर डेटा भेजना
- IoT को Google Firebase कंसोल और ESP8266 NodeMCU का उपयोग करके नियंत्रित किया गया
यहां हम ESP8266 में उपलब्ध विभिन्न स्लीप मोड्स के बारे में बताएंगे और गहरी नींद मोड का उपयोग करके एक नियमित अंतराल में थिंग्सपेक सर्वर को तापमान डेटा भेजकर उन्हें प्रदर्शित करेंगे ।
अवयव आवश्यक
- ESP8266 वाई-फाई मॉड्यूल
- LM35 तापमान सेंसर
- जम्पर के तार
ESP8266 में स्लीप मोड के प्रकार
Esp8266 मॉड्यूल निम्नलिखित मोड में काम करता है:
- सक्रिय मोड: इस मोड में, पूरे चिप को संचालित किया जाता है और चिप डेटा प्राप्त कर सकता है, प्रसारित कर सकता है। जाहिर है, यह सबसे अधिक बिजली खपत वाला मोड है।
- मोडेम-स्लीप मोड: इस मोड में, सीपीयू चालू है और वाई-फाई रेडियो अक्षम हैं। इस मोड का उपयोग उन अनुप्रयोगों में किया जा सकता है जिनके लिए CPU काम करने की आवश्यकता होती है, जैसा कि PWM में होता है। यह वाई-फाई मॉडेम सर्किट को बंद कर देता है, जबकि वाई-फाई एपी (एक्सेस प्वाइंट) से जुड़ा होता है, जिसमें बिजली की खपत को अनुकूलित करने के लिए कोई डेटा ट्रांसमिशन नहीं होता है।
- लाइट-स्लीप मोड: इस मोड में, सीपीयू और सभी बाह्य उपकरणों को रोक दिया जाता है। किसी भी वेक-अप जैसे बाहरी व्यवधान चिप को जगाएंगे। डेटा ट्रांसमिशन के बिना, बिजली की खपत को बचाने के लिए वाई-फाई मॉडेम सर्किट को बंद किया जा सकता है और सीपीयू को निलंबित कर दिया गया है।
- डीप-स्लीप मोड: इस मोड में केवल RTC कार्यात्मक है और चिप के अन्य सभी घटक बंद हैं। यह मोड उपयोगी है जहां डेटा लंबे समय के अंतराल के बाद प्रेषित होता है।
NodeMCU के A0 पिन के साथ LM35 तापमान सेंसर कनेक्ट करें ।
जब ईएसपी मॉड्यूल में आरएसटी पिन पर उच्च होता है, तो यह चालू स्थिति में होता है। जैसे ही यह RST पिन पर LOW सिग्नल प्राप्त करता है, ESP पुनरारंभ होता है।
गहरी नींद मोड का उपयोग करके टाइमर सेट करें, एक बार जब टाइमर समाप्त हो जाता है तो D0 पिन RST पिन को LOW सिग्नल भेजता है और मॉड्यूल इसे पुनरारंभ करके जाग जाएगा।
अब, हार्डवेयर तैयार है और अच्छी तरह से कॉन्फ़िगर किया गया है। तापमान रीडिंग थिंग्सपेक सर्वर पर भेजी जाएगी। इसके लिए, thingspeak.com पर एक खाता बनाएं और नीचे दिए गए चरणों के माध्यम से जाकर एक चैनल बनाएं।
अब, लिखें API कुंजी को कॉपी करें। जिसका उपयोग ईएसपी कोड में किया जाएगा।
ESP8266 डीप स्लीप मोड प्रोग्रामिंग
आसानी से उपलब्ध Arduino IDE का उपयोग ESP8266 मॉड्यूल प्रोग्राम करने के लिए किया जाएगा। सुनिश्चित करें कि सभी ESP8266 बोर्ड फ़ाइलें स्थापित हैं।
आवश्यक सभी महत्वपूर्ण पुस्तकालयों को शामिल करने के साथ शुरू करें।
#शामिल
एक बार सभी लाइब्रेरी फ़ंक्शंस एक्सेस करने के लिए शामिल हो जाएं, फिर एपीआई राइट कुंजी असाइन करें, अपना वाई-फाई नाम और पासवर्ड कॉन्फ़िगर करें। फिर आगे के उपयोग के लिए सभी चर घोषित करें जहां डेटा संग्रहीत किया जाना है।
स्ट्रिंग एपिराइटी = "*************"; // अपने THINGSPEAK WRITEAPI कुंजी के साथ बदलें यहाँ ssid = "******"; // आपका wifi SSID नाम चार पासवर्ड = "******"; // wifi pasword
अब, wifi.begin () फ़ंक्शन का उपयोग करके वाई-फाई नेटवर्क के साथ मॉड्यूल को कनेक्ट करने के लिए एक फ़ंक्शन बनाएं और तब तक लगातार जांचें जब तक कि मॉड्यूल लूप का उपयोग करके वाई-फाई से कनेक्ट न हो।
void connect1 () { WiFi.disconnect (); देरी (10); WiFi.begin (ssid, पासवर्ड); जबकि (WiFi.status ()! = WL_CONNECTED) {
डेटास्पीक सर्वर पर डेटा भेजने के लिए एक और कार्य करें। यहां, एक स्ट्रिंग भेजी जाएगी जिसमें एपीआई राइट की, फ़ील्ड नंबर और डेटा होगा जिसे भेजा जाना है। फिर इस स्ट्रिंग को client.print () फ़ंक्शन का उपयोग करके भेजें।
शून्य डेटा () { if (client.connect (सर्वर, 80)) { स्ट्रिंग tsData = apiWritekey; tsData + = "& field1 ="; tsData + = स्ट्रिंग (अस्थायी); tsData + = "\ r \ n \ r \ n"; client.print ("POST / अपडेट HTTP / 1.1 \ n"); client.print ("Host: api.thingspeak.com \ n");
कनेक्ट 1 फ़ंक्शन को कॉल करें जो वाई-फाई को जोड़ने के लिए फ़ंक्शन को कॉल करेगा फिर तापमान की रीडिंग लेगा और इसे सेल्सियस में बदल देगा।
शून्य सेटअप () { Serial.begin (115200); Serial.println ("डिवाइस वेक अप मोड में है"); कनेक्ट 1 (); int value = analogRead (A0); फ्लोट वोल्ट = (मूल्य / 1024.0) * 5.0; अस्थायी = वोल्ट * 100.0;
अब, डेटा को कॉल करने के लिए फ़ंक्शन () फ़ंक्शन को चीजों को क्लाउड पर अपलोड करने के लिए। अंत में, कॉल करने के लिए महत्वपूर्ण कार्य ESP.deepSleep () है; यह समय के परिभाषित अंतराल के लिए मॉड्यूल को बनाएगा जो कि माइक्रोसेकंड में है।
डेटा(); Serial.println ("15 सेकंड के लिए गहरी नींद"); ESP.deepSleep (15e6);
लूप फ़ंक्शन खाली रहेगा क्योंकि सभी कार्य एक बार करने होंगे और फिर समय के निर्धारित अंतराल के बाद मॉड्यूल को रीसेट करना होगा।
इस ट्यूटोरियल के अंत में वर्किंग वीडियो और पूरा कोड दिया गया है। ईएसपी 8266 मॉड्यूल में कोड अपलोड करें। प्रोग्राम अपलोड करने से पहले RST और D0 कनेक्टेड तार को हटा दें अन्यथा यह एक त्रुटि देगा ।
ESP8266 में दीपस्लीप का परीक्षण
कार्यक्रम को अपलोड करने के बाद आप देखेंगे कि तापमान रीडिंग हर 15 सेकंड के बाद थिंगस्पीक क्लाउड पर अपलोड हो रही है और फिर मॉड्यूल गहरी नींद मोड में जाते हैं।
यह ESP8266 मॉड्यूल में डीप स्लीप का उपयोग करने पर ट्यूटोरियल को पूरा करता है । डीपस्लीप बहुत महत्वपूर्ण विशेषता है और इसे अधिकांश उपकरणों में शामिल किया गया है। आप इस ट्यूटोरियल को संदर्भित कर सकते हैं और विभिन्न परियोजनाओं के लिए इस पद्धति को लागू कर सकते हैं। किसी भी संदेह या सुझाव के मामले में, कृपया नीचे लिखें और टिप्पणी करें। इसके अलावा आप हमारे मंच तक पहुँच सकते हैं।