- 新增 BLVRQPage.json 配置文件,设置导航栏样式。 - 新增 BLVRQPage.wxml 文件,构建蓝牙设备信息展示和操作界面。 - 新增 BLVRQPage.wxss 文件,定义页面样式和布局。
4.8 KiB
4.8 KiB
RF_RQ2603 蓝牙通讯协议
一、设备与通讯基础
- 主控蓝牙模块:清月 BT201 (型号:KT1025A)
- 通讯模式:BLE 透传模式
- 默认 BLE 名称:BT201-BLE
- BLE 单包最大数据:20 Byte
- 串口参数 (MCU ↔ 蓝牙模块):115200, 8N1
二、数据帧格式
所有数据包遵循以下结构:
| 字节位置 | 字段 | 长度 | 说明 |
|---|---|---|---|
| B0~B1 | Head (帧头) | 2 | 固定为 0xDD 0xD0 |
| B2 | Len (长度) | 1 | 整包总字节数(包含 Head 和 CRC) |
| B3~B4 | CRC (校验) | 2 | CRC16;计算时此处填 0x00 |
| B5 | Frame_Type (命令字) | 1 | 指令代码 |
| B6~B19 | PARA (参数) | ≤14 | 指令相关参数(可变长) |
注意
Len:从 B0 到包尾的总字节数。CRC计算范围:B0/B1/B2/B5/B6…(包尾),计算时 B3~B4 需填 0x00。
三、指令集明细
3.1 读取版本号(0x01)
PC → MCU
| 字段 | 值 |
|---|---|
| Frame_Type | 0x01 |
| P0 | 0x01(读取) |
MCU → PC
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x01 |
| P0 | 软件版本号 |
| P1 | 硬件版本号 |
3.2 设置蓝牙名称(0x05)
PC → MCU
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x05 |
| P0 | 有效名称字节长度 N(1~12) |
| P1~P(N) | 名称字符(ASCII) |
默认名称:
BLV_RQ_XXXXXXXX,最多支持 8 字节自定义名称。
MCU → PC
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x05 |
| P0 | 0x01:设置成功0x02:设置失败 |
3.3 读取按键配置(0x04)
PC → MCU
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x04 |
| P0 | 0x01(读取) |
MCU → PC
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x04 |
| P0 | 硬件按键总数(0x01~0x08) |
| P1~P8 | 硬件按键 1~8 配置(每项 1 字节) |
按键配置字节结构
- Bit0
3:映射键值(0x10x8) - Bit4~7:按键功能
按键功能码(Bit4~7)
0x00:不设置(保持原功能)0x01:普通按键0x02:清理按键(带二次确认)0x03:投诉按键(带二次确认)0x04~0x0F:预留/其他功能
3.4 设置按键配置(0x02)
PC → MCU
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x02 |
| P0 | 硬件按键数量(0x01~0x08) |
| P1 | 按键1功能 |
| P2 | 按键2功能 |
| P3 | 按键3功能 |
| P4 | 按键4功能 |
| P5 | 按键5功能 |
| P6 | 按键6功能 |
| P7 | 按键7功能 |
| P8 | 按键8功能 |
说明:
P0为实际需要配置的硬件按键数量N- 只需发送前
N+1个字节(P0~PN)- 例如:
P0=0x04(4个按键),则只需发送P0, P1, P2, P3, P4共 5 个字节- 未使用的
P5~P8可省略
按键功能码定义
| 功能码 | 功能名称 | 行为说明 |
|---|---|---|
0x00 |
不设置 | 保持该按键原有功能不变 |
0x01 |
普通按键 | 标准按键功能,按下即触发 |
0x02 |
清理按键 | 带二次确认的功能按键 |
0x03 |
投诉按键 | 带二次确认的功能按键 |
0x04 |
功能4 | 预留功能4 |
0x05 |
功能5 | 预留功能5 |
0x06 |
功能6 | 预留功能6 |
0x07 |
功能7 | 预留功能7 |
0x08 |
功能8 | 预留功能8 |
0x09 |
功能9 | 预留功能9 |
0x0A |
功能10 | 预留功能10 |
0x0B |
功能11 | 预留功能11 |
0x0C |
功能12 | 预留功能12 |
0x0D |
功能13 | 预留功能13 |
0x0E |
功能14 | 预留功能14 |
0x0F |
功能15 | 预留功能15 |
MCU → PC
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x02 |
| P0 | 0x01:设置成功0x02:设置失败 |
3.5 模拟按键触发(0x06)
PC → MCU
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x06 |
| P0 | 模拟按键数量 K |
| P1 | 按键状态位图(Bit0~Bit7):Bit0=1:键值1按下Bit1=1:键值2按下...Bit7=1:键值8按下 |
P0 的值应与 P1 中置 1 的位数一致。
MCU → PC
| 字段 | 说明 |
|---|---|
| Frame_Type | 0x06 |
| P0 | 0x01:成功0x02:失败 |
四、关键概念
- 硬件按键:设备上固定的物理按钮(位置 1~8)。
- 映射键值:物理按键实际触发的逻辑按键编号(1~8),映射可配置。
功能与读取配置的关系
- 设置按键功能(Command
0x02)作用于 硬件按键位置。 P0为当前实际配置的硬件按键数量。- 读取配置(Command
0x04)返回每个硬件位置当前的映射键值及其功能。
其它说明
- 参数区(PARA)最大 14 字节,需确保单包数据不超限。
默认状态
- 蓝牙名称:
BLV_RQ_XXXXXXXX - 按键功能:默认为“普通按键”(0x01)
- 按键映射:默认硬件位置 n 映射到键值 n(1 对 1 映射)