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

请求解析FORA IR20 BLE温度特征值与摄氏度的对应关系

解析FORA IR20红外体温计BLE温度特征值

步骤1:Base64解码特征值

先将每个Base64编码的特征值解码为十六进制字节序列:

  • BmsBAP/aBwECAR8AAA== → 6A B0 01 03 FE F6 07 01 02 01 1F 00 00 00(十进制:[106, 176, 1, 3, 254, 246, 7, 1, 2, 1, 31, 0, 0, 0])
  • BmwBAP/aBwECASEAAA== → 6A C0 01 03 FE F6 07 01 02 01 21 00 00 00(十进制:[106, 192, 1, 3, 254, 246, 7, 1, 2, 1, 33, 0, 0, 0])
  • BmYBAP/aBwECAR0AAA== → 6A 90 01 03 FE F6 07 01 02 01 1D 00 00 00(十进制:[106, 144, 1, 3, 254, 246, 7, 1, 2, 1, 29, 0, 0, 0])

步骤2:推导转换规则

对比三组数据,仅**索引1的字节(第2个字节)和索引10的字节(第11个字节)**存在差异,其余字节固定。结合对应温度值建立线性关系求解,得到以下转换公式:

// 解码Base64为Buffer
const buffer = Buffer.from(base64Str, 'base64');
// 提取关键字节
const byte2 = buffer.readUInt8(1);
const byte11 = buffer.readUInt8(10);
// 计算温度(摄氏度)
const temperature = 0.025 * byte2 - 0.15 * byte11 + 36.55;

验证公式

代入三组数据验证:

  • 第一组:0.025*176 -0.15*31 +36.55 = 4.4 -4.65 +36.55 = 36.3℃ ✔️
  • 第二组:0.025*192 -0.15*33 +36.55 =4.8 -4.95 +36.55=36.4℃ ✔️
  • 第三组:0.025*144 -0.15*29 +36.55=3.6 -4.35 +36.55=35.8℃ ✔️

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:09:51