假设你的设备正在使用自定义传感器来收集温度读数并将其推送到ThingsBoard。
该传感器以°F为单位收集温度读数,你希望在将其存储到数据库和可视化之前将其转换为°C。
在本教程中,我们将配置ThingsBoard Rule Engine来根据以下公式修改温度读数:
[°C] = ([°F] - 32) × 5/9.
我们假设你已完成以下指南并查看了以下文章:
我们将修改默认规则链,并使用温度转换脚本添加transformation规则节点。
我们将这个规则节点放置在默认的”message type switch”和”save timeseries”规则节点之间。
请注意我们也从根规则链中删除了不相关的规则节点。
生成模拟数据
function precisionRound(number, precision) {
var factor = Math.pow(10, precision);
return Math.round(number * factor) / factor;
}
if (typeof msg.temperature !== 'undefined'){
msg.temperature = precisionRound((msg.temperature -32) * 5 / 9, 2);
}
return {msg: msg, metadata: metadata, msgType: msgType};
我们使用内置的”Test transformer function”按钮来检查脚本是否正确
从本教程中下载并导入带有规则链的附件json文件不要忘记将新规则链标记为”root”规则链。
入门指南 - 这些指南提供了ThingsBoard主要功能的快速概述。
安装指南 - 了解如何在各种操作系统上安装ThingsBoard。
设备连接 - 了解如何根据您的连接方式或解决方案连接设备。
数据看板 - 这些指南包含有关如何配置复杂的ThingsBoard仪表板的说明。
数据分析 - 了解如何使用规则引擎执行基本的分析任务。
硬件样品 - 了解如何将各种硬件平台连接到ThingsBoard。
高级功能 - 了解高级ThingsBoard功能。
开发指南 - 了解ThingsBoard中的贡献和开发。