विषयसूची:

रास्पबेरी पाई के लिए पावर-ऑफ बटन: 3 चरण
रास्पबेरी पाई के लिए पावर-ऑफ बटन: 3 चरण

वीडियो: रास्पबेरी पाई के लिए पावर-ऑफ बटन: 3 चरण

वीडियो: रास्पबेरी पाई के लिए पावर-ऑफ बटन: 3 चरण
वीडियो: Raspberry Pi Power Options - 3 Ways to Power Your Pi or other SBC (MEHS) Episode 44 2024, नवंबर
Anonim
रास्पबेरी पाई के लिए पावर-ऑफ बटन
रास्पबेरी पाई के लिए पावर-ऑफ बटन

रास्पबेरी पाई एक बहुत ही उपयोगी कंप्यूटिंग प्लेटफॉर्म है जो विभिन्न IoT/रोबोटिक्स/स्मार्ट-होम/… प्रोजेक्ट एप्लिकेशन बनाने की अनुमति देता है। हालांकि, एक सामान्य कंप्यूटर की तुलना में इसमें एक चीज नहीं है, वह है शटडाउन पावर-ऑफ बटन। तो हम खुद को कैसे बना सकते हैं? ठीक है, चलो इसे एक साथ करते हैं!

इस ट्यूटोरियल के लिए, आपको निम्नलिखित की आवश्यकता होगी:

  • 1 रास्पबेरी पाई पहले से ही कॉन्फ़िगर है और उपयोग के लिए तैयार है
  • 1 ब्रेडबोर्ड या ऐसा कुछ जो आपको इलेक्ट्रॉनिक सर्किट बनाने की अनुमति देगा
  • 1 पुश-बटन
  • 2 जम्पर तार

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

www.instructables.com/How-to-Setup-a-Raspberry-Pi-and-Start-Using-It/

चरण 1: इलेक्ट्रॉनिक सर्किट

विद्युत सर्किट
विद्युत सर्किट
विद्युत सर्किट
विद्युत सर्किट
विद्युत सर्किट
विद्युत सर्किट

यहां कुछ भी जटिल नहीं है, यह काफी सीधा सर्किट है। ऊपर दिए गए 2 चित्र सर्किट बिल्ड की व्याख्या कर रहे हैं। आप बटन इनपुट के लिए जो भी GPIO पिन चाहते हैं उसका उपयोग कर सकते हैं, आपको इसे प्रतिबिंबित करने के लिए कोड को अपडेट करना सुनिश्चित करना होगा।

आइए जल्दी से समझाएं कि यह कैसे काम करेगा:

  • लाल तार 3.3V को पुश बटन के एक सिरे पर ले जा रहा है।
  • ब्लैक केबल पुश बटन के दूसरे छोर को एक Pi GPIO से जोड़ रहा है जो इनपुट के रूप में उपयोग किया जाएगा।
  • डिफ़ॉल्ट रूप से बटन खुला रहता है, इसलिए इसमें कोई वोल्टेज नहीं जा रहा है। तो जब बटन दबाया नहीं जाता है तो ब्लैक केबल 0V पर होता है। इसका मतलब है कि पीआई जीपीआईओ इनपुट की तार्किक स्थिति 0 है।
  • जब बटन दबाया जाएगा, तो वोल्टेज इसके माध्यम से जाएगा और ब्लैक केबल 3.3V से जुड़ा होगा। रास्पबेरी पाई को इसके इनपुट पर 3.3V का वोल्टेज दिखाई देगा, जो 1 की तार्किक स्थिति के अनुरूप है।

चरण 2: पायथन कोड

पायथन कोड
पायथन कोड

अब जब सर्किट उपयोग के लिए तैयार है, तो हमें उस कोड को लिखना होगा जो इसे चलाएगा, और मैं यहां एक PyCharm वातावरण में पायथन का उपयोग कर रहा हूं। मैंने रास्पबेरी पाई को पावर-ऑफ करने के लिए बटन को तभी कॉन्फ़िगर किया जब इसे परिणामस्वरूप 3 सेकंड से अधिक दबाया गया। मैं ऐसा क्यों कर रहा हूं इसका कारण यह है कि इसे गलती से दबाया जाना बहुत आसान है, और आप अपने पीआई को दुर्घटना से बंद नहीं करना चाहते हैं।

उपरोक्त प्रिंटस्क्रीन मेरे PyCharm वातावरण से है, और कोड निम्नलिखित है (लाइन 26 पर मामूली अंतर के साथ जो किसी अन्य प्रोजेक्ट से जुड़ा हुआ है लेकिन यहां आवश्यक नहीं है):

