Mercurial > code > home > repos > homeauto
annotate service/bluetoothButtons/bluetooth_buttons.py @ 1406:b2e9cd28d202
loftdesk config
Ignore-this: 2bee427b1909e6c60603f03d6ad69087
darcs-hash:83fc6c1754be4b34f14fbd6293b8d9cc40b6b40c
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Tue, 23 Jul 2019 10:29:20 -0700 |
parents | 80397afd5b52 |
children |
rev | line source |
---|---|
1281
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
1 import hidraw |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
2 import os |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
3 import requests |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
4 import json |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
5 |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
6 fileno = os.open('/dev/hidraw0', os.O_RDWR) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
7 h = hidraw.HIDRaw(fileno) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
8 |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
9 keys = { |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
10 b'\x02\xb6\x00': 'left', |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
11 b'\x02\xe9\x00': 'top', |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
12 b'\x02\xb5\x00': 'right', |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
13 b'\x02\xcd\x00': 'middle', |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
14 } |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
15 |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
16 while True: |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
17 buf = os.read(fileno, 16) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
18 print('got %r' % buf) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
19 addr = h.getPhysicalAddress().decode('ascii') |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
20 |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
21 if buf in keys: |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
22 msg = {'addr': addr, 'key': keys[buf]} |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
23 print(msg) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
24 requests.post('http://bang6:10011/bluetoothButton', |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
25 data=json.dumps(msg)) |
80397afd5b52
read and send some HID events. might be working
drewp <drewp@bigasterisk.com>
parents:
diff
changeset
|
26 # to use port 10014 |