Raspberry Pi にREBOOTとSHUTDOWNのSWを付ける

RaspberryPiでEchoLinkが何とか動きそうだが
ハングアップしたときなどにいちいち電源を引き抜くのは精神衛生上良くないので
RebootとShutdown用のSwitchを付けようとググってみたら結構みなさん同じことを
考えてらっしゃいます。
で、プログラムもそのまま参考にさせていただきました。

sudo nano switch.py  で以下のプログラムを保存する。

 

import RPi.GPIO as GPIO
import time
import os

GPIO.setmode(GPIO.BCM)
GPIO.setup(6,GPIO.IN,pull_up_down=GPIO.PUD_UP)
GPIO.setup(5,GPIO.OUT)
GPIO.output(5,GPIO.LOW)

button_previous = 1
button_current = 1
brojac = 0
flag_pressed = 0

while True:
button_current = GPIO.input(6)
flag_pressed = button_previous + button_current

if (not(flag_pressed)):
brojac += 1
else:
brojac = 0

if(button_current and (not button_previous)):
GPIO.output(5,GPIO.HIGH)
os.system(“sudo shutdown -r now”)
if((not flag_pressed) and brojac >= 100):
GPIO.output(5,GPIO.HIGH)
os.system(“sudo shutdown -h now”)
break

button_previous = button_current
time.sleep(0.03)

GPIO.cleanup()

これで、保存する。

ここでスイッチを作る。

WS000260

完成したらRaspberryPiに繋いで下記コマンドで動作実験をする。

sudo python switch.py

そして一回ボタンを押すとLEDが数秒点灯してRebootします。
次に長押しすると終了します。
(2回目のとき実行するのを忘れないように)

OKだったら起動プログラムに登録しましょう。

sudo nano /etc/rc.local 本文の最後の exit 0 の前に書きます。

sudo python /home/pi/switch.py &

保存したら再起動して動作確認。

 

以下のサイトを参考にさせて貰いました
ありがとうございました。

Raspberry Piにシャットダウンとリブートボタンを設置する