【蓝牙 Beacon】Beacon 做遥控器、情景开关等配件资料
Posted: 2023年 Nov 22日 15:06
1. 概述
我们将采用 Beacon 技术,可直接与被控设备对码(配对)、安全控制、解绑的设备称为配件设备(或遥控器设备)。
相比于其他智能家居产品,配件设备具备:
- 无需配网,但是可以借助主控设备进行身份验证
- 能与主控设备对码后进行安全控制
涂鸦开发者常常在以下场景使用配件:
- Beacon 遥控器/简单墙面贴 --> WiFi+BLE 双协议模组灯/插座/风扇等
- Beacon 遥控器/简单墙面贴 --> SIG Mesh 灯
- Beacon 遥控器/简单墙面贴 --> BLE 灯
- Beacon 遥控器/简单墙面贴 --> BeaconMesh 灯
2. 技术指标
- 配件只能单向广播命令
- 涂鸦目前有两控制协议
- 一套是基于 dp 的控制指令,用于 BeaconMesh 的控制
- 一套是基于指令集的控制指令,用于 BLE\MESH\WIFI 的控制
- 涂鸦提供的 SDK+DEMO,封装到了很上层,用户只需要根据dp或指令集将广播包发出即可
3. SDK+DEMO
请找商务沟通。
4. 附件
4.1 当前支持的指令集
4.2 BeaconMesh 基于 dp 的控制指令
涂鸦开发者平台上创建的 5 路 BeaconMesh 灯的 dp 如下:
.
在 TuyaOS 遥控器的 demo 中(app_remoter.c):
Code: Select all
case 2:{//control off
uint8_t r_onoff = 0;
// 组指令集的包
//params = &cmd_onoff[0];
//*params = group;//group control
//*(params+3) = r_onoff;
// 组 dp 的包
//uint8_t cmd_dp_onoff[5] = {0x00,0x13,0x01,0x11,0x00}; // group_id + cmd + dp
dp_params = &cmd_dp_onoff[0];
*dp_params = group;
*(dp_params+4) = r_onoff;
dp_params_len = 5;
PR_DEBUG("---device %d group off\n",group);
}
break;
.
dp_params 的格式构成为:
group_id | cmd | dpid | dpkind 和 dplen | dpvalue |
---|---|---|---|---|
1字节 | 1字节,发送 dp 的 cmd = 0x13 | 1字节 | (4<<dpkind)|dplen (1字节) | bool类型是1字节,数值类型是4字节大端,枚举类型1字节,string和raw类型n字节 |
.
dpkind 信息如下:
.
因此,50%(500->0x1f4) 冷暖的 dp_params = {0x00,0x13,0x04,0x24,0x00,0x00,0x01,0xf4}