test_led_strip/doc/UID编码规则.md
zhangyisong 27ae21bbea Add UID management, LED strip debug, and MCUboot signing updates
- Add UID encoding/decoding with flash storage and CRC16 validation
- Add write UID (0x07) and LED strip color (0x08) protocol commands
- Add debug LED strip configuration option
- Switch MCUboot signing from RSA-2048 to ECDSA-P256
- Add SMP serial client for firmware upload over UART
- Add firmware version output on boot
- Update upgrade documentation with ECDSA key generation steps
2026-08-20 21:16:30 +08:00

5.4 KiB
Raw Permalink Blame History

按摩头 UID 编码规则

1. 设备分类

类别 设备类型 说明
内置式 冲击波、光磁 由主板直接驱动,按摩头内无独立控制模块
外置式 DMS、负压、捶打、揉捏、热敷、EMS 等 按摩头自带驱动模块,通过数据线与主板通信

通用设计所有按摩头均可插入设备的任意端口Port 0 或 Port 1端口号不影响 UID 编码。


2. UID 基本规则

每个按摩头拥有一个唯一的身份标识码UID用于识别设备类型和追溯生产信息。

UID 组成(共 10 字节)

┌──────────┬──────────┬────────────┬─────────────────────┐
│ 设备类型 │ 产品代次 │  生产年月   │      唯一序列号      │
│  (1字节) │  (1字节) │  (4字节)   │       (4字节)        │
└──────────┴──────────┴────────────┴─────────────────────┘
字节: [0]     [1]      [2..6)        [6..10)

字段说明

字段 说明 示例
设备类型 区分按摩头的产品系列 冲击波、光磁、外置按摩头等
产品代次 同一系列内的产品迭代版本(硬件版本号) 第一代、第二代、第三代
生产年月 同一代次的不同批次修订版本 第一批、第二批
唯一序列号 生产时分配的唯一编号 用于追溯具体产品

3. 设备类型编码

冲击波系列(类型 0x01

代次 设备名称 UID 示例
第一代 标准冲击波手柄 01-01-XXXX-1234
第二代 高能型冲击波手柄 01-02-XXXX-1235

光磁/热疗系列(类型 0x02

代次 设备名称 UID 示例
第一代 光磁手柄 02-01-XXXX-XXXX
第二代 热疗手柄 02-02-XXXX-XXXX
第三代 增强型光磁手柄 02-03-XXXX-XXXX

外置按摩头系列(类型 0x03

代次 设备名称 UID 示例
第一代 捶打按摩头 03-01-XXXX-XXXX
第一代 揉捏按摩头 03-02-XXXX-XXXX
第一代 热敷按摩头 03-03-XXXX-XXXX
第一代 电磁按摩头EMS 03-04-XXXX-XXXX
第一代 DMS 深层肌肉刺激仪 03-05-XXXX-XXXX
第一代 负压吸力按摩头 03-06-XXXX-XXXX
通用型(未分类) 03-F0-XXXX-XXXX
未知设备(自动探测) 03-FF-XXXX-XXXX

4. 编码示例

示例 1冲击波第一代

  • 设备类型冲击波系列0x01
  • 产品代次第一代0x01
  • 生产年月26082026 年 8 月BCD 风格)
  • 序列号00001234
设备类型 │ 产品代次 │   生产年月    │     唯一序列号
─────────┼─────────┼──────────────┼────────────────────────
  0x01   │  0x01   │ 26 08 00 00  │  0x00  0x00  0x12  0x34

UIDhex10 字节):01 01 26 08 00 00 00 00 12 34

示例 2光磁第三代

  • 设备类型:光磁/热疗系列0x02
  • 产品代次第三代0x03
  • 生产年月2608
  • 序列号00005678
设备类型 │ 产品代次 │   生产年月    │     唯一序列号
─────────┼─────────┼──────────────┼────────────────────────
  0x02   │  0x03   │ 26 08 00 00  │  0x00  0x00  0x56  0x78

UIDhex10 字节):02 03 26 08 00 00 00 00 56 78

示例 3DMS 第一代

  • 设备类型外置按摩头系列0x03
  • 产品代次第一代0x01
  • 生产年月2608
  • 序列号AABBCCDD
设备类型 │ 产品代次 │   生产年月    │     唯一序列号
─────────┼─────────┼──────────────┼────────────────────────
  0x03   │  0x01   │ 26 08 00 00  │  0xAA  0xBB  0xCC  0xDD

UIDhex10 字节):03 01 26 08 00 00 AA BB CC DD

注:生产年月 4 字节的具体子字段分配BCD/扩展信息)由生产系统定义,本工具按原始字节透传、透读。


5. 数据存储方式

UID 信息存储在设备 storage 分区0x7000064KB起始处记录格式

[magic "UID1" 4B][ver 1B][uid 10B][crc16 2B][pad 7B]   = 24 字节
  • 含 CRC16-Modbus 校验;记录损坏/未写入时自动回退 MCU 芯片 UID12 字节)。
  • 写入命令:0x07 指令,见《通讯协议.md》。

6. 端口识别说明

按摩头插入端口后,设备通过以下方式识别:

  • UID:识别按摩头的类型和追溯信息
  • 端口号:决定控制电路的分配(与 UID 无关)

按摩头可自由插入任意端口UID 不会因端口切换而改变。


7. 扩展预留

类型范围 用途
0x01 冲击波系列(已定义)
0x02 光磁/热疗系列(已定义)
0x03 外置按摩头系列(已定义)
0x04 - 0x0F 未来新增设备系列
0x10 - 0xEF 客户定制设备
0xF0 - 0xFE 工厂测试工具
0xFF 无效/未编程(保留)