aboutsummaryrefslogtreecommitdiff
path: root/main.py
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)