रास्पबेरी पाई को सुरक्षित रूप से कैसे स्विच करें?


30

आमतौर पर एक डेस्कटॉप कंप्यूटर के साथ, अगर मैं चलाता हूं sudo shutdown -P now, तो कंप्यूटर पूरी तरह से बंद हो जाता है और मैं इसे फिर से एक बटन के साथ स्विच कर सकता हूं। (इसी तरह, अगर कंप्यूटर क्रैश हो जाता है, तो मैं 5 सेकंड या तो पावर बटन दबाकर पुनः आरंभ कर सकता हूं।)

रास्पबेरी पाई में पावर बटन नहीं है। वास्तव में, अगर मैं दौड़ता हूं sudo shutdown -P now, तो बिजली का नेतृत्व अभी भी चालू है, और इसे फिर से शुरू करने के लिए, मुझे इसे अनप्लग करने और इसे फिर से प्लग करने की आवश्यकता है। यह विंडोज के पुराने संस्करणों में "अपने कंप्यूटर को बंद करने के लिए अब सुरक्षित है" के अनुरूप है।

किस बिंदु पर रास्पबेरी पाई पर प्लग खींचना सुरक्षित है? क्या मुझसे कुछ ग़लत हो रहा है?


2
लाल रंग का नेतृत्व यह दर्शाता है कि ओई को शक्ति प्राप्त हो रही है। जिस पर आप ध्यान देना चाहते हैं, वह हरे रंग का है। अगर यह फ्लैश हो रहा है तो इसका मतलब है कि ओआई माइक्रोएसडी कार्ड एक्सेस कर रहा है। जब आप बंद करते हैं तो इसे देखें। इसे 4-10 बार फ्लैश करना चाहिए। एक बार ऐसा होने पर यह अनप्लग करने के लिए सुरक्षित है।
TheXed

1
बशर्ते आपके SD कार्ड को ext4 (या अन्य पत्रिकाओं को FS) में स्वरूपित किया गया हो, यह स्पष्ट रूप से कम या ज्यादा सुरक्षित होता है, जब भी pi केवल निष्क्रिय होकर बैठा हो। कम से कम अधिक सुरक्षित से यह सिर्फ एक विंडोज़ 95 कंप्यूटर को बंद करना था। (ऐसा नहीं है कि मैं इसे किसी भी सुरक्षा महत्वपूर्ण अनुप्रयोगों के लिए सलाह देता हूं ... लेकिन पीआई वैसे भी बिल्कुल आदर्श नहीं है।)
वामावर्त २१'१६

4
@leftaroundabout, जर्नलिंग ज्यादा नहीं करता है जब अंतर्निहित माध्यम सफाई से बिजली की विफलता को संभाल नहीं सकता है। मुझे अक्सर बिजली की विफलता के बाद अपने एसडी कार्ड को फिर से प्रारूपित करने की आवश्यकता होती है।
मार्क

@ मर्क: संभव। मेरे पास एक पाई है जिसे मैंने अक्सर जटिलताओं के बिना अनसुना किया है, लेकिन वास्तव में यह केवल बूट लोडर के लिए कार्ड का उपयोग करता है और यूएसबी हार्ड ड्राइव पर बाकी सब कुछ है।
२१'१६ को लेफ्टरनबाउट

@Mark यह भी बहुत मतलब नहीं है जब एक डेटा लिखने के बीच में। आप अभी भी अपना डेटा खो देंगे। यह सिर्फ फाइलसिस्टम स्थिरता की गारंटी देता है,।
बॉब

जवाबों:


18

आप कुछ गलत नहीं कर रहे हैं।

गतिविधि एलईडी को बिजली बंद होने से ठीक पहले 3 या 4 बार फ्लैश करना चाहिए। यह तब शक्ति को हटाने के लिए सुरक्षित है।

मैं आमतौर पर शट-डाउन करता हूं, कुछ मिनटों के लिए दूर जाता हूं, और फिर पावर कॉर्ड को बाहर कर देता हूं।


15

पाई को पुनः आरंभ करने के लिए आपको बिजली निकालने की आवश्यकता नहीं है। एसडी कार्ड के पास एक जोड़ी पैड हैं (मुझे लगता है कि लेबल रीसेट संभवतया चलता है - मैं अपने पाई पर नहीं देख सकता क्योंकि वे सभी बोर्ड पर टांका लगा चुके हैं।) पल-पल कम करने के लिए।

हाल ही में रसबपियन में शटडाउन के लिए एक इन-बिल्ट प्रक्रिया है (इसके द्वारा नियंत्रित systemd-logind)

करने के लिए निम्नलिखित जोड़ें /boot/config.txt

dtoverlay=gpio-shutdown,gpio_pin=5

यह पिन 29 (GPIO 5) और पिन 30 (Gnd) के बीच एक स्विच को सक्षम करता है, ताकि पीआई के एक क्रमिक बंद को आरंभ किया जा सके।

