[출처 : 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!

블로그 이미지

DS5QDR Heonmin Lee in Korea

DV 통신 경험 공유 Mode : DMR, DSTAR, YSF, XLX, YSF, M17, AllStarLink, EchoLink Software : DVSwich, USRP Client, Last Heard, MiniPi, MiniMT, VuMeter, DVPi, Pi-Star

,