本帖最后由 dizherui 于 2020-2-10 22:33 编辑
现在通过modbus节点,读取到16组数据
两种方式可以读取到2种数据格式如下:
第一种:
{"data":[672,0,0,0,0,0,0,0,0,0,0,0,0,0,672,672],"buffer":{"type":"Buffer","data":[2,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,160,2,160]}}
第二种:
[672,0,0,0,0,0,0,0,0,0,0,0,0,0,812,596]
如何从上面的代码里提取出","之间的16组数据,并每组数据做数学运算截取到小数点后两位(*0.01)后分别写入到不同的MQTT主题?
例如:
第1组 : 6.72 | 写入主题 /A6/01
第2组 : 0 | 写入主题 /A6/02
.....
第16组: 5.96 | 写入主题 /A6/16
希望前辈能给写一个完整的,仅是思路不会写啊
*********************************************
一下信息是我在Node RED搜索找到的,只能获取“,”之间的字符,没办法去掉开头和结尾的“[ ]”,也没办法只获取小数点后两位
找到一个类似的流程,但试着修改了一下,可以做数学运算但没办法只获取小数点后两位,并且没办法直接从modbus节点进行运算,只能是通过inject输入“567,812,958”这样的数字
这个js一定是要学习了,解决了一天,终于在晚上搞定了,写在这,哪个高人能帮我简化一下:
完整的Node RED流程
|