Node-RED使用指南:13:使用Change节点处理消息

在这里插入图片描述
在前面的文章中我们介绍过使用Change类型的节点(Node)进行内容的设定的示例,这篇文章中将结合示例继续介绍一下其他的使用方法。

事前准备

以容器方式启动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,前后的节点只是设定了一下Name,而只有Change节点设定了返回的固定结果,详细信息如下
    在这里插入图片描述

  • flow的json表示(export输出结果)

[{"id":"82808a0c.d63888","type":"inject","z":"73554227.4474dc","name":"Change使用示例1","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":140,"wires":[["fbd30c79.e788"]]},{"id":"fbd30c79.e788","type":"change","z":"73554227.4474dc","name":"设定固定值","rules":[{"t":"set","p":"payload","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":140,"wires":[["46d893f2.0c394c"]]},{"id":"46d893f2.0c394c","type":"debug","z":"73554227.4474dc","name":"显示输出","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":560,"y":140,"wires":[]}]
  • 手动触发结果确认
    执行Deploy操作之后,手动触发此flow,结果显示如下图所示:
    在这里插入图片描述

使用示例2: 删除属性

在这里插入图片描述

  • 节点设定
    三个节点组成的flow,前后的节点只是设定了一下Name,而只有Change节点删除了payload属性,详细信息如下
    在这里插入图片描述

  • flow的json表示(export输出结果)

[{"id":"4eb22195.140f1","type":"inject","z":"73554227.4474dc","name":"Change使用示例2","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":240,"wires":[["40c98dfa.d04bc4"]]},{"id":"40c98dfa.d04bc4","type":"change","z":"73554227.4474dc","name":"删除payload","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":240,"wires":[["1a3e2029.70d8b"]]},{"id":"1a3e2029.70d8b","type":"debug","z":"73554227.4474dc","name":"显示payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":570,"y":240,"wires":[]}]
  • 手动触发结果确认
    执行Deploy操作之后,手动触发此flow,由于删除之后缺省的Debug节点显示的为msg.payload,所以结果显示如下图所示:
    在这里插入图片描述

使用示例3: 重命名属性

在这里插入图片描述

  • 节点设定
    三个节点组成的flow,Inject的节点中设定topic属性,并设定内容如下:
    在这里插入图片描述
    在Change节点中将topic属性重命名(移动)为payload,这样在后续的Debug节点中就能直接输出结果了。
    在这里插入图片描述
  • flow的json表示(export输出结果)
[{"id":"8bfd7210.69d86","type":"inject","z":"73554227.4474dc","name":"Change使用示例3","topic":"Hello, this is message of Topic property","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":340,"wires":[["7b82fb90.3413c4"]]},{"id":"7b82fb90.3413c4","type":"change","z":"73554227.4474dc","name":"移动property","rules":[{"t":"move","p":"topic","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":340,"wires":[["7734e70f.1ef868"]]},{"id":"7734e70f.1ef868","type":"debug","z":"73554227.4474dc","name":"显示payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":570,"y":340,"wires":[]}]
  • 手动触发结果确认
    执行Deploy操作之后,手动触发此flow,结果显示如下图所示:
    在这里插入图片描述
发布了1133 篇原创文章 · 获赞 1357 · 访问量 410万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104736545
今日推荐