GPIO-23に繋いだプッシュスイッチを3秒押しっぱなしにするとシャットダウンが始まるようにする
#!/usr/bin/python
# coding:utf-8
import time
import RPi.GPIO as GPIO
import os
# 入力GPIO番号で指定する(物理ピン番号では無い)
pinnumber=23
GPIO.setmode(GPIO.BCM)
GPIO.setup(pinnumber,GPIO.IN,pull_up_down=GPIO.PUD_UP)
while True:
# 立ち下がりエッジを検出したら
GPIO.wait_for_edge(pinnumber, GPIO.FALLING)
sw_counter = 0
while True:
sw_status = GPIO.input(pinnumber)
if sw_status == 0:
sw_counter = sw_counter + 1
if sw_counter >= 30:
print("長押し検出")
#os.system("sudo sudo dd if=/dev/zero of=/dev/fb0")
os.system("sudo shutdown -h now")
break
else:
print("短押し検出")
break
time.sleep(0.1)
print(sw_counter)
[Unit] Description=Shutdown Daemon [Service] ExecStart =/usr/local/bin/shutdownd.py Restart=always Type=simple [Install] WantedBy=multi-user.target
sudo chmod 755 /usr/local/bin/shutdownd.py sudo systemctl enable shutdownbuttond.service sudo systemctl daemon-reload sudo systemctl start shutdownbuttond.service