/
blinkserver.py
54 lines (47 loc) · 1.29 KB
/
blinkserver.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
import BaseHTTPServer
import time
from blink1.blink1 import Blink1
b1 = Blink1()
class SimpleRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_GET(self):
print "incoming request: " + self.path
self.wfile.write('HTTP-1.0 200 Okay\r\n\r\n' + self.path)
self.wfile.write('\r\n' + modes(self.path))
def run(server_class=BaseHTTPServer.HTTPServer,
handler_class=SimpleRequestHandler):
server_address = ('', 8080)
httpd = server_class(server_address, handler_class)
httpd.serve_forever()
def doblink(mode, r, g, b):
print "blink mode received"
if mode == "flash":
b1.fade_to_rgb(1000, 0, 0, 0)
time.sleep(3)
b1.fade_to_rgb(1000, r, g, b)
else:
b1.fade_to_rgb(1000, r, g, b)
return "ok"
def modes(argument):
if argument == "/solid/red":
doblink("solid", 255, 0, 0)
return "ok"
elif argument == "/solid/green":
doblink("solid", 0, 255, 0)
return "ok"
elif argument == "/solid/blue":
doblink("solid", 0, 0, 255)
return "ok"
elif argument == "/flash/red":
doblink("flash", 255, 0, 0)
return "ok"
elif argument == "/flash/green":
doblink("flash", 0, 255, 0)
return "ok"
elif argument == "/flash/blue":
doblink("flash", 0, 0, 255)
return "ok"
elif argument == "/clear":
doblink("solid", 0, 0, 0)
else:
return "invalid"
run()