SensorTag"气功大师"情景灯光控制
时间:10-02
整理:3721RD
点击:
本来想一次都发出来的,结果发现摊子铺得太大,可能必须分开写了……
这是我的SensorTag项目中的第一个,也是相对来讲比较简单的一个,不对SensorTag本身做过多的改动,更加偏向SensorTag应用。
先让我们来认识一下Yeelight。来自青岛的创业团队,我们的好基友。Yeelight Blue是基于TI CC254x系列的BLE蓝牙智能灯,也算是我们SensorTag的同门了。
Yeelight支持包括调色,定时开关,以及根据音乐节奏和照片颜色进行情景互动等功能。
我们今天要做的就是通过SensorTag的传感器操控Yeelight灯光。比如把SensorTag拿在手上,利用加速度、陀螺仪等传感器,检测人的动作,控制Yeelight进行相应的灯光颜色、亮度调节,让我们也能化身能够“隔山打牛”的“气功大师”。
Yeelight 也是通过操作Characteristic来控制灯光的,操作方法可以在Yeelight网站上找到文档
就是通过操作FFF0 Service中的FFF1 Characteristic 来改变颜色,控制指令长度为18字节ASCII,不足18字节的用逗号补齐.
格式为 <R>,<G>,<B>,<L>,,, 其中R,G,B是颜色,0255, L是亮度0100
之前的文章里已经描述过采用techBASIC可以快速开发iOS平台的BLE程序,这次我们仍然采用techBASIC。
简单测试,向Yeelight发送指令 "0,100,200,60,,,,,,"。注意writeCharacteristic只接受整形数组的value,所以需要先把字符转成ASCII
- IF service.uuid = ylServices(lightCtrl%) THEN
- IF characteristics(i).uuid = "FFF1" THEN
- PRINT "Light Ctrl Found."
- DIM value(18) as INTEGER
- value = [$30, $2c, $31, $30, $30, $2c, $32, $30, $30, $2c, $36, $30, $2c, $2c, $2c, $2c, $2c, $2c]
然后就是把SensorTag的传感器数据转化为控制灯光的指令,我们这里选择加速度,X轴、Y轴控制颜色,Z轴控制亮度。
由于SensorTag默认的加速度传感器量程为 ±2G,考虑到我们拿在手上运动不剧烈的时候一般也就 ±1G,所以转换范围就定到±1G了。另外视频里为了取得较好的演示效果,把小于0.05的加速度(可以认为是静止状态)忽略了。不然,就会导致一停下就恢复到原来颜色的囧状况……
通过读取手机加速度,再转换为颜色、亮度的数值,就可以控制Yeelight啦!请叫我气功大师!
详细的代码稍后补上!
能不能说说这个灯的静态功耗是多少?
官网数据是6W 我自己没测过……
你大概说的是灯泡亮的时候功率吧?
我问的是不亮的时候得待机功耗
官网数据 <0.3W 估计主要是浪费在电源了,毕竟是要整流降压啥的。 CC2540本身功耗很低
各位朋友可以发我你们的的QQ号码不?如果不方便请发我邮箱 zhuzhou601@126.com
哪个发下联系方式 我想一起研究下TI 2540的模块
Yeelight支持包括调色,定时开关,以及根据音乐节奏和照片颜色进行情景互动等功能。这些功能都挺不错的,楼主做的也很有创意,期待更详细的资料和程序。