一、OBU 
[2026-01-21 10:07:45.968] FF FF 52 00 20 06 26
[2026-01-21 10:07:46.105] FF FF 4B 28 23 64 C6 25
[2026-01-21 10:07:46.113] 00 8C FF FF 56 2E 05 19
[2026-01-21 10:07:46.121] 00 64 2E 28 23 00 40 00
[2026-01-21 10:07:46.130] 00 00 00 33
[2026-01-21 10:07:46.458] FF FF 53 E3 20 00 00 C3
[2026-01-21 10:07:46.467] 01 27 40 2B E3 20 73 00
[2026-01-21 10:07:46.475] 00 00 00 FD
帧:FF FF 52 00 20 06 26
payload = 00 20 06
chk = 00^20^06 = 26
✅ 这就是典型的 3-byte bitmask(24 个勾选位够用),你“bit 对应 UI 哪个勾”暂时先别钉死,等你再抓几组“勾选变化”的对照包就能反推出来。
帧:FF FF 4B 28 23 64 C6 25 00 8C
映射:
Ko_raw = 0x2328 = 9000 → Ko = 9000/10 = 900
KoCount = 0x64 → 100
KPO_raw = 0x25C6 = 9670
KPOCount = 0x00 → 0
chk XOR ✅
帧:FF FF 56 2E 05 19 00 64 2E 28 23 00 40 00 00 00 00 33
19 00 -> 25°C(当作“温度”)
因为你后面自己也用新截图验证了:UI 的 Temp 变了,但这两个字节不变。
所以它几乎可以排除是“实时温度”。
这帧看起来像“DR 标定快照 + 一些运行状态”,其中:
2E 05 作为 u16le = 0x052E = 1326 → Vcc = 1326/400 = 3.315V ✅
2E 单字节 → Vr_raw,Vr = 2E/20 = 2.30 ✅
28 23 → Ko_raw(再次出现)✅
00(在 Ko 后面那个单字节)非常像 Vrev(UI 里 Vrev=0)✅
40 很像一个 flag byte(或其中一个 flag byte)✅
后面一串 00 基本就是保留/对齐/扩展
GPS State(3 字节 flags,高置信是“bitmask”)
完整帧:FF FF 52 00 20 06 26
idx hex 含义
0 FF 帧头
1 FF 帧头
2 52 块类型:GPS State
3 00 GPS 状态 flags[0](bitmask,当前全 0)
4 20 GPS 状态 flags[1](bitmask,bit5=1,高概率对应 UI 的 GPS 勾选)
5 06 GPS 状态 flags[2](bitmask,bit1+bit2=1,高概率对应 OPK OK、Vr OK 这类勾选)
6 26 校验:00 XOR 20 XOR 06 = 26 ✅
这页 UI checkbox 很多,3 字节=24 个 bit 完全够装。
DrCalibration(Ko / KPO / Count,高置信)
你日志把它拆行了,但应当拼成一帧:
完整帧:FF FF 4B 28 23 64 C6 25 00 8C
payload(6 字节):28 23 64 C6 25 00
idx hex 含义(小端)
0 FF 帧头
1 FF 帧头
2 4B 块类型:DrCalibration
3 28 Ko_raw 低字节
4 23 Ko_raw 高字节 → 0x2328 = 9000(UI Ko=900 很像 Ko=Ko_raw/10)
5 64 Ko Count → 0x64 = 100(UI 里 Ko 那行 Count=100)
6 C6 KPO 低字节
7 25 KPO 高字节 → 0x25C6 = 9670(UI KPO=9670)
8 00 KPO Count → 0(UI KPO 那行 Count=0)
9 8C 校验:28^23^64^C6^25^00 = 8C ✅
完整帧:FF FF 56 2E 05 19 00 64 2E 28 23 00 40 00 00 00 33
payload(13 字节):
2E 05 19 00 64 2E 28 23 00 40 00 00 00
idx hex 目前能确定的 / 可能的含义
0 FF 帧头
1 FF 帧头
2 56 块类型:0x56(未知块,像“配置/快照”)
3 2E 2E 05 → u16le=0x052E=1326 idx3-4 作为一个 u16le:0x052E=1326 得到 1326/400=3.315,非常接近 UI 的 Vcc=3.32
4 05 *候选字段A(见下)
5 19 19 00 → u16le=0x0019=25 25°C 是非常典型的“出厂/室温标定参考点”(很多设备会用一个固定参考温度做补偿/校准参数)
6 00
7 64 很像 Count=100(与 0x4B 的 KoCount 一致)
8 2E idx8 很可能是 Vr_raw,Vr = idx8 / 20 = 2.30
9 28 Ko_raw 低字节
10 23 Ko_raw 高字节 → 0x2328=9000(与 0x4B 完全一致) idx9-10:Ko_raw(/10)
11 00 保留/小字段
12 40 flags 或配置字节(bitmask 的可能性很高) 0x40 = 0100 0000b,看起来就是“只开了某一个 bit”。把多个 checkbox 压进一个字节/整数里(每个 bit 表示一个布尔状态)叫 bitmask/flag register,这是协议/寄存器里非常常见的省空间做法
13 00 保留
14 00 保留
15 00 保留
16 33 校验:XOR(payload)=33 ✅
idx3-4 作为一个 u16le:0x052E=1326
/400 这种比例是很常见的一类“定点电压单位”:把电压用整数表示,每 1 count = 1/400 V = 0.0025 V = 2.5 mV。所以你这帧里如果 idx3-4 取 u16le = 0x052E = 1326,那么
Vcc = 1326 / 400 = 3.315 V
idx5 的 0x19=25 可能是温度(25°C),也可能是某种状态码。你截图里温度=12,但那是 10:08:48 时刻;0x56 这帧是 10:07:46,上电瞬间温度/显示刷新不同步很常见。 后续的二进制帧中会每秒更新温度
OBU 基本信息/状态(ID/FW 高置信,其余部分待验证)
完整帧:
FF FF 53 E3 20 00 00 C3 01 27 40 2B E3 20 73 00 00 00 00 FD
payload(16 字节):
E3 20 00 00 C3 01 27 40 2B E3 20 73 00 00 00 00
idx hex 含义
0 FF 帧头
1 FF 帧头
2 53 块类型:OBU State / 基本信息
3 E3 OBUID 低字节
4 20 OBUID 高字节 → 0x20E3=8419(对上 UI 的 OBUID=8419)✅
5 00 保留/状态
6 00 保留/状态
7 C3 状态/型号/码(待验证)
8 01 FW major = 1 ✅
9 27 FW minor = 0x27(很像 BCD 27)→ UI 显示 1.27 ✅
10 40 flags(待验证,可能与右上 Configuration 勾选有关)
11 2B RF/频点索引(待验证;UI Freq=439MHz 很可能由“基频+索引”计算)
12 E3 MCUID 低字节
13 20 MCUID 高字节 → 0x20E3=8419(对上 UI 的 MCUID=8419)✅
14 73 模式/状态码(你别的日志也出现过 74,像 Standby/Working 或状态切换)
15 00 预留
16 00 预留
17 00 预留
18 00 预留
19 FD 校验:XOR(payload)=FD ✅
[2026-01-21 10:07:47.010] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:47.019] 17 3B 3B 00 00 00 00 00
[2026-01-21 10:07:47.027] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:47.035] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:47.044] BD 25 00 00 62 09 00 3C
[2026-01-21 10:07:47.052] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:47.060] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:47.069] 00 00 80 32
[2026-01-21 10:07:48.010] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:48.018] 17 3B 3A 00 00 00 00 00
[2026-01-21 10:07:48.026] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:48.035] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:48.043] 68 25 00 00 A5 0A 0C 3C
[2026-01-21 10:07:48.051] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:48.060] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:48.068] 00 00 87 31
[2026-01-21 10:07:49.010] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:49.019] 17 3B 39 00 00 00 00 00
[2026-01-21 10:07:49.027] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:49.035] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:49.044] 6B 25 00 00 01 0B 0C 3C
[2026-01-21 10:07:49.052] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:49.060] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:49.069] 00 00 29 31
[2026-01-21 10:07:50.016] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:50.024] 17 3B 38 00 00 00 00 00
[2026-01-21 10:07:50.032] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:50.041] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:50.049] 6A 25 00 00 2F 0B 0C 3C
[2026-01-21 10:07:50.057] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:50.066] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:50.074] 00 00 FD 30
[2026-01-21 10:07:51.011] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:51.019] 17 3B 37 00 00 00 00 00
[2026-01-21 10:07:51.028] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.036] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:51.044] 6A 25 00 00 3F 0B 0C 3C
[2026-01-21 10:07:51.053] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.061] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.070] 00 00 EE 30
[2026-01-21 10:07:51.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:51.687] 02 07 35 00 00 00 00 00
[2026-01-21 10:07:51.695] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:51.712] 6A 25 00 00 7C 0B 0C 3C
[2026-01-21 10:07:51.720] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:51.737] 00 00 C8 64
[2026-01-21 10:07:52.680] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:52.688] 02 07 36 00 00 00 00 00
[2026-01-21 10:07:52.696] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:52.705] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:52.713] 6A 25 00 00 9B 0B 0C 3C
[2026-01-21 10:07:52.721] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:52.730] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:52.738] 00 00 A8 64
[2026-01-21 10:07:53.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:53.687] 02 07 37 00 00 00 00 00
[2026-01-21 10:07:53.695] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:53.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:53.712] 6A 25 00 00 6D 0B 0C 3C
[2026-01-21 10:07:53.720] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:53.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:53.737] 00 00 D5 64
[2026-01-21 10:07:54.839] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:54.848] 02 07 38 00 00 00 00 00
[2026-01-21 10:07:54.856] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:54.864] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:54.873] 6A 25 00 00 C9 0B 0C 3C
[2026-01-21 10:07:54.881] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:54.889] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:54.898] 00 00 78 64
[2026-01-21 10:07:55.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:55.687] 02 07 39 00 00 00 00 00
[2026-01-21 10:07:55.695] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:55.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:55.712] 6A 25 00 00 BA 0B 0C 3C
[2026-01-21 10:07:55.720] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:55.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:55.737] 00 00 86 64
[2026-01-21 10:07:56.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:56.687] 02 07 3A 00 00 00 00 00
[2026-01-21 10:07:56.696] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:56.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:56.712] 69 25 00 00 D8 0B 0C 3C
[2026-01-21 10:07:56.721] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:56.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:56.737] 00 00 68 64
[2026-01-21 10:07:57.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:57.687] 02 07 3B 00 00 00 00 00
[2026-01-21 10:07:57.696] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:57.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:57.712] 6A 25 00 00 E8 0B 0C 3C
[2026-01-21 10:07:57.721] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:57.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:57.737] 00 00 56 64
[2026-01-21 10:07:58.678] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:58.686] 02 08 00 00 00 00 00 00
[2026-01-21 10:07:58.694] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:58.702] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:58.711] 69 25 00 00 E8 0B 0C 3C
[2026-01-21 10:07:58.719] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:58.728] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:58.736] 00 00 92 63
[2026-01-21 10:07:59.679] FF 81 E8 03 00 00 00 00
[2026-01-21 10:07:59.687] 02 08 01 00 00 00 00 00
[2026-01-21 10:07:59.695] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:59.704] 00 00 00 00 0F 27 00 00
[2026-01-21 10:07:59.712] 6A 25 00 00 C9 0B 0C 3C
[2026-01-21 10:07:59.720] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:59.729] 00 00 00 00 00 00 00 00
[2026-01-21 10:07:59.737] 00 00 AF 63
[2026-01-21 10:08:00.780] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:00.788] 02 08 02 00 32 E9 8B FE
[2026-01-21 10:08:00.797] 48 04 FC 0A 1F E3 01 00
[2026-01-21 10:08:00.805] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:00.813] 69 25 00 00 C9 0B 0C 3C
[2026-01-21 10:08:00.822] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:00.830] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:00.839] 00 00 8E 89
[2026-01-21 10:08:01.698] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:01.707] 02 08 03 00 EC D8 8B FE
[2026-01-21 10:08:01.716] 67 05 FC 0A 48 E3 01 00
[2026-01-21 10:08:01.723] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:01.732] 69 25 00 00 D8 0B 0C 3C
[2026-01-21 10:08:01.740] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:01.748] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:01.757] 00 00 7C 98
[2026-01-21 10:08:02.699] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:02.708] 02 08 04 00 99 C8 8B FE
[2026-01-21 10:08:02.716] 87 06 FC 0A 72 E3 01 00
[2026-01-21 10:08:02.724] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:02.733] 69 25 00 00 F7 0B 0C 3C
[2026-01-21 10:08:02.741] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:02.749] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:02.758] 00 00 65 A7
[2026-01-21 10:08:03.699] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:03.707] 02 08 05 00 47 B8 8B FE
[2026-01-21 10:08:03.716] A8 07 FC 0A 9C E3 01 00
[2026-01-21 10:08:03.724] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:03.732] 69 25 00 00 07 0C 0C 3C
[2026-01-21 10:08:03.741] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:03.749] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:03.758] 00 00 5B B6
[2026-01-21 10:08:04.699] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:04.707] 02 08 06 00 F4 A7 8B FE
[2026-01-21 10:08:04.716] C9 08 FC 0A C5 E3 01 00
[2026-01-21 10:08:04.724] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:04.734] 6A 25 00 00 F7 0B 0C 3C
[2026-01-21 10:08:04.741] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:04.749] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:04.757] 00 00 72 C5
[2026-01-21 10:08:05.701] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:05.709] 02 08 07 00 8E 39 90 FE
[2026-01-21 10:08:05.718] 64 D0 ED 0A 32 D8 01 00
[2026-01-21 10:08:05.727] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:05.736] 69 25 00 00 35 0C 0C 3C
[2026-01-21 10:08:05.745] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:05.754] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:05.761] 00 00 9C 77
[2026-01-21 10:08:06.872] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:06.880] 02 08 08 00 EA D4 88 FE
[2026-01-21 10:08:06.889] A2 B9 F9 0A FE EA 01 00
[2026-01-21 10:08:06.899] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:06.905] 6B 25 00 00 35 0C 0C 3C
[2026-01-21 10:08:06.913] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:06.921] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:06.930] 00 00 2F E0
[2026-01-21 10:08:07.701] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:07.709] 02 08 09 00 C0 C3 88 FE
[2026-01-21 10:08:07.719] AB BA F9 0A 2A EB 01 00
[2026-01-21 10:08:07.728] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:07.737] 69 25 00 00 35 0C 0C 3C
[2026-01-21 10:08:07.743] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:07.751] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:07.760] 00 00 25 F0
[2026-01-21 10:08:08.699] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:08.708] 02 08 0A 00 96 B2 88 FE
[2026-01-21 10:08:08.718] B5 BB F9 0A 56 EB 01 00
[2026-01-21 10:08:08.727] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:08.734] 6A 25 00 00 54 0C 0C 3C
[2026-01-21 10:08:08.741] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:08.749] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:08.758] 00 00 F8 FF
[2026-01-21 10:08:09.698] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:09.707] 02 08 0B 00 6C A1 88 FE
[2026-01-21 10:08:09.717] BF BC F9 0A 82 EB 01 00
[2026-01-21 10:08:09.726] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:09.735] 68 25 00 00 54 0C 0C 3C
[2026-01-21 10:08:09.744] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:09.751] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:09.757] 00 00 ED 0F
[2026-01-21 10:08:10.698] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:10.707] 02 08 0C 00 42 90 88 FE
[2026-01-21 10:08:10.717] C9 BD F9 0A AE EB 01 00
[2026-01-21 10:08:10.726] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:10.735] 69 25 00 00 44 0C 0C 3C
[2026-01-21 10:08:10.741] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:10.749] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:10.757] 00 00 EF 1F
[2026-01-21 10:08:11.697] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:11.705] 02 08 0D 00 19 7F 88 FE
[2026-01-21 10:08:11.715] D4 BE F9 0A DA EB 01 00
[2026-01-21 10:08:11.724] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:11.732] 69 25 00 00 54 0C 0C 3C
[2026-01-21 10:08:11.739] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:11.747] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:11.755] 00 00 D0 2F
[2026-01-21 10:08:12.871] FF 81 E8 03 00 00 00 00
[2026-01-21 10:08:12.879] 02 08 0E 00 F0 6D 88 FE
[2026-01-21 10:08:12.888] DF BF F9 0A 06 EC 01 00
[2026-01-21 10:08:12.897] 00 00 00 00 0F 27 00 00
[2026-01-21 10:08:12.904] 69 25 00 00 44 0C 0C 3C
[2026-01-21 10:08:12.913] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:12.921] 00 00 00 00 00 00 00 00
[2026-01-21 10:08:12.930] 00 00 D1 3F
之前点图中read 发送给OBU的
[2026-01-19 10:05:10.884] FF 89 04 56 56
[2026-01-19 10:05:10.961] FF 89 04 4B 4B
[2026-01-19 10:05:11.164] FF 89 04 53 053
字节序号 值 含义
0 FF 帧头
1 89 “Host→OBU 命令”标识(跟 OBU→Host 的 FF FF 不同)
2 04 很像长度/固定功能码(至少在 Read 里固定为 04)
3 xx 命令码:56/4B/53
4 xx 校验(此处=命令码本身)
这个命令的校验很“偷懒”:最后 1 字节直接等于 cmd,所以你看到 56 56 / 4B 4B / 53 53。
OBU回的
[2026-01-19 10:21:37.452] FF FF 56 2E 05 19 00 64
[2026-01-19 10:21:37.461] 2E 28 23 00 40 00 00 00
[2026-01-19 10:21:37.468] 00 33
[2026-01-19 10:21:37.968] FF FF 53 E3 20 00 00 C3
[2026-01-19 10:21:37.976] 01 27 40 2B E3 20 73 00
[2026-01-19 10:21:37.987] 00 00 00 FD
[2026-01-19 10:21:38.967] FF FF 4B 28 23 64 C6 25
[2026-01-19 10:21:38.974] 00 8C
点图中read 发送给OBU的
[2026-01-19 10:17:03.590] FF 89 04 53 53
[2026-01-19 10:17:04.591] 24 40 43 3F 0D 0A
OBU回的
[2026-01-15 13:39:32.955] FF FF 53 E3 20 00 00 C3
[2026-01-15 13:39:32.964] 01 27 40 2B E3 20 73 00
[2026-01-15 13:39:32.974] 00 00 00 FD
[2026-01-15 13:39:35.955] FF FF 53 E3 20 00 00 C3
[2026-01-15 13:39:35.964] 01 27 40 2B E3 20 74 00
[2026-01-15 13:39:35.974] 00 00 00 FA
[2026-01-13 14:25:14.972] FF 81 E8 03 0D 01 EA 07
[2026-01-13 14:25:14.980] 06 19 0E 08 FB 6E 58 02
[2026-01-13 14:25:14.992] 0D 40 DA 0B 39 18 01 00
[2026-01-13 14:25:15.000] A6 00 6F 02 CA 00 00 00
[2026-01-13 14:25:15.007] 6F 25 00 00 6C 19 0C 82
[2026-01-13 14:25:15.020] 00 00 00 00 00 00 00 00
[2026-01-13 14:25:15.025] 00 00 00 00 00 00 00 00
[2026-01-13 14:25:15.034] 00 00 BB 3B
idx hex dec 归属/解释
0 FF 255 帧头/同步(固定)
1 81 129 帧头/同步(固定)
2 E8 232 帧类型/常量(和所有帧一致)
3 03 3 帧类型/常量(和所有帧一致)
4 0D 13 Day(日=13)
5 01 1 Month(月=1)
6 EA 234 Year (LE) 低字节
7 07 7 Year (LE) 高字节 → 0x07EA=2026 公式:value=7×256+234=2026
8 06 6 Hour(很可能是 UTC 小时)
9 19 25 Minute(25)
10 0E 14 Second(14,后续每帧+1)秒
11 08 8 SvGPS(GPS卫星数=8)
12 FB 251 Latitude u32(LE) byte0 纬度(Latitude)和经度(Longitude) 使用弧度 × 1e8 来存经纬度然后转成度
13 6E 110 Latitude u32(LE) byte1 字节:FB 6E 58 02(byte0→byte3) 小端拼成 32 位数: Hex:0x02586EFB Dec:39,350,011
14 58 88 Latitude u32(LE) byte2 纬度弧度:39,350,011 / 1e8 = 0.39350011 rad
15 02 2 Latitude u32(LE) byte3 转成度:deg = rad × 180 / π 0.39350011 × 180/π ≈ 22.54589554° Latitude ≈ 22.545896°
16 0D 13 Longitude u32(LE) byte0 字节:0D 40 DA 0B Hex:0x0BDA400D Dec:198,852,621
17 40 64 Longitude u32(LE) byte1 经度弧度:198,852,621 / 1e8 = 1.98852621 rad
18 DA 218 Longitude u32(LE) byte2 度:1.98852621 × 180/π ≈ 113.93415928°
19 0B 11 Longitude u32(LE) byte3 Longitude ≈ 113.934159°
idx hex dec 归属/解释
20 39 57 Course int16 LE byte0 Course:byte0=0x39,byte1=0x18 = 0x1839 = 24×256 + 57 = 6201
21 18 24 Course int16 LE byte1 Course ≈ 6201 / 100 = 62.01°
22 01 1 FramPs u16(LE) byte0 FramPs:0x01 0x00 = 0x0001 = 1
23 00 0 FramPs u16(LE) byte1 FramPs = b22 + (b23<<8) 这里基本是 1,后面变成 0(看起来像某个状态/计数开关),通常直接显示 raw。
24 A6 166 Altitude u16(LE) byte0 Altitude:0xA6 0x00 = 0x00A6 = 166
25 00 0 Altitude u16(LE) byte1 可能是海拔
26 6F 111 HDOP u16(LE) byte0 HDOP_raw = b26 + (b27<<8)
27 02 2 HDOP u16(LE) byte1 HDOP ≈ HDOP_raw / 400.0 HDOP bytes=6F 02 ⇒ 0x026F=623 ⇒ 623/400=1.5575
28 CA 202 Speed u16(LE) byte0 Speed_raw = b28 + (b29<<8) Speed(m/s) ≈ Speed_raw / 100.0
29 00 0 Speed u16(LE) byte1 Speed bytes=CA 00 ⇒ 202 ⇒ 2.02 m/s
30 00 0 FramBufd u16(LE) byte0 可能是FramBufd
31 00 0 FramBufd u16(LE) byte1
32 6F 111 Gyro u16(LE) byte0 Gyro = b32 + (b33<<8)
33 25 37 Gyro u16(LE) byte1 6F 25 ⇒ 0x256F=9583,正好和 Gyro=9583 对上
34 00 0 预留/计数 u16(LE) byte0(当前为0) 截图中还有很多比如StartCount和Odometer和DrSpeed和OdoPs这些都是0 二进制帧中是没有显示 是因为这种事查询/参数帧 点read才回
35 00 0 预留/计数 u16(LE) byte1
36 6C 108 状态/质量 u16(LE) byte0 电压11v-12V左右
37 19 25 状态/质量 u16(LE) byte1 Temp:温度
38 0C 12 StatusMask u16(LE) byte0 byte[38] = 0x0C byte[39] = 0x82 value = 0x0C + (0x82<<8) = 0x820C = 33292 把 0x820C 写成二进制:0x820C = 1000 0010 0000 1100b
39 82 130 StatusMask u16(LE) byte1 → 0x820C 4 个 bit 精确映射到 4 个勾选项
它只置了 4 个 bit:
0x8000(bit15)
0x0200(bit9)
0x0008(bit3)
0x0004(bit2)
这种“一个 16-bit 数里用每个 bit 当开关”的用法,就是典型的 bitmask/flag register。很多协议都会这么干:一个 16-bit 字段里塞 16 个布尔状态,未定义 bit 通常保留为 0。
idx hex dec 归属/解释
40 00 0 保留/扩展区
41 00 0 保留/扩展区
42 00 0 保留/扩展区
43 00 0 保留/扩展区
44 00 0 保留/扩展区
45 00 0 保留/扩展区
46 00 0 保留/扩展区
47 00 0 保留/扩展区
48 00 0 保留/扩展区
49 00 0 保留/扩展区
50 00 0 保留/扩展区
51 00 0 保留/扩展区
52 00 0 保留/扩展区
53 00 0 保留/扩展区
54 00 0 保留/扩展区
55 00 0 保留/扩展区
56 00 0 保留/扩展区
57 00 0 保留/扩展区
58 BB 187 Checksum (LE) byte0
59 3B 59 Checksum (LE) byte1 → 0x3BBB
2) 关键字段换算表(把多字节按 LE 组合,并给出单位/公式)
字段 offset 原始hex(按LE) 原始整数 换算公式 换算结果
Year 6..7 EA 07 0x07EA=2026 — 2026
Time(H:M:S) 8..10 06 19 0E — — 06:25:14(很像UTC)
SvGPS 11 08 8 — 8
Latitude raw 12..15 FB 6E 58 02 0x02586EFB=39350011 rad = raw/1e8 0.39350011 rad
Latitude 12..15 同上 同上 deg = rad*180/π 22.54589554°
Longitude raw 16..19 0D 40 DA 0B 0x0BDA400D=198852621 rad = raw/1e8 1.98852621 rad
Longitude 16..19 同上 同上 deg = rad*180/π 113.93415928°
Course(推定) 20..21 39 18 0x1839=6201 deg = raw/100 62.01°
FramPs 22..23 01 00 1 — 1
Altitude(推定) 24..25 A6 00 166 m = raw 166 m
HDOP(推定) 26..27 6F 02 623 HDOP = raw/400 1.5575(≈1.56)
Speed(高置信) 28..29 CA 00 202 m/s = raw/100 2.02 m/s
FramBufd 30..31 00 00 0 — 0
Gyro 32..33 6F 25 0x256F=9583 — 9583
状态/质量(待定) 36..37 6C 19 0x196C=6508 — 6508
StatusMask(待定) 38..39 0C 82 0x820C=33292 bitmask 0x820C
校验和 58..59 BB 3B 0x3BBB 见下 OK
其中 Course/Altitude/HDOP 的缩放(/100、/400、m)是结合多帧数据“量级形态”推出来的;Speed、Gyro、经纬度这几个在数据里对齐度最高。
评论 (0)