蓝牙调试页面初步完成
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
|---------|------|-------------|---------|------|
|
||||
| B0~B1 | Head | 2 | 0xCC 0xC0 | 固定包头 |
|
||||
| B2~B3 | Len | 2 | 00~548 | 数据的总长度,包括包头和CRC校验,低地址在前 |
|
||||
| B4~B5 | CRC | 2 | 00~FF | 整包CRC16校验 |
|
||||
| B4~B5 | CRC | 2 | 00~FF | 整包CRC16Modbus 校验 |
|
||||
| B6~B7 | Frame | 2 | 00~FF | 帧号 |
|
||||
| B8~B9 | FramNum | 2 | 00~FF | 帧总数 |
|
||||
| B10 | Frame_Type | 1 | 00~FF | 帧类型,命令字 |
|
||||
@@ -54,18 +54,90 @@ sequenceDiagram
|
||||
|------|-------|------|------|
|
||||
| PC→MCU | 0x01 | P0: 0x00 | 读取版本号命令 |
|
||||
| MCU→PC | 0x01 | P0: 软件版本号<br>P1: 硬件版本号 | 返回版本信息 |
|
||||
CC C0 0D 00 54 08 01 00 01 00 01 04 04
|
||||
### 3.2 设置无卡取电条件信息
|
||||
|
||||
### 3.2 设置无卡取电条件信息(命令1)
|
||||
| 方向 | 命令字 | 参数 | 备注 |
|
||||
|------|-------|------|------|
|
||||
| PC→MCU | 0x08 | P0: 有无逻辑标记<br>P1: 条件组<br>P2: 条件序号<br>P3~P4: 条件判定时间<br>P5: 条件判定时间单位<br>P6~P9: 端口1~10状态<br>P10: 触发阈值<br>P11~P12: 条件超时时间<br>P13: 条件超时时间单位 | 设置无卡取电条件 |
|
||||
| MCU→PC | 0x08 | P0: 0x01(参数正确) / 0x02(参数错误) | 返回设置结果 |
|
||||
PC -> MCU
|
||||
|
||||
命令字: 0x08
|
||||
|
||||
参数说明 (P0..P13):
|
||||
|
||||
- P0: 有无人逻辑标记
|
||||
- P1: 条件组号
|
||||
- P2: 同一条件组内的条件序号
|
||||
- P3~P4: 条件判定时间(16-bit,低地址在前)
|
||||
- P5: 条件判定时间单位
|
||||
- P6~P10: 端口1~5 状态(共 5 个字节/项,按顺序;第1项为插卡状态,暂未使用)
|
||||
- P11~P12: 条件组超时时间(16-bit, 低地址在前)
|
||||
- P13: 条件组超时时间单位(取值:1=秒,2=分,3=时)
|
||||
|
||||
有无人逻辑标志取值:
|
||||
|
||||
- 1: 无人至有人
|
||||
- 2: 有人至无人
|
||||
- 3: 短暂离开
|
||||
- 4: 长时间离开
|
||||
|
||||
端口状态取值说明(每项):
|
||||
|
||||
- 0: 不判断
|
||||
- 1: 触发
|
||||
- 2: 释放
|
||||
- 3: 关至开
|
||||
- 4: 开至关
|
||||
|
||||
注意:条件组超时时间必须大于或等于条件判定时间(P11~P12 >= P3~P4),否则设备应判定为参数错误。
|
||||
|
||||
MCU -> PC
|
||||
|
||||
命令字: 0x08(响应)
|
||||
|
||||
- P0: 返回码:0x01 表示参数正确;0x02 表示参数错误
|
||||
|
||||
|
||||
### 3.3 设置无卡取电端口信息
|
||||
|
||||
PC -> MCU
|
||||
|
||||
命令字: 0x09
|
||||
|
||||
参数说明 (P0..P10):
|
||||
|
||||
- P0: 端口设备类型
|
||||
- P1: 端口设备地址(暂未使用,默认 1)
|
||||
- P2~P3: 端口设备回路(16-bit,低地址在前,取值 1..5)
|
||||
- P4: 有人->无人 阈值
|
||||
- P5: 虚拟端口号(1..5,对应物理端口含义见下)
|
||||
- P6: 回路是否启用检测统计(0/1)
|
||||
- P7~P8: 回路检测统计时间(16-bit,低地址在前)
|
||||
- P9: 回路检测统计时间单位(1=秒,2=分,3=时)
|
||||
- P10: 无人->有人 阈值
|
||||
|
||||
字段说明与取值:
|
||||
|
||||
- 端口设备类型:
|
||||
- 插卡状态: 10
|
||||
- 其他设备类型: 2(默认)
|
||||
- 端口地址:暂未使用,默认填写 1
|
||||
- 端口设备回路(P2~P3):可取 1~5,含义如下:
|
||||
- 回路1: 插卡状态
|
||||
- 回路2: 门磁状态
|
||||
- 回路3: 洗手间状态
|
||||
- 回路4: 卧室状态
|
||||
- 回路5: 门口状态
|
||||
- 虚拟端口号(P5):取值 1~5,对应物理端口含义同上(端口1=插卡,2=门磁,3=洗手间,4=卧室,5=门口)
|
||||
- 回路检测统计最大时间:8 小时(设备端限制)
|
||||
|
||||
注意:
|
||||
- 请确保统计时间与单位(P7~P9)不会超过设备支持的最大值(通常 8 小时);若超限设备可能返回参数错误。
|
||||
|
||||
MCU -> PC
|
||||
|
||||
命令字: 0x09(响应)
|
||||
|
||||
- P0: 返回码:0x01 表示参数正确;0x02 表示参数错误
|
||||
|
||||
### 3.3 设置无卡取电条件信息(命令2)
|
||||
| 方向 | 命令字 | 参数 | 备注 |
|
||||
|------|-------|------|------|
|
||||
| PC→MCU | 0x09 | P0: 端口设备类型<br>P1: 端口设备地址<br>P2~P3: 端口设备回路<br>P4: 有人->无人阈值<br>P5: 虚拟端口号<br>P6: 回路是否启用检测统计<br>P7~P8: 回路检测统计时间<br>P9: 回路检测统计时间单位<br>P10: 无人->有人阈值 | 设置无卡取电条件 |
|
||||
| MCU→PC | 0x09 | P0: 0x01(参数正确) / 0x02(参数错误) | 返回设置结果 |
|
||||
|
||||
### 3.4 OTA升级开始
|
||||
| 方向 | 命令字 | 参数 | 备注 |
|
||||
@@ -88,17 +160,35 @@ sequenceDiagram
|
||||
- 端口状态值:0=释放,1=触发。
|
||||
- 典型端口位含义:bit0=端口1(门磁),bit1=端口2(洗手间),bit2=端口3(卧室),bit3=端口4(门口),后续端口依次类推。
|
||||
|
||||
### 3.7 测试按键功能
|
||||
### 3.7 测试按键功能
|
||||
| 方向 | 命令字 | 参数 | 备注 |
|
||||
|------|-------|------|------|
|
||||
| PC→MCU | 0x13 | P0: 0x01(按键点按控制)<br>P1: bit0(按键1触发), bit1(按键2触发), bit2(按键3触发), bit3(按键4触发), bit4(按键5触发), bit5(按键6触发) | 测试按键功能(对应按键仅支持点按,不具备开关状态) |
|
||||
| PC→MCU | 0x13 | P0: 0x01(按键点按控制)<br>P1: 按键位掩码(位对应按键见下表) | 请求模拟按键点按;P1 为按键位掩码,可同时置位多个按键以并行触发对应动作 |
|
||||
| MCU→PC | 0x13 | P0: 0x01(参数正确) / 0x02(参数错误) | 返回设置结果 |
|
||||
|
||||
### 3.8 设置门磁开关走廊灯、卫浴雷达开关卫浴灯事件
|
||||
按键映射说明:
|
||||
|
||||
- 按键1 (bit0): 无人→有人
|
||||
- 按键2 (bit1): 有人→无人
|
||||
- 按键3 (bit2): 门磁 开
|
||||
- 按键4 (bit3): 门磁 关
|
||||
- 按键5 (bit4): 洗手间雷达 开
|
||||
- 按键6 (bit5): 洗手间雷达 关
|
||||
|
||||
组包示例与说明:
|
||||
|
||||
- 要模拟“按键3(门磁 开)”点按,PC 发送命令帧 Frame_Type=0x13,参数 P0=0x01,P1=0x04(bit2 = 1)。
|
||||
- 要同时触发按键1与按键5,P1 应为 (1<<0) | (1<<4) = 0x11。
|
||||
- 设备在收到该命令后按位解析 P1,并对被置位的按键逐一触发对应的内部动作或上报状态变化。若参数格式或范围非法,设备返回 MCU→PC 的 P0=0x02 表示参数错误。
|
||||
|
||||
注意:这些测试按键仅用于模拟点按触发动作,不会改变设备的持续开/关逻辑(若需设置长期状态,请使用对应的控制命令)。
|
||||
|
||||
### 3.8 设置门磁开廊灯事件,卫浴雷达开卫浴灯事件触发、释放参数
|
||||
| 方向 | 命令字 | 参数 | 备注 |
|
||||
|------|-------|------|------|
|
||||
| PC→MCU | 0x16 | P0: 控制位(bit0=门磁开关走廊灯事件;bit1=卫浴灯开关事件)<br>门磁开关走廊灯事件:<br>P1: 事件触发延迟时间数值<br>P2: 时间单位(1=秒,2=分,3=时)<br>P3: 事件持续时间数值<br>P4: 时间单位(1=秒,2=分,3=时)<br>P5: 事件释放延迟时间数值<br>P6: 时间单位(1=秒,2=分,3=时)<br>卫浴灯开关事件:<br>P7: 事件触发延迟时间数值<br>P8: 时间单位(1=秒,2=分,3=时)<br>P9: 事件持续时间数值<br>P10: 时间单位(1=秒,2=分,3=时)<br>P11: 事件释放延迟时间数值<br>P12: 时间单位(1=秒,2=分,3=时) | 设置事件参数(用于控制门磁亮走廊灯、卫浴雷达亮卫浴灯等) |
|
||||
| MCU→PC | 0x16 | P0: 0x01(参数正确) / 0x02(参数错误) | 返回设置结果 |
|
||||
| PC→MCU | 0x16 | P0: 控制位<br> bit0: 设置门磁开关廊灯事件<br> bit1: 设置卫浴灯开关事件<br><br>门磁开关廊灯事件:<br> P1: 事件触发延迟时间数值<br> P2: 时间单位,1=秒 2=分 3=时<br> P3: 事件释放延迟时间<br> P4: 时间单位,1=秒 2=分 3=时<br><br>卫浴灯开关事件:<br> P5: 事件触发延迟时间数值<br> P6: 时间单位,1=秒 2=分 3=时<br> P7: 事件释放延迟时间<br> P8: 时间单位,1=秒 2=分 3=时 | 设置门磁与卫浴雷达的触发/释放时序参数 |
|
||||
| MCU→PC | 0x16 | P0:<br> 0x01: 参数正确<br> 0x02: 参数错误 | 返回设置结果 |
|
||||
|
||||
## 4. 命令交互流程图
|
||||
|
||||
|
||||
Reference in New Issue
Block a user