blob: 56ec77bf45edd894b6bf9127a190e504b263b920 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
from bluepy.btle import Peripheral, ADDR_TYPE_PUBLIC
import time
import colorsys
import json
lampmac = "FC:58:FA:A1:CF:F1"
dev = Peripheral(lampmac, ADDR_TYPE_PUBLIC)
def makemsg(r, g, b, l=0):
return bytearray((b"\x01" if g > 0 else b"\x00") + bytes([g]) +\
b"\x00\x00" +\
(b"\x01" if b > 0 else b"\x00") + bytes([b]) +\
(b"\x01" if r > 0 else b"\x00") + bytes([r]) +\
(b"\x01" if l > 0 else b"\x00") + bytes([l]))
hue = 0
while True:
hue = (hue + 1) % 360
r, g, b = map(lambda x: int(x * 255), colorsys.hsv_to_rgb(hue / 360, 1, 1))
color = makemsg(r, g, b)
dev.writeCharacteristic(0x002A, color)
|