-
Notifications
You must be signed in to change notification settings - Fork 1
/
pir.py
32 lines (28 loc) · 924 Bytes
/
pir.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import sys
from time import sleep, time
import RPi.GPIO as gpio
from subprocess import call
gpio.setmode(gpio.BOARD)
poweroff_delay = 5
check_delay = 1
pir_pin = 11
def main():
gpio.setup(pir_pin, gpio.IN, pull_up_down = gpio.PUD_DOWN)
isDisabled = False
last_motion_time = time()
while True:
if gpio.input(pir_pin):
last_motion_time = time()
sys.stdout.flush()
if isDisabled:
isDisabled = False
call('sudo vcgencmd display_power 1', shell=True)
sleep(5)
else:
if time() > (last_motion_time + poweroff_delay) and not isDisabled:
isDisabled = True
call('sudo vcgencmd display_power 0', shell=True)
sleep(check_delay)
if __name__ == '__main__':
call('sudo vcgencmd display_power 1', shell=True)
main()