Skip to content

Commit

Permalink
Add powerbutton service
Browse files Browse the repository at this point in the history
  • Loading branch information
Mercotui committed Aug 11, 2021
1 parent 946ac72 commit 8ad7b50
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
19 changes: 19 additions & 0 deletions services/powerbutton.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env python
"""
Shutdown script, that waits for a falling edge on a specified GPIO pin
"""
import os

try:
from RPi import GPIO
except RuntimeError:
print("Error importing RPi.GPIO, need sudo?")
POWER_BUTTON_PIN = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(POWER_BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)

print('Monitoring shutdown button for falling edge')
while True:
GPIO.wait_for_edge(POWER_BUTTON_PIN, GPIO.FALLING)
print('Shutdown button pressed, shutting down, farewell')
os.system('systemctl poweroff')
9 changes: 9 additions & 0 deletions services/powerbutton.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[Unit]
Description=Monitors powerbutton to send shutdown command

[Service]
Restart=on-abnormal
ExecStart=/usr/local/bin/powerbutton.py

[Install]
WantedBy=multi-user.target

0 comments on commit 8ad7b50

Please sign in to comment.