Node-RED使用指南:20:使用trigger进行限速控制
2020-03-16 18:39
519 查看
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修改为如下:
限速器的详细设定如下所示:
执行结果
执行部署并手工触发,执行结果如下所示,可以看到拆分后的元素按照每秒一个的速度进行显示:
JSON格式的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"]]}]
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Node-RED使用指南:21:限速的消息抛弃或者消息队列机制
- Node-RED使用指南:22:定制化Node的使用方法
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 在Windows下使用Nodist进行Node版本控制
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 2.4 使用ARDUINO控制MC20进行GPS数据的获取和解析
- c#初学-使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- Node-RED使用指南:24:嵌入到Angular应用中
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- Node-RED使用指南:23:嵌入Node.js应用
- 使用 Override 和 New 关键字进行版本控制(C# 编程指南)
- 使用Filter来进行权限的控制
- LINUX上使用VNC进行图形界面远程桌面控制
- DShow之使用VMR进行Windowless控制
- FleaPHP 开发指南 - 8. 如何使用 RBAC 组件实现访问控制
- 使用JACOB进行Excel读写控制
- [Linux]使用 linux 下的 TC 进行服务器流量控制