Javascript数学节点红色热敏电阻功能
Javascript Maths Node Red Thermistor Function
有 node-red 运行 arduino 模拟输出通过串口到 pi,我在其中收集热敏电阻数据作为变化时的 msg 有效载荷。
尝试将 Arduino 信号转换为温度 - 这是 adafruit 销售的最常见的 10K 搪瓷热敏电阻。非常有用的代码。
问题是我对 JS 完全是菜鸟。
到目前为止,这是我的代码 - 使用函数节点 - 并尝试复制斯坦哈特方程 (https://learn.adafruit.com/thermistor/using-a-thermistor)
var input = { payload: msg.payload };
var R0 = 10000;
var R = R0 / ((1023 / input)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
return T;
我不确定 msg.payload
是否会 return 实际数据类型中的数字 "Number" 意义或将是数字的字符串,但像这样的事情应该处理尝试划分字符串时出现任何异常情况
var numInput = Number(msg.payload);
var R0 = 10000;
var R = R0 / ((1023 / input)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
return T;
编辑:这应该可以修复错误:
var numInput = Number(msg.payload);
var R0 = 10000;
var R = R0 / ((1023 / numInput)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
msg.payload = T;
return msg;
有 node-red 运行 arduino 模拟输出通过串口到 pi,我在其中收集热敏电阻数据作为变化时的 msg 有效载荷。
尝试将 Arduino 信号转换为温度 - 这是 adafruit 销售的最常见的 10K 搪瓷热敏电阻。非常有用的代码。
问题是我对 JS 完全是菜鸟。
到目前为止,这是我的代码 - 使用函数节点 - 并尝试复制斯坦哈特方程 (https://learn.adafruit.com/thermistor/using-a-thermistor)
var input = { payload: msg.payload };
var R0 = 10000;
var R = R0 / ((1023 / input)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
return T;
我不确定 msg.payload
是否会 return 实际数据类型中的数字 "Number" 意义或将是数字的字符串,但像这样的事情应该处理尝试划分字符串时出现任何异常情况
var numInput = Number(msg.payload);
var R0 = 10000;
var R = R0 / ((1023 / input)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
return T;
编辑:这应该可以修复错误:
var numInput = Number(msg.payload);
var R0 = 10000;
var R = R0 / ((1023 / numInput)-1);
var T0 = 273 + 25;
var B = 3950;
var T = 1 / ( (1/T0) + (1/B) * Math.log(R/R0) );
msg.payload = T;
return msg;