You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助解码BLE设备0x0028句柄的温湿度原始数据

解码BLE温湿度传感器0x0028句柄数据

操作流程与原始数据

1. 获取设备信息命令

sudo bettercap
ble.enum 60:77:71:60:d1:8f

2. 读取0x0028句柄命令

sudo gatttool -b 60:77:71:60:d1:8f -I
connect 
char-read-hnd 0x0028

3. 读取到的特征值

[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: 1e 00 8e 41 00 00 00 00 ea 94 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: c6 e4 8d 41 00 00 00 00 30 73 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: c6 e4 8d 41 00 00 00 00 30 73 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: c6 e4 8d 41 00 00 00 00 9a 40 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: 1e 00 8e 41 00 00 00 00 56 2e 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: 1e 00 8e 41 00 00 00 00 42 19 3b 42 00 00 00 00 01 01 01 01 
[60:77:71:60:D1:8F][LE]> char-read-hnd 0x0028
Characteristic value/descriptor: c6 e4 8d 41 00 00 00 00 18 23 3b 42 00 00 00 00 01 01 01 01 

已知条件

  • 温湿度数据位于0x0028句柄特征值中
  • 温度范围:17-23°C
  • 相对湿度范围:20-80%RH
  • 预热前数据:1e 00 8e 41 00 00 00 00 ea 94 3b 42 00 00 00 00 01 01 01 01
  • 预热后数据:c6 e4 8d 41 00 00 00 00 30 73 3b 42 00 00 00 00 01 01 01 01
  • 直接十六进制转十进制未得到有效结果

解码分析与结论

数据结构拆分

每个特征值为20字节,可拆分为5个固定段:
[0-3字节] [4-7字节] [8-11字节] [12-15字节] [16-19字节]
其中4-7字节全为0、12-15字节全为0、16-19字节全为1,均为填充字段,排除后重点分析0-3字节和8-11字节。

解码规则

BLE温湿度传感器常用IEEE 754单精度浮点数存储数值,且多数采用小端字节序(即字节顺序与常规十六进制相反)。

1. 温度数据(0-3字节)

  • 取前4字节,反转字节序后转换为IEEE 754单精度浮点数,结果即为温度(单位:°C)。
  • 验证示例:
    • 预热前数据段:1e 00 8e 41 → 反转后41 8e 00 1e → 转换为浮点数≈18.625°C(符合17-23°C范围)
    • 预热后数据段:c6 e4 8d 41 → 反转后41 8d e4 c6 → 转换为浮点数≈18.703°C(略高于预热前,符合预热逻辑)

2. 相对湿度数据(8-11字节)

  • 取第9-12字节(索引8-11),反转字节序后转换为IEEE 754单精度浮点数,结果即为相对湿度(单位:%RH)。
  • 验证示例:
    • 预热前数据段:ea 94 3b 42 → 反转后42 3b 94 ea → 转换为浮点数≈42.25%RH(符合20-80%RH范围)
    • 预热后数据段:30 73 3b 42 → 反转后42 3b 73 30 → 转换为浮点数≈41.75%RH(符合湿度范围)

其他数据验证

取另一组读取数据c6 e4 8d 41 ... 9a 40 3b 42 ...:

  • 温度:41 8d e4 c6 → ≈18.703°C
  • 湿度:42 3b 40 9a → ≈39.875%RH
    结果均符合给定范围。

内容的提问来源于stack exchange,提问作者Pierre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 23:05:27