लगभग किसी भी पिन का उपयोग किया जा सकता है - डिफ़ॉल्ट पिन 5 (GPIO 3) है, हालांकि यह अक्सर I²C के ,gpio_pin=21लिए उपयोग किया जाता है स्क्रिप्ट पिन 40 (GPIO 21) और पिन 39 (Gnd) में उपयोग किए जाने वाले पिन का उपयोग करेगा

मैं sudo poweroffपाई को बंद करने की सलाह देता हूं । आप जो भी कर रहे हैं, उसमें कुछ भी गलत नहीं है, लेकिन poweroffजब पॉवरऑफ के लिए सुरक्षित होता है, तो 1 सेकंड के अंतराल पर 10 बार ब्लिंक का कारण बनता है।

मेरे पास एक पायथन स्क्रिप्ट है जो एक पुशबटन के साथ पाई को बंद कर देती है।

#!/usr/bin/env python2.7
#-------------------------------------------------------------------------------
# Name:         Shutdown Daemon
#
# Purpose:      This program gets activated at the end of the boot process by
#               cron. (@ reboot sudo python /home/pi/shutdown_daemon.py)
#               It monitors a button press. If the user presses the button, we
#               Halt the Pi, by executing the poweroff command.
#
#               The power to the Pi will then be cut when the Pi has reached the
#               poweroff state (Halt).
#               To activate a gpio pin with the poweroff state, the
#               /boot/config.txt file needs to have :
#               dtoverlay=gpio-poweroff,gpiopin=27
#
# Author:      Paul Versteeg
#
# Created:     15-06-2015, revised on 18-12-2015
# Copyright:   (c) Paul 2015
# https://www.raspberrypi.org/forums/viewtopic.php?p=864409#p864409
#-------------------------------------------------------------------------------

import RPi.GPIO as GPIO
import subprocess
import time

GPIO.setmode(GPIO.BCM) # use GPIO numbering
GPIO.setwarnings(False)

# I use the following two GPIO pins because they are next to each other,
# and I can use a two pin header to connect the switch logic to the Pi.
# INT = 17    # GPIO-17 button interrupt to shutdown procedure
# KILL = 27   # GPIO-27 /KILL : this pin is programmed in /boot/config.txt and cannot be used by any other program
INT = 21    # GPIO button interrupt to shutdown procedure

# use a weak pull_up to create a high
GPIO.setup(INT, GPIO.IN, pull_up_down=GPIO.PUD_UP)

def main():

    while True:
        # set an interrupt on a falling edge and wait for it to happen
        GPIO.wait_for_edge(INT, GPIO.FALLING)
#       print "button pressed"
        time.sleep(1)   # Wait 1 second to check for spurious input
        if( GPIO.input(INT) == 0 ) :
            subprocess.call(['poweroff'], shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

if __name__ == '__main__':
    main()

क्या आप संदर्भ के लिए उस अजगर कोड को जोड़ सकते हैं, और अगर मैं बिजली का स्रोत देता हूं तो क्या यह स्वचालित रूप से पीआई शुरू करेगा या फिर?
गौरव

4

किसी को भी इस प्रश्न का उत्तर नहीं दिया गया है: "रास्पबेरी पाई पर प्लग खींचने के लिए किस बिंदु पर सुरक्षित है?"

ठीक से बंद करने के लिए, आप चलाते हैं

sudo shutdown

जब आप ऐसा करते हैं, तो आपको "अधिनियम" प्रकाश (हरा एक) को 10 बार (0.5 सेकंड के अंतराल) ठोस रूप से झपकाते हुए दिखाई देगा। एक बार जब यह पलक झपकना बंद कर देगा, तो हरी बत्ती बंद हो जाएगी। इस बिंदु पर, बिजली को हटाने या प्लग को खींचने के लिए सुरक्षित है।

जब तक पाई पर बिजली नहीं होगी तब तक लाल बत्ती लगी रहेगी।

शटडाउन के बाद, आपको पावर को हटाना होगा और फिर पावर को फिर से लागू करने के लिए पाई को पावर करना होगा।


2

जैसा कि पिछले जवाबों में कहा गया है, लाल एलईडी का मतलब है कि पीआई को शक्ति प्राप्त हो रही है जहां ग्रीन एलईडी गतिविधि है (मुझे विश्वास है कि डिस्क गतिविधि)

आप या तो प्लग को तब खींच सकते हैं जब शटडाउन कमांड के बाद हरे रंग की एलईडी ने ब्लिंक करना बंद कर दिया है या आप बोर्ड पर चलने वाले / रीसेट पैड को छोटा कर सकते हैं

इस वेबसाइट पर एक महान निर्देश है कि कैसे एक हार्ड रीसेट स्विच जोड़ने के लिए अगर आपका कुछ पिन मिलाप करने के लिए तैयार है।

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


2

यहाँ एक बहुत ही सरल शटडाउन अजगर स्क्रिप्ट है।

import RPi.GPIO as GPIO 
import os 
channel=11 
GPIO.setmode(GPIO.BOARD) 
#Pin 11 & Gnd 

GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP) 
GPIO.wait_for_edge(channel, GPIO.FALLING) 
os.system("sudo shutdown -h now")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.