node-威尼斯人最新

nodered · 2020年08月27日 · 906 次阅读

在流的控制中,依据分支执行的结果可以分支结果的输出,这篇文章继续介绍 node-red 中的使用特性。

事前准备

以容器方式启动 node-red 服务,启动命令如下所示:

启动命令:docker run -it -p 1880:1880 -v $pwd/data:/data -e tz=asia/shanghai --name nodered -d nodered/node-red:1.0.4

方式 1: flow.state switch 节点

flow 生成和设定

生成下图所示的 flow

inject 节点:flow.state 传递结果 在 node-red 中 flow.state 为此节点的执行结果,可根据此节点的执行结果进行后续的逻辑判断。

switch 节点:根据 flow.state 传递结果进行多路分支处理 此处用了三个分支,分别对应 flow.state 返回 0、1 和 2 的情况

debug 节点:显示 msg.payload 信息

部署并执行

点击 deploy 进行部署,并通过点击 inject 节点执行按钮手动触发,会发现执行结果总是显示 flow.state == 0 的分支,因为此处 inject 的节点只是传个时间戳,并不会出错的原因。

方式 2: flow.state change 节点

flow 生成和设定

生成下图所示的 flow

inject 节点:用作示例的传递输入 分别使用三个 inject 节点传入 flow.state 为 0、1 和 2,比如 flow.state=0 的值的设定如下所示:

change 节点:将三个节点的 state 属性转化为 payload

debug 节点:显示 msg.payload 信息

部署并执行

点击 deploy 进行部署,并通过点击三个 inject 节点执行按钮手动触发,结果显示如下

json 格式的 flow

[{"id":"8073b1db.7152","type":"inject","z":"73554227.4474dc","name":"多路输入:0","topic":"","payload":"0","payloadtype":"num","repeat":"","crontab":"","once":false,"oncedelay":0.1,"x":190,"y":340,"wires":[["bca30b83.bb3328"]]},{"id":"223570a4.2ca28","type":"inject","z":"73554227.4474dc","name":"多路输入:0","topic":"","payload":"0","payloadtype":"num","repeat":"","crontab":"","once":false,"oncedelay":0.1,"x":190,"y":380,"wires":[[]]},{"id":"fd948673.ecaf18","type":"inject","z":"73554227.4474dc","name":"多路输入:1","topic":"","payload":"1","payloadtype":"num","repeat":"","crontab":"","once":false,"oncedelay":0.1,"x":190,"y":380,"wires":[["bca30b83.bb3328"]]},{"id":"532a5292.81ae0c","type":"inject","z":"73554227.4474dc","name":"多路输入:2","topic":"","payload":"2","payloadtype":"num","repeat":"","crontab":"","once":false,"oncedelay":0.1,"x":190,"y":420,"wires":[["bca30b83.bb3328"]]},{"id":"bca30b83.bb3328","type":"change","z":"73554227.4474dc","name":"输入合并器","rules":[{"t":"set","p":"state","pt":"msg","to":"payload","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":380,"wires":[["ced9de0c.8573f"]]},{"id":"ced9de0c.8573f","type":"debug","z":"73554227.4474dc","name":"结果输出显示","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targettype":"msg","x":590,"y":380,"wires":[]}]

来源:

nodered 澳门人威尼斯3966官网:

noderedgithub:

nodered 英文社区:

nodered 中文社区:https://www.iotschool.com/topics/node81

nodered 中文社区 qq 群:8604461

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
网站地图