-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathehlight
executable file
·65 lines (47 loc) · 1.47 KB
/
ehlight
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
#!/usr/bin/python3
#
# ehlight
#
# Explorer HatのLEDを制御
#
# Cppyright(c) 2016 [email protected]
#
import argparse
import os.path
import socket
import sys
import time
SOCK_FILENAME = '/tmp/explorerd.sock'
def arg_parse():
parser = argparse.ArgumentParser(description='On/Off LEDs on Explorer Hat.')
parser.add_argument('-r', '--red', help='Red LED', type=int, choices=(0,1))
parser.add_argument('-b', '--blue', help='Blue LED', type=int, choices=(0,1))
parser.add_argument('-y', '--yellow', help='Yellow LED', type=int, choices=(0,1))
parser.add_argument('-g', '--green', help='Green LED', type=int, choices=(0,1))
args = parser.parse_args()
return(args)
if __name__ == '__main__':
res = arg_parse() # 引数処理
with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as sock:
sock.connect(SOCK_FILENAME)
msg = 'light:'
if res.red == 1:
msg += 'red=1,'
elif res.red == 0:
msg += 'red=0,'
if res.blue == 1:
msg += 'blue=1,'
elif res.blue == 0:
msg += 'blue=0,'
if res.yellow == 1:
msg += 'yellow=1,'
elif res.yellow == 0:
msg += 'yellow=0,'
if res.green == 1:
msg += 'green=1,'
elif res.green == 0:
msg += 'green=0,'
sock_msg = msg.rstrip(',') + '\n'
sock_msg = sock_msg.encode()
sock.send(sock_msg)
sys.exit(0)