节点红色。将多个输入发送到同一个执行节点

Node RED. Sending several inputs to the same exec node

我正在将来自 mqttin 节点的 3 个传感器测量值发送到一个 exec 命令,该命令必须具有此内容 echo '1 2 3' | ./a.out 其中 1 2 3 是来自 3 个 mqttin 节点的数据。

我在创建必须从 exec 节点发送到终端的命令时遇到困难。

已编辑:

基本上我首先测试几个滑块的使用,一个连接,我将每个滑块的有效负载组合为一个字符串和一个调试节点来检查输出。我的 objective 是用来自滑块的值创建一个字符串,然后添加命令的最后一部分“...|./a.out”

滑块只是假装是 mqttin 节点。但是这部分没有问题。

我什至无法连接滑块的输出,我应该创建什么?缓冲区、字符串、数组、key/value 对象..以及如何添加命令的最后一部分?

我可以执行类似 echo '1 2 3' | ./a.out 的操作,输出是另一个字符串,例如“1231 13 2”,每个数字之间用不同数量的空格分隔。我如何从中获得 3 个整数?

我查了很多相关的问题都没有找到答案。

谢谢。

要获得您想要的准确输出,可能需要多个节点。

  • 首先建立一个连接节点集输出一个key/value对象

  • 下一个函数节点将 3 个值转换为字符串并添加回显和管道

例如

var keys = Object.keys(msg.payload)
var string = "echo '"
for (var k in keys) {
    string += msg.payload[keys[k]] + " "
}

msg.payload = string + "' | ./a.out";
return msg;