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,結果顯示如下圖所示:
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章