विज्ञापन
Dusk-til-dawn स्विच और टाइमर स्विच दोनों ही आपकी रोशनी को स्वचालित करने के आसान तरीके हैं। क्या यह बहुत अच्छा नहीं होगा यदि आप दोनों को जोड़ सकते हैं, या यहां तक कि वास्तव में स्मार्ट प्रकाश व्यवस्था के लिए उन्हें इंटरनेट पर हुक कर सकते हैं?
एक रास्पबेरी पाई, एक रिले, एक प्रकाश संवेदक, और कोड का एक डैश आप सभी को एक स्वत: प्रकाश निर्वाण प्राप्त करने की आवश्यकता है।
आपको किस चीज़ की ज़रूरत पड़ेगी
आपके प्रकाश-संवेदी स्मार्ट स्विच के लिए घटक स्रोत के लिए आसान हैं। आपको ज़रूरत होगी:
- रास्पबेरी चल रहे किसी भी मॉडल रास्पबेरी पाई।
- ए रिले बोर्ड, अमेज़न पर आसानी से मिल जाता है।
- एक प्रवेश TSL2561 चमकदार सेंसर.
- जम्पर के तार।
- स्वचालित करने के लिए कुछ रोशनी!
कैसे एक लाइट-सेंसिंग स्मार्ट स्विच काम करता है
रिले का उपयोग करके उसी तरह से जैसे हमारे स्वचालित गेराज दरवाजा खोलने वाला प्रोजेक्ट IFTTT और रास्पबेरी पाई के साथ अपने गेराज दरवाजे को स्वचालित कैसे करेंइस ट्यूटोरियल में, हम आपको दिखाएंगे कि रास्पबेरी पाई और IFTTT से अधिक कुछ का उपयोग करके अपने गेराज दरवाजे को कैसे स्वचालित किया जाए। अधिक पढ़ें , आप निश्चित समय पर एक लाइटिंग सर्किट को स्विच करने के लिए रास्पबेरी पाई को प्रोग्राम कर सकते हैं। मिक्स में एक ल्युमिनोसिटी सेंसर जोड़ने का मतलब है कि पाई परिवेशी प्रकाश स्तर का पता लगा सकती है, और केवल तभी रोशनी चालू कर सकती है जब उन्हें वास्तव में ज़रूरत हो।
क्योंकि एक Pi एक छोटा कंप्यूटर है जिसे एक नेटवर्क से जोड़ा जा सकता है, आप इसे इंटरनेट पर भी नियंत्रित करने के लिए सेट कर सकते हैं। आपके स्मार्ट लाइट में निर्धारित करने के लिए तीन इनपुट होंगे:
- एक कार्यक्रम तय किया।
- परिवेश प्रकाश स्तर।
- नेटवर्क पर भेजा गया ओवरराइड सिग्नल।
चरण 1: रास्पबेरी पाई को रिले से कनेक्ट करें
यदि आप GPIO का उपयोग करने के लिए नए हैं, तो पढ़ना शुरू करें रास्पबेरी पाई GPIO पिन के बारे में आपको जो कुछ भी जानना चाहिए.
सबसे पहले, यह देखने के लिए कि क्या आपके रिले बोर्ड में VCC और JD-VCC पिन को एक साथ जोड़ने वाला जम्पर है या नहीं। यदि यह है, तो इसे हटा दें।
नीचे दी गई हर चीज के साथ, रिले बोर्ड को अपने पाई से जोड़ दें:
- रिले बोर्ड पर JD-VCC को Pi Pin 2 (5v)।
- रिले बोर्ड पर GND को Pi Pin 6 (GND)।
- पाई पिन 15 (GPIO 22) रिले बोर्ड पर IN1 के लिए
- पाई पिन 17 (3.3v) रिले बोर्ड पर VCC के लिए।
चरण 2: ल्यूमिनोसिटी सेंसर कनेक्ट करें
TSL2561 एक प्रकाश संवेदक है जो अवरक्त, पूर्ण स्पेक्ट्रम और मानव-दृश्य प्रकाश का पता लगा सकता है। यह रास्पबेरी पाई को बहुत सटीक डिजिटल रीडिंग भेज सकता है। सेंसर प्रकाश स्तर को 0.1 (कोई प्रकाश) के पैमाने पर 40,000 (उज्ज्वल सूरज) पर रिपोर्ट करता है।
TSL2561 बोर्ड से बात करता है I2c प्रोटोकॉल का उपयोग कर रास्पबेरी पाई. I2C को केवल दो कनेक्शन की आवश्यकता होती है, एक घड़ी के लिए दो उपकरणों को सिंक में रखने के लिए, और एक डेटा स्थानांतरित होने के लिए। बेशक, लक्स सेंसर को भी कुछ शक्ति की आवश्यकता होती है, इसलिए पूरी तरह से बनाने के लिए चार कनेक्शन हैं:
- लीन सेंसर पर विन (या वीसीसी) के लिए पाई पिन 1 (3.3v) कनेक्ट करें
- लक्स सेंसर पर एसडीए से पाई पिन 3 (एसडीए) कनेक्ट करें
- ल्यु सेंसर पर SCL में Pi Pin 5 (SCL) कनेक्ट करें
- लक्स सेंसर पर जीएनडी से पाई पिन 9 (जीएनडी) कनेक्ट करें
चरण 3: निर्भरताएँ कॉन्फ़िगर और स्थापित करें
आगे जाने से पहले, आपको यह जांचना होगा कि I2C आपके रास्पबेरी पाई पर सक्षम है (यह डिफ़ॉल्ट रूप से अक्षम है)। टर्मिनल में निम्नलिखित लिखें:
सुडो रससि-विन्यास
चुनते हैं Interfacing विकल्प> P5 I2C, उसके बाद चुनो हाँ.
मारो दर्ज फिर सेलेक्ट करें समाप्त कॉन्फ़िगरेशन स्क्रीन से बाहर निकलने के लिए। प्रभावी होने के लिए अपने पाई को रिबूट करें:
सूडो रिबूट
सेंसर बोर्ड के साथ संवाद करने में सक्षम होने के लिए कुछ निर्भरताएं आवश्यक हैं। निम्नलिखित कमांड टाइप करें:
sudo apt-get update। sudo apt-get install -y python-smbus। sudo apt-get install -y i2c-tools
आप सब कुछ टाइप करके काम कर रहे हैं देख सकते हैं:
सुडोल i2cdetect -y १
यदि आपकी निर्भरताएं स्थापित हैं और आपका लक्स सेंसर सही तरीके से जुड़ा हुआ है, तो आपको इस तरह की प्रतिक्रिया मिलेगी:
यहां उपयोगिता बता रही है कि इसे I2C पता 39 पर एक I2C डिवाइस (लक्स सेंसर) मिला है।
आप अभी तक निर्भरताओं के साथ काफी नहीं हैं। आपको कुछ पुस्तकालयों की भी आवश्यकता होगी। सबसे पहले, इस परियोजना से संबंधित हर चीज को रखने के लिए एक फ़ोल्डर बनाएं:
mkdir ~ / प्रकाश व्यवस्था। सीडी ~ / प्रकाश
अगला, डाउनलोड करें बोतल, एक हल्का ढांचा जो आपके पाई पर एक साधारण वेब सर्वर बनाएगा। आप वेब से अपनी रोशनी को नियंत्रित करने के लिए इसका उपयोग करेंगे।
wget https://bottlepy.org/bottle.py
आपको जितने अन्य पुस्तकालय की आवश्यकता होगी, वे गितुब पर हैं, इसलिए यदि आपके रास्पबेरी पाई में पहले से ही गिट स्थापित नहीं है, तो इसे अभी जोड़ें:
sudo apt-get install गिट
अब क्लोन दो पुस्तकालयों, इस तरह:
गिट क्लोन https://github.com/adafruit/Adafruit_Python_GPIO.git. गिट क्लोन https://github.com/adafruit/Adafruit_Python_PureIO.git
और अंत में, एक नई फ़ाइल बनाकर एक परीक्षण स्क्रिप्ट बनाएं:
नैनो टेस्टहोम
इस कोड में पेस्ट करें (सौजन्य से) Adafruit):
#! / usr / bin / env अजगर। # - * - कोडिंग: utf-8 - * - __future__ से निरपेक्ष_ आयात, विभाजन, प्रिंट_फंक्शन, यूनिकोड_लिटरल्स आयात करें। tsl2561 से आयात TSL2561। अगर __name__ == "__main__": tsl = TSL2561 (डिबग = ट्रू) प्रिंट (tsl.lux ())
दबाएँ Ctrl + X बचाने के लिए, बाहर निकलने के लिए ऑनस्क्रीन निर्देशों का पालन करें।
जब आप कर लें, तो परीक्षण स्क्रिप्ट चलाएँ:
अजगर टेस्टोस्टेरोन
यदि सब कुछ स्थापित और काम कर रहा है, तो आपको एक नंबर वापस मिलेगा। वह संख्या सेंसर से पढ़ने वाला एक लक्स है। सेंसर को अवरुद्ध करने की कोशिश करें, या इसे स्थानांतरित करना ताकि यह कम या ज्यादा प्रकाश हो जाए। फिर परीक्षण स्क्रिप्ट चलाएँ और फिर देखें कि संख्या कैसे बदलती है।
चरण 4: स्वचालन लिपियों बनाएँ
रास्पबेरी पाई अंधेरा होने पर रोशनी बंद कर देगी, लेकिन निश्चित समय पर उन्हें बंद कर देगी। उदाहरण के लिए, आप चाहते हैं कि आपकी लाइटें शाम को अंधेरा होने पर आएं, फिर बिजली बचाने के लिए आधी रात के करीब जाएं। वे सुबह जल्दी फिर से आ सकते थे, फिर हल्का होने पर खुद को बंद कर सकते थे।
इस तरह के कई टाइमिंग ज़ोन के साथ शेड्यूल का प्रबंधन करने के लिए, दो अलग-अलग स्क्रिप्ट हैं। एक (onzone.py) यदि आप चाहते हैं कि अंधेरा होने पर अपनी रोशनी के दौरान हर मिनट चले। अन्य (offzone.py) हर मिनट चलाएंगे समय के दौरान आप चाहते हैं कि प्रकाश स्तर की परवाह किए बिना रोशनी बंद हो।
स्क्रिप्ट को चलाने के लिए शेड्यूल किया जाएगा क्रोन नौकरियों का उपयोग करना कैसे क्रोन और Crontab के साथ लिनक्स में कार्य अनुसूची के लिएकार्यों को स्वचालित करने की क्षमता उन भविष्य प्रौद्योगिकियों में से एक है जो पहले से ही यहां है। हर लिनक्स उपयोगकर्ता शेड्यूलिंग सिस्टम और उपयोगकर्ता कार्यों से लाभ उठा सकता है, क्रोन के लिए, एक आसान-से-उपयोग वाली पृष्ठभूमि सेवा। अधिक पढ़ें . दिन और रात के प्रत्येक घंटे को चलाने के लिए कौन-सी स्क्रिप्ट चलती है, इसे चुनने से, उन घंटों को सेट करना आसान हो जाएगा, जो आपकी रोशनी अपने आप आ सकती हैं। आप जितनी चाहें उतने पीरियड्स पर सेट अप कर सकती हैं।
स्वचालित रूप से रोशनी को नियंत्रित करने के लिए स्क्रिप्ट के साथ-साथ ओवरराइड स्थितियों को प्रबंधित करने के लिए एक तीसरी स्क्रिप्ट है। यह आपको परिवेश प्रकाश स्तर की परवाह किए बिना दूर से रोशनी को स्विच करने देगा।
स्क्रिप्ट 1: ऑन ज़ोन
इस पाइथन स्क्रिप्ट को हर दिन चलाया जाएगा, जब आप चाहते हैं कि अंधेरा होने पर रोशनी आए। इस कमांड को टर्मिनल में कॉपी और पेस्ट करके स्क्रिप्ट डाउनलोड करें:
wget https://gist.githubusercontent.com/hamishdownell/ea151d2ff7c888ac09f8a850afaab4ee/raw/10b0e9d8ec42f8577750941da46a93d16b597c05/onzone.py
जब भी onzone.py चलाया जाता है, उसे सेंसर से लक्स मान मिलेगा, यह देखने के लिए कि क्या वह अंधेरा है। यदि यह है, तो यह देखने के लिए जांच करेगा कि क्या रोशनी चालू या बंद है। यदि वे बंद हैं, तो यह उन्हें चालू कर देगा। यदि यह अंधेरा नहीं है, तो स्क्रिप्ट देखेगी कि रोशनी चालू है या नहीं। यदि वे हैं, तो उन्हें बंद कर दिया जाएगा जब तक कि उन्हें ओवरराइड नहीं किया गया हो।
स्क्रिप्ट नामक एक चर का उपयोग करता है lowlux यह तय करने के लिए कि किस स्थान पर रोशनी को स्विच करना पर्याप्त है। आप onzone.py के शीर्ष के पास इस पंक्ति में मान बदलकर अपनी स्थापना के लिए उपयुक्त कुछ बदल सकते हैं:
लोव्लक्स = ५०
स्क्रिप्ट 2: द ऑफ ज़ोन
इस स्क्रिप्ट को हर दिन चलाया जाएगा, जब आप चाहते हैं कि लाइट बंद रहें, जब तक कि उन्हें ओवरराइड नहीं किया गया हो। स्क्रिप्ट डाउनलोड करें:
wget https://gist.githubusercontent.com/hamishdownell/fb8970909145bbfefbbef8dba5f5a00f/raw/eae5a6057a51ca4727907c7d061f0a48b07da944/offzone.py
यह स्क्रिप्ट इस बात की परवाह नहीं करती है कि यह कितना हल्का या गहरा है। इसका काम बस रोशनी को बंद करना है अगर वे चालू हैं (जब तक कि उन्हें ओवरराइड नहीं किया गया है)।
स्क्रिप्ट 3: ओवरराइड सर्वर
यह स्क्रिप्ट एक साधारण वेब सेवा बनाती है जो निम्नलिखित क्रियाओं को करने के लिए आदेशों को स्वीकार कर सकती है:
- परिवेश प्रकाश स्तर की परवाह किए बिना कई मिनट के लिए रोशनी पर स्विच करें।
- लाइट बंद कर दें।
- पता करें कि रोशनी वर्तमान में चालू है या बंद है।
- यह जानने के लिए कि रोशनी के रुकने के कारण कितनी देर तक रोशनी रहती है।
स्क्रिप्ट डाउनलोड करें:
wget https://gist.githubusercontent.com/hamishdownell/2303bfd9fb30d42e79923bdb7e69ed4e/raw/7dcb456b81b8ae58ae48efa225adb41ba7d7f69c/lightserver.py
अगले चरण पर जाने से पहले, offzone.py स्क्रिप्ट को इस तरह से चलाएं:
अजगर offzone.py
यह उन नियंत्रण फ़ाइलों का निर्माण करेगा जिनका उपयोग स्क्रिप्ट सब कुछ का ट्रैक रखने के लिए करती है।
चरण 5: लिपियों को शेड्यूल करें
आपका रास्पबेरी पाई क्रोन के साथ स्वचालन स्क्रिप्ट चला सकता है। इस तरह निर्धारित करें:
सूदो crontab -e
पाठ संपादक में इन दो पंक्तियों को चिपकाएँ:
* 7,8,9,17,18,19,20,21,22,23 * * * python /home/pi/lighting/onzone.py> NULL। * * १,१,३,३,४,५,६,१०,११,१२,१४,१५,१६ * * * * अजगर / अम्मी / /प्या / प्रकाश / ओफ़ज़ोनहोम> NULL
नोट: यदि आप जिस उपयोगकर्ता नाम के साथ अपने रास्पबेरी पाई में लॉग इन करते हैं वह डिफ़ॉल्ट नहीं था अनुकरणीय, तदनुसार मार्ग बदलें।
उन सभी घंटों की सूची बनाएं जहां आप चाहते हैं कि पहली पंक्ति में अंधेरा होने पर रोशनी आए। सभी घंटे जहां आप चाहते हैं कि लाइट बंद दूसरी लाइन में जाए।
अब पाई शुरू होने पर ओवरराइड स्क्रिप्ट को स्वचालित रूप से चलाने के लिए सेट करें:
सुडो नैनो /etc/rc.local
इस पंक्ति को फ़ाइल के नीचे चिपकाएँ, फिर सहेजें और बाहर निकलें:
nohup python /home/pi/lighting/lightserver.py और
अंत में, रास्पबेरी पाई को रिबूट करें ताकि आप जांच सकें कि सर्वर स्क्रिप्ट लोड हो रही है जैसा कि इसे चाहिए
सूडो रिबूट
चरण 6: रिले का परीक्षण करें
अपनी रोशनी को जोड़ने से पहले, परीक्षण करें कि सब कुछ ओवरराइड फ़ंक्शन का उपयोग करके काम कर रहा है। अपने पीआई के रूप में एक ही नेटवर्क पर वेब ब्राउज़र में निम्नलिखित टाइप करें, अपने स्वयं के रास्पबेरी पाई के पते के साथ आईपी पते की जगह:
11.22.33.44:1234/overrideon/3
यदि सब ठीक है, तो आप रिले क्लिक सुनेंगे और ब्राउज़र जवाब देगा कि रोशनी तीन मिनट के लिए स्विच की गई है।
जबकि रिले बंद है, आप अन्य ओवरराइड फ़ंक्शन का परीक्षण कर सकते हैं। यह आपको बताएगा कि ओवरराइड के कारण रोशनी कितने मिनट तक रुकेगी:
11.22.33.44:1234/getoverrideremaining
यह आपको बताना चाहिए कि रोशनी चालू है:
11.22.33.44:1234/lightstatus
अंत में, आप उन्हें फिर से बंद कर सकते हैं:
11.22.33.44:1234/overrideoff
यह खुलते ही रिले पर क्लिक करेगा।
चरण 7: अपनी रोशनी कनेक्ट करें
स्विच बंद करें और रिले में अपनी रोशनी जोड़ने से पहले अपने रास्पबेरी पाई को अनप्लग करें। नियमित रूप से स्विच के स्थान पर रिले बोर्ड पर सामान्य रूप से खुले (NO) कनेक्टर का उपयोग करें, जैसे:
अंत में, आप अपने लक्स सेंसर को ऐसी जगह स्थापित कर सकते हैं जहाँ यह परिवेश प्रकाश स्तर पर कब्जा कर लेगा। ध्यान दें कि TSL2561 को संतृप्त होने के रूप में रिपोर्ट किया जाएगा यदि यह सीधे उज्ज्वल सूर्य के प्रकाश का सामना करता है, इसलिए यदि संभव हो तो इसे छाया में रखना सबसे अच्छा है।
आप के लिए और अधिक रास्पबेरी पाई परियोजनाओं की कोशिश करो
वेब ब्राउजर में कमांड टाइप करके अपने नए स्मार्ट लाइटिंग सेटअप को दूर से देखना बेहद बोझिल है। बेहतर तरीका यह है कि चीजों को आसान बनाने के लिए अमेजन इको जैसी किसी चीज को हुक किया जाए। Alexa सेवा और Webhooks सेवा को मिलाकर IFTTT आवाज नियंत्रण जोड़ने के लिए एक सरल तरीका है।
हमारे देखें IFTTT का उपयोग करने के लिए गाइड आरंभ करने में आपकी सहायता करने के लिए।
एक अन्य विकल्प सिरी शॉर्टकट का उपयोग करना है। मेनू के साथ एक एकल शॉर्टकट रोशनी की स्थिति को क्वेरी कर सकता है और उन्हें चालू और बंद करने के लिए ओवरराइड फ़ंक्शन का उपयोग कर सकता है।
यदि आप इस परियोजना का आनंद लेते हैं, तो इनकी जांच करना सुनिश्चित करें अजीब रास्पबेरी पाई परियोजनाओं 10 अजीब रास्पबेरी पाई परियोजनाएंहम में से प्रत्येक के भीतर एक पागल वैज्ञानिक है, और रास्पबेरी पाई आपके आंतरिक लून को बाहर आने और खेलने देती है। कभी-कभी, चीजें अजीब हो जाती हैं। सचमुच अजीब। अधिक पढ़ें अधिक विचारों के लिए।
हामिश एक स्वतंत्र लेखक, प्रौद्योगिकी के आजीवन प्रेमी, और पुष्टि करने वाले बेवकूफ हैं। उन्होंने कई मल्टीनेशनल कंपनियों के आईटी विभागों में काम किया और अंत में अपने बॉस को निकाल दिया और अकेले चले गए।