DSD Ext 附件通信协议规范 v1
适用固件起始版本:v2.0.1(version_code 201)
1. 概述
DSD 瞄具通过 Wireless → Ext 菜单管理外接蓝牙附件。附件包括火控(CDU)、测距(RDR)、扩展按钮(ETD)三类,每类最多绑定 1 台,合计最多 3 台。
Ext 子系统与现有 组队 BLE(Host/Slave)互斥:启用 Ext 时关闭组队 BLE,反之亦然。
2. 设备命名与发现
2.1 广播设备名(Local Name)
| 类型 | 前缀 | 格式 | 示例 |
|---|---|---|---|
| 火控 | cdu | cdu-xxxx | cdu-a1b2 |
| 测距 | rdr | rdr-xxxx | rdr-c3d4 |
| 扩展按钮 | etd | etd-xxxx | etd-9f0e |
xxxx= 附件 BLE MAC 地址 后 4 位十六进制,小写- 正则:
^(cdu|rdr|etd)-[0-9a-f]{4}$
2.2 辅助过滤(防误识别)
- 广播携带 16-bit Service UUID
0xD5E0 Manufacturer Data 魔数 0xD5E1(与组队 BLE 魔数 0xD5 区分),载荷含:
[0]魔数 0xD5E1[1]类型:0x01=CDU,0x02=RDR,0x03=ETD- `[2..3] MAC 后 4 位(ASCII 或原始 nibble,实现时二选一并在附件模板中固定)
- 扫描列表 不显示 DSD- 开头设备(组队瞄具)
3. 连接模型
| 角色 | 设备 |
|---|---|
| Central(主机) | DSD 瞄具 |
| Peripheral(从机) | CDU / RDR / ETD 附件 |
- 发现:扫描过滤设备名前缀
- 绑定:用户在列表 点选即绑定,无密码、无二次确认
- 配对:BLE Just Works(无 PIN)
- 数据:绑定后建立 GATT 连接,通过 Notify 接收遥测
3.1 GATT 服务(128-bit UUID 草案)
| 对象 | UUID |
|---|---|
| Ext 主服务 | D5E00001-0000-1000-8000-00805F9B34FB |
| 遥测 Notify(附件→瞄具) | D5E00002-0000-1000-8000-00805F9B34FB |
| 控制 Write(瞄具→附件,可选) | D5E00003-0000-1000-8000-00805F9B34FB |
| 身份 Read(类型+MAC 校验) | D5E00004-0000-1000-8000-00805F9B34FB |
连接成功后读取 Identity 特征,与扫描名二次校验。
4. 数据格式(ASCII 键值)
每条 Notify 为一行文本,键值以 - 分隔;多字段可用 ; 合并:
vot-3.70;tri-128;fps-650
sdr-125.5
up-1
down-04.1 字段定义
| 类型 | 键 | 含义 | 格式 |
|---|---|---|---|
| CDU | vot | 电池电压 | 伏特,1 位小数,如 vot-3.7 |
| CDU | tri | 击发累计计数 | 整数,每次击发 +1 |
| CDU | fps | 射速 | 发/分,整数 |
| RDR | sdr | 距离 | 米,1 位小数 |
| ETD | up / down / left / right / sel | 按键状态 | 1=按下,0=松开 |
4.2 上报频率
| 类型 | 字段 | 策略 |
|---|---|---|
| CDU | vot | 仅变化上报,阈值 ≥ 0.1 V |
| CDU | tri | 事件驱动,每次击发立即推送 |
| CDU | fps | 最近 10 发平均,以 1 Hz 周期推送当前平均值 |
| RDR | sdr | 2 Hz 固定周期 |
| ETD | 五键 | 边沿事件:按下 x-1,松开 x-0 |
fps 计算说明:附件或瞄具侧维护击发时间戳环形缓冲(容量 10),每次新击发更新缓冲,每秒推送 sum/count 换算为发/分。
5. 绑定
| 键名 | 类型 | 说明 |
|---|---|---|
extEnabled | bool | Ext 总开关 |
extCduMac | 6 bytes | CDU MAC,全 0 = 未绑定 |
extRdrMac | 6 bytes | RDR MAC |
extEtdMac | 6 bytes | ETD MAC |
extRdrSource | uint8 | 0=内置 / 1=RDR / 2=自动 |
extTriAmmoSync | bool | tri 增量是否联动减少弹药 |
绑定规则:每类型槽位 1 台;绑定新设备时 替换 同类型旧绑定。
收到