更新时间:2024-06-24 08:13:31下载pdf
蓝牙单点通用模组可以接收蓝牙 Beacon 遥控器的控制信号并将其传递至微控制器(MCU),以便实现设备的蓝牙 Beacon 遥控器控制功能。
适用场景
适用于长时间供电的家电和照明设备,以及需要遥控功能的设备。
方案特点
选择支持蓝牙 Beacon 遥控器功能的蓝牙通用固件。
登录 涂鸦开发者平台。
打开 创建产品 页面。
根据您已有的智能设备分类,选择产品类目,确定具体产品。例如,小家电 > 风扇。
在 选择智能化方式 处,选择 产品开发。
在 自定义方案 处,选择风扇或风扇遥控器。填写产品名称并选择通讯协议后,单击 创建产品。
进入产品开发,在 03 硬件开发 中,选择 MCU SDK 对接方式,选择固件。
当前 Telink 系列模组和 BPU 模组已经对遥控器功能进行了适配。以下是当前支持遥控器功能的交付物不完全列举。若您在硬件开发页面无法选择到对应的交付物,可 提交工单 联系涂鸦上架相应交付物。
当前支持遥控器功能的固件有:
keyyayjm
,固件版本 2.3.0 以上。keyysck3
,固件版本 2.1.1 以上。购买或通过涂鸦蓝牙 Beacon 遥控器开发包开发遥控器。
跟随以下步骤快速体验遥控器功能。
首先,模组默认是不支持蓝牙 Beacon 遥控器的,需要通过功能扩展协议 蓝牙遥控器功能配置(CMD-0xC100) 打开该功能。例如:
MCU -> 模组:55 AA 00 C1 00 03 00 07 01 CB
。设置打开遥控器功能,且全时段支持配对,支持照明品类指令。
模组 -> MCU:55 AA 00 C1 00 02 00 00 C2
。配置成功,掉电记忆。
遥控器发送配对指令和模组配对,配对成功后模组将打印遥控器绑定信息。例如:
模组 -> MCU:55 AA 00 C1 00 03 02 01 02 C8
。遥控器配对成功,群组 ID:2。
遥控器控制开灯和关灯。
依据 遥控器控制命令表,0xFF
为通用品类,0x04
表示开关,后面跟的第一个字节为 0x00
表示关,为 0x01
表示开。
模组 -> MCU:55 AA 00 C1 00 07 01 FF 04 00 00 00 00 CB
,表示关灯。
模组 -> MCU:55 AA 00 C1 00 07 01 FF 04 01 00 00 00 CC
,表示开灯。
遥控器本地移除。当控制蓝牙遥控器本地移除时,模组将通知 MCU 遥控器绑定状态变化。
模组 -> MCU:55 AA 00 C1 00 03 02 00 00 C5
。
将设备添加到智能生活 App 中。
再次控制遥控器发送配对指令和模组配对。
模组 -> MCU:55 AA 00 C1 00 03 02 01 02 C8
。遥控器配对成功,群组 ID:2。
模组对遥控器发起代理认证流程,认证成功后,App 面板内可见设备。若认证失败,将删除遥控器配对关系。
App 移除遥控器。当通过 App 移除蓝牙遥控器时,模组也将通知 MCU 遥控器绑定状态变化。
模组 -> MCU:55 AA 00 C1 00 03 02 00 00 C5
。
CFG
字段选择模组自处理蓝牙遥控器配对许可模式时,模组上电 30 秒内允许蓝牙遥控器配对,30 秒后禁止配对。CFG
字段选择 MCU 与模组配合处理蓝牙遥控器配对许可模式时,MCU 可以通过设置允许或者拒绝蓝牙遥控器配对,来控制蓝牙遥控器配对的窗口。0x0E
指令会影响扫描功能,需要在射频测试完成后再次开启遥控器功能。MCU 发送
序号 | 字节数 | 字段 | 说明 |
---|---|---|---|
0 1 |
2 | 帧头 | 0x55 0xAA |
2 | 1 | 版本号 | 0x00 |
3 | 1 | 命令字 CMD | 0xC1 |
4 5 |
2 | 数据长度 | 0x00 0x03 |
6 | 1 | 子命令 | 0x00 |
7 8 |
2 | 数据 | Data[0]:CFG ① Data[1]:品类 ID ② |
9 | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
① CFG:蓝牙遥控器功能配置字段。
bit0
:0
:关闭蓝牙遥控器功能。1
:打开蓝牙遥控器功能。bit1
:0
:模组自处理蓝牙遥控器配对许可模式。1
:MCU 与模组配合处理蓝牙遥控器配对许可模式。bit2
:0
:拒绝蓝牙遥控器配对。1
:允许蓝牙遥控器配对。此字段仅当 bit1
为 1
时有效。0
。② 品类 ID:
例如,55 AA 00 C1 00 03 00 01 05 C9
,表示打开蓝牙遥控器功能。
模组返回
序号 | 字节数 | 字段 | 说明 |
---|---|---|---|
0 1 |
2 | 帧头 | 0x55 0xAA |
2 | 1 | 版本号 | 0x00 |
3 | 1 | 命令字 CMD | 0xC1 |
4 5 |
2 | 数据长度 | 0x00 0x02 |
6 | 1 | 子命令 | 0x00 |
7 | 1 | 数据 |
|
8 | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
模组发送
序号 | 字节数 | 字段 | 说明 |
---|---|---|---|
0 1 |
2 | 帧头 | 0x55 0xAA |
2 | 1 | 版本号 | 0x00 |
3 | 1 | 命令字 CMD | 0xC1 |
4 5 |
2 | 数据长度 | 0x00 0x07 |
6 | 1 | 子命令 | 0x01 |
数据 |
|
||
13 | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
MCU 返回
序号 | 字节数 | 字段 | 说明 |
---|---|---|---|
0 1 |
2 | 帧头 | 0x55 0xAA |
2 | 1 | 版本号 | 0x00 |
3 | 1 | 命令字 CMD | 0xC1 |
4 5 |
2 | 数据长度 | 0x00 0x01 |
6 | 1 | 子命令 | 0x01 |
7 | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
该服务的前提是开启蓝牙遥控器功能,见 CMD-0xC100。
模组发送
序号 | 字节数 | 字段 | 说明 |
---|---|---|---|
0 1 |
2 | 帧头 | 0x55 0xAA |
2 | 1 | 版本号 | 0x00 |
3 | 1 | 命令字 CMD | 0xC1 |
4 5 |
2 | 数据长度 | 0x00 0x03 |
6 | 1 | 子命令 | 0x02 |
7 8 |
2 | 数据 |
|
9 | 1 | CRC8 | 从帧头开始按字节求和得出的结果对 256 求余 |
控制命令字 (1 字节) |
控制命令(1 字节) 以下为通用命令 |
控制数据(4 字节),如未使用则补 0 | |
---|---|---|---|
品类 ID | |||
全品类:0xFF 单个品类 照明:0x01 插座/排插:0x02 窗帘开关:0x03 晾衣架:0x04 风扇:0x05 浴霸:0x06 空调:0x07 车库控制:0x08 水阀控制:0x09 消毒控制:0x0A 温控插座:0x0B 调光开关:0x0C 情景灯插座:0x0D 开关:0x0E 窗帘通断器:0x0F |
键值发送:0x01 |
字节 1:type,0 单击,1 双击,2 长按,3 长按保持,4 长按抬起 字节 2:键值 |
|
开关:0x04 | 字节 1:0 关闭,1 开启,2 暂停 字节 2:路数,路数为 0 时表示总控 |
||
喜好收藏:0x05 | 字节 1:1 收藏状态,2 切换到该收藏 字节 2:收藏号:0-3 |
||
倒计时功能:0x06 | 字节 1 和 2:倒计时时间,秒为单位,0 为取消倒计时,大端格式 字节 3:字节定时执行功能,暂时不用,待功能标号确定,默认关灯功能 |
||
一键群组查询:0x07 | 用于子设备广播通知已加入的群组 | ||
照明开关:0x08 | 字节 1:0 关闭,1 开启 字节 2:0 总开关,1 白光开关,2 彩光开关 |
||
亮度调节:0x09 | 字节 1:0 亮度值,1 亮度 +,2 亮度 - 字节 2:0 设备当前模式亮度,1 白光模式亮度 字节 3:字节 1 为 0 时表示亮度百分比(1-100%),字节 1 为 1 或 2 时表示亮度步进值(1-100%) |
||
亮度无极调节:0x0A | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:0 设备当前模式亮度、1 白光模式亮度 字节 3:速率(每 1s 调节的百分比) 字节 4:无极调节目标值 |
||
色温调节:0x0B | 字节 1:0 色温值、1 色温+、2 色温- 字节 2:字节 1 为 0 时表示色温百分比(0-100%) 字节 1 为 1 或 2 时表示色温步进值(0-100%) |
||
色温无极调节:0x0C | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率(每 1s 调节的百分比) 字节 3:无极调节目标值 |
||
七彩调节:0x0D | 字节 1:0 相对切换,1 具体颜色,2 循环调节开始,3 循环调节结束 字节 2:字节 1 为 1 时的具体颜色 ID |
||
H 值调节:0x0E | 字节 1:0 H 百分比值,1 步进加 +,2 步进减 - 字节 2:字节 1 为 0 时表示 H 百分比值(0-100%),字节 1 为 1 或 2 时表示 H 步进值(0-100%) |
||
H 值无极调节:0x0F | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3:无极调节目标值 |
||
S 值调节:0x10 | 字节 1:0 S 百分比值,1 步进加 +,2 步进减 - 字节 2:字节 1 为 0 时表示 S 百分比值(0-100%),字节 1 为 1 或 2 时表示 S 步进值(0-100%) |
||
S 值无极调节:0x11 | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3:无极调节目标值 |
||
V 值调节:0x12 | 字节 1:0 V 百分比值,1 步进加 +,2 步进减 - 字节 2:字节 1 为 0 时表示 V 百分比值(1-100%),字节 1 为 1 或 2 时表示 V 步进值(1-100%) |
||
V 值无极调节:0x13 | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3:无极调节目标值 |
||
HSV 控制:0x14 | 字节 1:H 百分比值(0-100%) 字节 2:S 百分比值(0-100%) 字节 3:V 百分比值(1-100%) |
||
场景调节:0x15 | 字节 1:0 相对切换,1 具体场景,2 循环调节开始,3 循环调节结束 字节 2:具体场景时的场景 ID |
||
照明模式设置:0x16 | 字节 1:1 小夜灯模式 | ||
电机转动行程调节:0x20 | 字节 1:0 正转,1 反转,2 暂停 字节 2:行程百分比(0-100%),0 表示连续转动 字节 3:路数,0 表示总路数 |
||
电机行程设置:0x21 | 字节 1:0 进入行程点设置,1 进入微调行程点,2 确认 行程点 字节 2:0 上行程设置,1 下行程设置,2 中间行程设置 字节 3:路数,0 表示总路数 |
||
电机速度调节:0x22 | 字节 1:0 档位值,1 步进 +,步进 - 字节 2:具体档位或步进档位,字节 3:路数,0 表示总路数 |
||
电机速度无极调节:0x23 | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3:无极调节目标值,字节 4:路数,0 表示总路数 |
||
温度调节:0x24 | 字节 1:0 温度值,1 步进 +,2 步进 - 字节 2 和 3:字节 1 为 0 时具体温度,字节 1 为 1 或 2 时步进温度。两字节温度值,大端表示,最高位表示正负,其他位的值表示温度单位值,以 0.1 摄氏度为单位,相乘得到具体温度。 |
||
温度无极调节:0x25 | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3 和 4:无极调节目标值,温度值同上 |
||
湿度调节:0x26 | 字节 1:0 湿度值,1 步进 +,2 步进 - 字节 2:具体档湿度或步进湿度 |
||
湿度无极调节:0x27 | 字节 1:0 连续加开始,1 连续减开始,2 连续结束 字节 2:速率,每 1s 调节的百分比 字节 3:无极调节目标值 |
||
以下为品类定制命令 | |||
定制品类(1 字节) |
定制命令(1 字节) |
参数(3 字节) |
|
照明定制:0xFF |
RGBY 控制:0x01 |
字节 1:0 向 R 色调节,1 向 G 色调节,2 向 B 色调 节,3 向 Y 色调节 |
|
风扇定制:0xFE |
风扇模式切换:0x01 |
字节 1:0 手动风,1 自然风,2 睡眠风 |
|
浴霸定制:0xFD |
浴霸模式切换:0x01 |
字节 1:0 暖风,1 换气,2 干燥,3 吹风 |
|
空调定制:0xFC |
睡眠:0x01 |
字节 1:0 off,1 on |
A:当配置遥控器功能(CMD-0xC100),CFG
字段的设置取决于产品是否需要在任意时间允许遥控器进行配对操作。强烈建议仅在设备上电的前 30 秒内允许遥控器进行配对操作,这可以通过将 bit1
设置为 0
来实现。如果您需要更长的配对时间,可以根据具体需求通过组合 bit1
和 bit2
来自行配置。
不建议始终允许遥控器在全时段内进行配对,因为这可能导致遥控器配对的对象不确定性,从而降低系统的安全性和可控性。
该配置策略有助于确保在设备启动后的特定时间窗口内才允许遥控器进行配对操作,从而提高产品的安全性和稳定性。
以灯举例,一个灯最多支持 5 个遥控器。
一个遥控器最多支持 8 个按键(8 个群组)。
替代逻辑:遥控器先和 A 家庭的灯配对,然后和 B 家庭的灯配对。此时云端应该删除遥控器与 A 家庭的配对关系,并在 A 家庭的灯在线时通知灯删除该配对关系,之后遥控器不能再控制 A 家庭的灯。
如果在开发过程遇到问题,您可以登录 TuyaOS 开发者论坛 TuyaOS-蓝牙设备开发 版块进行沟通咨询。咨询前,建议首先查阅 官方资料 或参考已有帖子,并认真阅读 发帖规范。
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