-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpiflic.py
77 lines (69 loc) · 2.42 KB
/
piflic.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#original URL:https://www.instructables.com/id/PiFlic-Flic-wireless-smart-button-Raspberry-Pi/
# PIFLIC
# RASPBERRY PI AND FLIC WIRELESS SMART BUTTON TOGETHER
# BY ACMECORPORATION
import time
import os
import grovepi
from grovepi import *
# Connect the Grove LED to digital port D4
ledblue = 4
ledred = 2
ledgreen = 3
buzzer = 8
pinMode(ledblue,"OUTPUT")
pinMode(ledred,"OUTPUT")
pinMode(ledgreen,"OUTPUT")
grovepi.pinMode(buzzer,"OUTPUT")
time.sleep(1)
click = " click"
dclick = "double_click"
hold = "hold"
while True:
try:
# SUBSTITUTE INSERT HERE WITH YOUR PUSHBULLET TOKEN
push = os.popen("curl --header 'Access-Token: INSERT HERE' --data-urlencode active='true' --data-urlencode modified_after='1.4e+09' --get https://api.pushbullet.com/v2/pushes")
line = push.readline()
print line
print push
if click in line:
grovepi.digitalWrite(buzzer,1)
time.sleep(.2)
grovepi.digitalWrite(buzzer,0)
digitalWrite(ledblue,1)
time.sleep(2)
digitalWrite(ledblue,0)
time.sleep(1)
# SUBSTITUTE INSERT HERE WITH YOUR PUSHBULLET TOKEN
os.system("curl --header 'Access-Token: INSERT HERE' --request DELETE https://api.pushbullet.com/v2/pushes")
if dclick in line:
grovepi.digitalWrite(buzzer,1)
time.sleep(.2)
grovepi.digitalWrite(buzzer,0)
time.sleep(.1)
grovepi.digitalWrite(buzzer,1)
time.sleep(.2)
grovepi.digitalWrite(buzzer,0)
digitalWrite(ledred,1)
time.sleep(2)
digitalWrite(ledred,0)
time.sleep(1)
# SUBSTITUTE INSERT HERE WITH YOUR PUSHBULLET TOKEN
os.system("curl --header 'Access-Token: INSERT HERE' --request DELETE https://api.pushbullet.com/v2/pushes")
if hold in line:
grovepi.digitalWrite(buzzer,1)
time.sleep(.6)
grovepi.digitalWrite(buzzer,0)
digitalWrite(ledgreen,1)
time.sleep(2)
digitalWrite(ledgreen,0)
time.sleep(1)
# SUBSTITUTE INSERT HERE WITH YOUR PUSHBULLET TOKEN
os.system("curl --header 'Access-Token: INSERT HERE' --request DELETE https://api.pushbullet.com/v2/pushes")
except KeyboardInterrupt: # Turn LED off before stopping
digitalWrite(ledblue,0)
digitalWrite(ledred,0)
digitalWrite(ledgreen,0)
break
except IOError: # Print "Error" if communication error encountered
print "Error"