温度数值没错却差 273.15,怎样给传感点表补上单位契约
传感值从23变成296.15,未必是测量错了,可能是摄氏温度与开尔文混用。温度点表不能只有一个number,还应有单位、比例和偏移;摄氏与开尔文之间需要273.15的偏移,不是简单乘一个系数。先保留原值与原单位,再生成统一单位,缺单位时不要靠数值大小猜。
环境和证据范围
本文只核对温度数值契约,不评价传感器准确度和安装环境。合成点表将输出统一为摄氏度;接口可能先传整数百分之一摄氏度,必须先按厂商比例恢复原单位,再做单位换算。没有连接真实温湿度模块,也没有做校准或温漂测试。
核对顺序
-
收集原始协议字段:raw_value、raw_unit、scale、offset和输出单位。单位符号区分K与°C,开尔文不写成°K;名称里出现“temperature”不能替代单位字段,文档也应保留版本。
-
按声明的单位换算。K转°C用value-273.15,°C保持不变;单位未知或缺失进入拒绝分支。原始数据若是整数比例值,先做scale/offset,并防止网关与前端各做一次相同换算。
-
加入23°C、296.15K与缺单位三类输入,要求前两者输出相同。再用负开尔文作物理非法值反例,不能因为算术公式可算,就把它显示成合理环境温度。
-
把原值、换算值与质量标签一起存入联调记录。阈值也必须注明单位,不能数据改成摄氏后,告警阈值仍保留开尔文数值;历史导出与实时界面应一致。
可复算的输入与预期
附件输入23°C、296.15K、23但没有单位、-1K,结果为23°C、23°C、单位未知和物理非法。脚本使用显式单位分支,并将浮点输出保留六位,避免二进制浮点末尾误差被误当传感器抖动;保留位数只是显示策略,不表示测量精度。
下载与现场记录
下载本题合成输入与预期JSON、离线只读核验脚本和现场空白记录CSV。放在同一目录,用 Python 3 运行 python verify.py,逐项计算或解析后与预期比较,失败会显示差异。
现场字段包括 raw_value、raw_unit、scale、offset、normalized_value、normalized_unit、quality。合成样例保持原样,实测另存并填写型号、版本、证据路径,未采集处留空。本地核验不代表真实设备、代理、浏览器或长期稳定性已测。
失败分支与移交
判断“数值在0到100就是摄氏”会让某些低温或高温点位悄悄出错。字段写成celsius但实际已是K,也需要回到接口负责人核实,不能再增加一次自动猜测。若所有点位差同一个固定值,优先检查单位偏移和重复转换,再讨论硬件问题。
移交时把原始类型、比例、偏移、单位和转换责任方放在同一行,并保存一组已知参考值。现场仍需用适当仪器验证真实采样,本文的23与296.15只是合成等价输入,不能作为设备校准证书或现场温度记录。
基础背景可看温湿度 / 环境传感器。带单位的模拟量还需核对零点和跨度,见4—20mA 到屏幕百分比,怎样检查零点、跨度和越界值。更多资料在触摸互动技术方案。
需要项目联调时,可按上述字段整理资料,联系企服君核对实际接入范围。
一级资料
核对日期:2026-10-24。规范定义与本文应用约定分开,示例门限及脚本不自动代表产品原生能力。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。