# यह रास्पबेरी पाई को पावरऑफ़ करने के लिए एक कोड है जब एक परिभाषित बटन को दबाकर रखा जाता है# बाहरी मॉड्यूल आयात RPi. GPIO GPIO के रूप में आयात समय आयात ओएस # रास्पबेरी पाई पिन और चर निश्चित और होल्ड_टाइम = 3 # सेकंड में पावरऑफ़बटन_पॉवरऑफ = 1 # पुश बटन रास्पबेरी PiGPIO.setwarnings(False)GPIO.setmode(GPIO. BCM) को बंद करने के लिए # ब्रॉडकॉम पिन-नंबरिंग स्कीमGPIO.setup(button_poweroff, GPIO. IN, pull_up_down=GPIO. PUD_DOWN) # बटन इनपुट के रूप में सेट है जबकि सही है: GPIO.wait_for_edge(button_poweroff, GPIO. RISING) start = time.time() time.sleep(0.2) # GPIO.input(button_poweroff) == 1: time.sleep (0.01) लंबाई = समय। >होल्ड_टाइम: os.system("sudo poweroff")

पहली बात, यदि आपने पुश बटन को किसी भिन्न GPIO से जोड़ा है, तो संबंधित GPIO इनपुट के साथ उपरोक्त प्रिंटस्क्रीन पर लाइन 11 को अपडेट करना है:

button_poweroff = GPIO_X # अपने सर्किट पर उपयोग किए गए सही GPIO के साथ अपडेट करें

साथ ही, होल्ड_टाइम वेरिएबल आपको प्रतीक्षा समय को संशोधित करने की अनुमति देता है जो पीआई को बंद करने के लिए ट्रिगर करता है।

चरण 3: बूट प्रक्रिया के बाद स्क्रिप्ट को स्वचालित रूप से कैसे लॉन्च करें

बूट प्रक्रिया के बाद स्क्रिप्ट को स्वचालित रूप से कैसे लॉन्च करें
बूट प्रक्रिया के बाद स्क्रिप्ट को स्वचालित रूप से कैसे लॉन्च करें
बूट प्रक्रिया के बाद स्क्रिप्ट को स्वचालित रूप से कैसे लॉन्च करें
बूट प्रक्रिया के बाद स्क्रिप्ट को स्वचालित रूप से कैसे लॉन्च करें

अब जब हमारे पास कोड तैयार है, तो हमें इसे निष्पादित करने की आवश्यकता है। लेकिन, यह सुविधाजनक होगा यदि हम इस स्क्रिप्ट को हर बार पीआई बूट होने पर स्वचालित तरीके से निष्पादित कर सकते हैं, तो बटन हर बार स्क्रिप्ट चलाने के लिए हमारे बिना काम करेगा। ऐसा करने के कई तरीके हैं। मैंने यहाँ rc.local फ़ाइल में एक पंक्ति जोड़ी है जो आपके पाई के /etc/ फ़ोल्डर में स्थित है। इसे बूट अनुक्रम के भाग के रूप में निष्पादित किया जाता है।

आपको एक कमांड लाइन खोलने की जरूरत है और निम्नलिखित कमांड टाइप करें (ऊपर पहला प्रिंटस्क्रीन):

सीडी /

सीडी आदि सुडो नैनो आरसी.लोकल

पहला कमांड आपको आपकी /home/pi डायरेक्टरी से रूट एक पर ले जाएगा, जो कि / है।

दूसरा आदेश तब आपको /etc/ निर्देशिका में ले जाएगा।

अंत में, तीसरा एक सुपरयूज़र के रूप में rc.local फ़ाइल को पूर्ण संपादन अधिकारों के साथ खोलेगा, जिसे आपको फ़ाइल को संशोधित करने की आवश्यकता है।

फ़ाइल में एक बार, आपको बस इसके अंत में एक पंक्ति जोड़ने की आवश्यकता है, लेकिन बाहर निकलने से पहले 0 कथन (ऊपर दूसरा प्रिंटस्क्रीन):

# स्क्रिप्ट लॉन्च करने के लिए इस लाइन को rc.local फ़ाइल में जोड़ें

sudo python /home/pi/Documents/shutdown_with_hold.py &

यहां कुछ चीजें हैं जिन पर आपको ध्यान देना होगा:

  1. आपकी फ़ाइल का नाम: ऊपर की पंक्ति में, मैं मान रहा हूँ कि फ़ाइल है shutdown_with_hold.py । लेकिन यह वही हो सकता है जो आप चाहते हैं, बस अपना नाम अपडेट करें।
  2. जहाँ आपने अपनी फ़ाइल सहेजी है: ऊपर की पंक्ति में, मैं मान रहा हूँ कि यह आपकी /home/pi/Documents निर्देशिका में सहेजी गई है। लेकिन फिर, यह कहीं भी हो सकता है। आपको बस यह सुनिश्चित करने की ज़रूरत है कि आप अपनी फ़ाइल का पूर्ण पथ यहाँ रखें।
  3. इसके अंत में "&" वर्ण: यह महत्वपूर्ण है, और यह इस कमांड को पृष्ठभूमि में चलने देता है

और बस! तो अब, हर बार आपका पाई चालू होने पर स्क्रिप्ट निष्पादित की जाएगी, और आपको इसे बंद करने के लिए बटन पर केवल 3 सेकंड से अधिक प्रेस करना होगा।

सिफारिश की: