node-rednode-red先将两个数存入全局变量,再通过函数节全局变量,再通过函数节点读取出来将两者相加输出出来
时间: 2024-12-02 15:18:10 浏览: 19
Node-RED是一种基于JavaScript的开源平台,用于创建物联网(IoT)应用和服务流程。它通过可视化拖放的方式,让你能够连接各种设备、API和服务,构建实时的数据流工作流。
如果你想要在Node-RED中完成这样的操作,你可以这样做:
1. **初始化全局变量**:首先,在"控制台"或"功能"部分,添加一个“函数”(Function)节点,并设置其输入类型为“msg”,这样可以存储数据。在函数体内,使用`global.set('var1', payload.number1)` 和 `global.set('var2', payload.number2)` 来分别保存两个数值,这里假设payload包含`number1`和`number2`字段。
```json
[
{
"id": "n0",
"type": "function",
"func": {
"nodes": [
{
"id": "f000",
"type": "function",
"outputs": 1,
"x": 470,
"y": 80,
"wires": [
["out0"]
],
"inputLabels": {},
"outputLabels": {
"out0": ""
},
"custom": {}
}
]
},
"input": [{"port": 0, "property": "", "type": "msg"}],
"output": [{"port": 0, "type": "flow"}],
"x": 50,
"y": 90
}
]
```
2. **处理数据**:然后,在另一个“函数”节点中,你可以获取这两个全局变量并计算它们的和。在该节点的`func`属性内,你可以使用`global.get('var1')`和`global.get('var2')`来获取变量值,之后做相加操作。
3. **输出结果**:最后,通过一个“debug”或“mqtt out”之类的节点,将结果发送出去,或者将其作为下一个流程步骤的输入。
```json
[
...
{
"id": "n1",
"type": "function",
"func": {
"nodes": [
{
"id": "f001",
"type": "function",
"outputs": 1,
"x": 650,
"y": 80,
"wires": [
["out0"]
],
"inputLabels": {},
"outputLabels": {
"out0": "result"
},
"custom": {}
}
],
"outputs": []
},
"input": ["n0"],
"output": [{"port": 0, "property": "result", "type": "msg"}],
"x": 50,
"y": 160
},
...
]
```
阅读全文