今天在YEELINK看到ARDUINO控制YEELIGHT的C代码,深受启发,
结合这两天试官方摄像头的过程中学习的netcat应用程序,在PI命令行下,实现了对YEELIGHT的控制
$sudo apt-get install netcat
$ echo C 0001,0,0,255,100,, | nc 192.168.1.117 10003
这里192.168.1.117 是我盒子内网的地址, 0001是其中一个灯的ID,执行命令后该灯变为最亮的蓝色。再输入
$echo C 0001,0,0,255,0,, | nc 192.168.1.117 10003
0001灯熄了。
echo 后的参数是依据YEELIGHT官方文档来定义的,具体如下
---------------------------------------------------------------------------------------------------------
3.2 控制消息(C)
该消息由主控模块下发到Zigbee Coordinator模块,用来控制灯的状态(开、关、变颜色、变亮度)。
主控模块 Zigbee |------------- C ------------->|
C消息面对一个设备发送消息来控制灯, 其参数如下, C <ID>,<R>,<G>,<B>,<L>,<effect>
参数详解: ID:长度为4个字符的唯一ID, 使用灯的Zigbee网络地址; R: 数字, 0~255, 红色分量; G: 数字, 0~255, 绿色分量; B: 数字, 0~255, 蓝色分量; L: 数字, 0~100, 亮度; Effect: 数字, 特殊效果ID, 保留未使用 参数意义同GLB. 对于不同的控制操作, 参数有不同的组合, 设于参数保留空.
关灯: C <ID>,,,,0, 调整色彩: C <ID>,<R>,<G>,<B>,, 开灯或调整亮度: C <ID>,,,,<L>, 效果目前预留, 留待以后开发
具体样例: C 0001,0,0,255,100,, (0001号灯变成蓝色) C 0001,0,0,255,50,, (0001号灯变成蓝色并变暗) |