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