[출처 : https://howchoo.com/g/mwnlytk3zmm/how-to-add-a-power-button-to-your-raspberry-pi ]
How to Add a Power Button to Your Raspberry Pi
This guide will show you how to add a power button or switch to your Raspberry Pi that can turn your Pi on or off.
howchoo.com
라즈베리파이가 출시되면서 원가 이슈로 전원 버턴이 누락되었다
하지만 간단히 버턴 스위치와 선만 있으면 설치가 가능하다
전원 버턴이 필요한 이유는
sudo shutdown -h now
명령어 이후 전원선을 차단하면 되는데 작동 중 전원을 차단하면 Micro SD Memory 데이타 손상될 수 있기 때문에
간단히 버턴 스위치를 누른 후 Shutdown 후 전원을 차단하면 안전하게 라즈베리파이를 운영할 수 있다
준비물
- 라즈베리파이 3B 혹은 4B
- 복귀 마이크로 버턴 1개
- 전선 300 mm 2개
배선 사진
원본에는 GPIO 5번 6번에 푸쉬 스위치 연결하라고 되어 있는데 6번은 Nextion LCD 연결로 6번 39번으로 변경함
[실행방법 #1] 가장 간단히 github에서 다운받아 설치
1. 설치
git clone https://github.com/Howchoo/pi-power-button.git
./pi-power-button/script/install
2. 제거
git clone https://github.com/Howchoo/pi-power-button.git
./pi-power-button/script/uninstall
버턴을 한번 눌리면 켜지고 다시 눌리면 꺼진다
[실행방법 #2] 직접 수동 설치하는 방법
1. listen-for-shutdown.py 스크립트를 만든다
sudo nano listen-for-shutdown.py
#!/usr/bin/env python
import RPi.GPIO as GPIO
import subprocess
GPIO.setmode(GPIO.BCM)
GPIO.setup(3, GPIO.IN, pull_up_down=GPIO.PUD_UP)
GPIO.wait_for_edge(3, GPIO.FALLING)
subprocess.call(['shutdown', '-h', 'now'], shell=False)
Ctrl-X -> Y -> 엔터 하고 저장한다
2. 부팅 시 위 스크립터를 /usr/loval/bin 으로 옮기고 자동 실행하게 만듦
sudo mv listen-for-shutdown.py /usr/local/bin/
sudo chmod +x /usr/local/bin/listen-for-shutdown.py
3. 추가 listen-for-shutdown.sh 를 만든다
sudo nano listen-for-shutdown.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides: listen-for-shutdown.py
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO
# If you want a command to always run, put it here
# Carry out specific functions when asked to by the system
case "$1" in
start)
echo "Starting listen-for-shutdown.py"
/usr/local/bin/listen-for-shutdown.py &
;;
stop)
echo "Stopping listen-for-shutdown.py"
pkill -f /usr/local/bin/listen-for-shutdown.py
;; *)
echo "Usage: /etc/init.d/listen-for-shutdown.sh {start|stop}"
exit 1
;;
esac exit 0
Ctrl-X -> Y -> 엔터 하고 저장한다
4. 위 스크립트를 /etc/init.d 로 옮기고 실행하게 만듦
sudo mv listen-for-shutdown.sh /etc/init.d/
sudo chmod +x /etc/init.d/listen-for-shutdown.sh
5. 위 스크립트를 부팅시 실행되도록 함
sudo update-rc.d listen-for-shutdown.sh defaults
sudo /etc/init.d/listen-for-shutdown.sh start
이상입니다
DS5QDR 73!
'DV Lab & Test' 카테고리의 다른 글
2020-07-16 휴대폰용 이어폰 핀 배열도 (0) | 2020.07.16 |
---|---|
2020-07-14 차량에서 네비와 DVSwitch Mobile 동시 사용 (0) | 2020.07.15 |
2020-06-23 Kyocera KC-100S 무전기폰 PTT 활성화 (0) | 2020.06.23 |
2020-06-10 RS232C 9핀 단자 기능표 (0) | 2020.06.10 |
2020-06-09 Raspberry Pi 4B에 3.5 Inch XPT2046 LCD 부착 (0) | 2020.06.09 |