trigger 是 node-red 中的一个常用组件,这篇文章继续结合实例介绍使用 trigger 进行限速控制的方法。
以容器方式启动 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
flow 设定
在前面的文章也介绍过一个类似的使用示例,主要使用如下三个节点组成的一个 flow:
数字数组节点: 使用 json 数组类型,内容为 [1,2,3,4,5],一个包含五个元素的数字数组
拆分数组元素节点:split 类型,缺省设定 结果显示节点:debug 类型,缺省设定
执行部署并手工触发,执行结果如下所示,可以看到结果的输出基本在同一时间内执行完毕:
同样使用这个 flow,我们在拆分和结果显示之间添加一个限速器(trigger),flow 修改为如下:
限速器的详细设定如下所示:
执行部署并手工触发,执行结果如下所示,可以看到拆分后的元素按照每秒一个的速度进行显示:
[{"id":"3ea13cf4.f55564","type":"inject","z":"73554227.4474dc","name":"数字数组","topic":"","payload":"[1,2,3,4,5]","payloadtype":"json","repeat":"","crontab":"","once":false,"oncedelay":0.1,"x":140,"y":160,"wires":[["beb988fe.cf5fb8"]]},{"id":"beb988fe.cf5fb8","type":"split","z":"73554227.4474dc","name":"拆分数组元素","splt":"\n","splttype":"str","arraysplt":1,"arraysplttype":"len","stream":false,"addname":"","x":340,"y":160,"wires":[["84cc4c2b.45a6c"]]},{"id":"c027e9ef.fe1f38","type":"debug","z":"73554227.4474dc","name":"结果显示","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targettype":"msg","x":720,"y":160,"wires":[]},{"id":"84cc4c2b.45a6c","type":"delay","z":"73554227.4474dc","name":"限速器","pausetype":"rate","timeout":"5","timeoutunits":"seconds","rate":"1","nbrateunits":"1","rateunits":"second","randomfirst":"1","randomlast":"5","randomunits":"seconds","drop":false,"x":550,"y":160,"wires":[["c027e9ef.fe1f38"]]}]
来源:
nodered 澳门人威尼斯3966官网:
noderedgithub:
nodered 英文社区:
nodered 中文社区:https://www.iotschool.com/topics/node81
nodered 中文社区 qq 群:8604461