라즈베리 파이를 안전하게 끄는 방법?


30

일반적으로 데스크톱 컴퓨터에서을 실행 sudo shutdown -P now하면 컴퓨터가 완전히 꺼지고 버튼으로 다시 켤 수 있습니다. (마찬가지로 컴퓨터가 고장 나면 전원 버튼을 5 초 정도 눌러 강제로 다시 시작할 수 있습니다.)

라즈베리 파이에는 전원 버튼이 없습니다. 실제로을 실행 sudo shutdown -P now하면 전원 LED가 여전히 켜져있는 것처럼 보이고 다시 시작하려면 전원 코드를 뽑았다가 다시 연결해야합니다. 이전 버전의 Windows에서는 "컴퓨터를 끄는 것이 안전합니다"와 다소 유사 해 보입니다.

Raspberry Pi의 플러그를 뽑는 것이 안전합니까? 내가 뭔가 잘못하고 있습니까?


2
빨간색 LED는 oi에 전원이 공급되고 있음을 나타냅니다. 주의를 기울이고 싶은 것은 녹색입니다. 깜박이면 oi가 microSD 카드에 액세스 중임을 의미합니다. 당신이 종료하면 그것을 지켜보십시오. 4-10 번 깜박 여야합니다. 이 문제가 발생하면 플러그를 뽑아도 안전합니다.
TheXed

1
SD 카드가 ext4 (또는 다른 저널링 FS)로 포맷 된 경우 파이가 유휴 상태 일 때마다 꺼두는 것이 안전합니다. Windows95 컴퓨터를 끄는 것보다 안전합니다. (필자는 안전에 중요한 응용 분야에 권장하지는 않지만 어쨌든 pi는 이상적이지 않습니다.)
leftaroundabout

4
@leftaroundabout, 저널링은 기본 매체가 정전을 깨끗하게 처리 할 수 ​​없을 때 많이하지 않습니다. 정전 후 SD 카드를 자주 다시 포맷해야합니다.
Mark

@ 마크 : 가능합니다. 나는 합병증없이 안전하지 않은 전원을 자주 사용하지 않는 파이를 가지고 있지만 실제로 이것은 부트 로더에만 카드를 사용하고 USB 하드 드라이브에 다른 모든 것을 가지고 있습니다.
leftaroundabout

@Mark 데이터 쓰기 도중에도 큰 의미가 없습니다. 여전히 데이터가 손실됩니다. 파일 시스템 일관성을 보장했습니다.
Bob

답변:


18

당신은 아무것도 잘못하고 있지 않습니다.

전원이 꺼지기 직전에 활동 LED가 3-4 번 깜박 여야합니다. 그런 다음 전원을 제거해도 안전합니다.

나는 일반적으로 셧다운하고 몇 분 동안 사라졌다가 전원 코드를 빼낸다.


15

Pi를 다시 시작하기 위해 전원을 제거 할 필요는 없습니다. SD 카드 근처에 한 쌍의 패드가 있습니다 (재설정 된 라벨이 재설정되었을 가능성이 있습니다. 모두 Pi가 보드에 납땜되어 있기 때문에 Pi에서 볼 수 없습니다.) 잠시 후에 다시 시작하십시오.

최근 Rasbpian에는 종료 프로세스가 내장되어 있습니다 (에서 처리 systemd-logind).

에 다음을 추가하십시오 /boot/config.txt

dtoverlay=gpio-shutdown,gpio_pin=5

이를 통해 핀 29 (GPIO 5)와 핀 30 (Gnd) 사이에 연결된 스위치를 통해 Pi의 순차적 종료를 시작할 수 있습니다.

거의 모든 핀을 사용할 수 있습니다. 기본값은 핀 5 (GPIO 3)이지만 I²C에 자주 사용되지만 ,gpio_pin=21스크립트 핀 40 (GPIO 21) 및 핀 39 (Gnd)에 사용 된 것과 동일한 핀을 사용합니다.

sudo poweroffPi를 종료하는 것이 좋습니다 . 당신이하고있는 일에는 아무런 문제가 없지만 poweroff전원을 끄는 것이 안전 할 때 녹색 LED가 1 초 간격으로 10 번 깜박입니다.

푸시 버튼으로 Pi를 종료하는 Python 스크립트가 있습니다.

#!/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()

파이썬 코드를 추가하여 참조 할 수 있습니까? 전원을 공급하면 자동으로 pi 또는 다른 방식으로 시작됩니까?
Gaurav Dave

4

이 질문에 아무도 대답하지 않은 것 같습니다 : "라즈베리 파이의 플러그를 뽑는 것이 안전합니까?"

제대로 종료하려면 다음을 실행하십시오.

sudo shutdown

이렇게하면 "ACT"표시 등 (녹색 표시 등)이 10 번 (0.5 초 간격으로) 깜빡입니다. 깜박임이 멈 추면 녹색 표시등이 꺼집니다. 이 시점에서 전원을 제거하거나 플러그를 당기는 것이 안전합니다.

Pi에 전원이 공급되는 한 빨간색 표시등이 계속 켜져 있습니다.

종료 후 전원을 껐다가 다시 전원을 공급하여 Pi의 전원을 켜야합니다.


2

이전 답변에서 언급했듯이 빨간색 LED는 녹색 LED가 활동하는 곳에서 파이가 전력을 받고 있음을 의미합니다 (디스크 활동이 있다고 생각합니다)

종료 명령 후 녹색 LED가 깜박임을 멈 추면 플러그를 당기거나 보드에있는 런 / 리셋 패드를 단락시킬 수 있습니다

웹 사이트에는 핀을 납땜하려는 경우 하드 리셋 스위치를 추가하는 방법에 대한 유용한 지침이 있습니다.

하드 리셋을 사용하는 경우 중지 또는 시스템 종료 후 또는 프로세서를 즉시 다시 시작할 때 마지막 수단으로 만 사용해야합니다. SD 카드에 쓰는 경우 전원을 끄는 것처럼 손상 될 수 있습니다 그것이 실행되는 동안


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")
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.