-
Notifications
You must be signed in to change notification settings - Fork 0
/
if_gpio_led3.py
52 lines (43 loc) · 1.12 KB
/
if_gpio_led3.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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# coding:utf-8 Copy Right Atelier Grenouille © 2015 -
import subprocess
import importlib
import led
import traceback
import sys
import getrpimodel
# RPi 3 は LED1(赤LED)を操作できない
pi3 = True if getrpimodel.model() == "3 Model B" else False
l = led.LED()
l.use(0) # green
pi3 or l.use(1) # red
l.off(0)
pi3 or l.off(1)
l_status = False
def get_gpio():
p = subprocess.call(gpio_str, stdout=subprocess.PIPE, shell=True)
return p.stdout.readline().strip()
def wait(pin):
global l
while True:
try:
print "waiting..."
gpio_str = 'gpio wfi '+str(pin)+ ' rising'
p = subprocess.call(gpio_str, shell=True)
l.on(0)
pi3 or l.on(1)
print "on"
gpio_str = 'gpio wfi '+str(pin)+ ' falling'
p = subprocess.call(gpio_str, shell=True)
l.off(0)
pi3 or l.off(1)
print "off"
except:
info=sys.exc_info()
print "Unexpected error:"+ traceback.format_exc(info[0])
print traceback.format_exc(info[1])
print traceback.format_exc(info[2])
if __name__ == '__main__':
pin = 23
if (len(sys.argv) == 2):
pin = int(sys.argv[1])
print wait(pin)