這篇文章來結合Node-RED創建一條flow並進行說明,第一個示例主要用到Debug、Inject和Function類型的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: 使用Inject和Debug的Node輸出顯示信息
步驟1: 添加一個Inject的Node
拖動一個Inject節點至Flow 1的編輯頁面上
步驟2: 添加一個Debug的Node
同樣添加一個Debug的Node
步驟3: 添加連線
點擊Inject類型Node的右側連接點,將其與Debug類型Node的左側節點進行關聯,這樣一個最爲簡單的示例就完成了
步驟4: 執行Deploy
修改需要執行Deploy操作才能生效,點擊Deploy按鈕即可,Deploy執行完畢之後,如果沒有新的修改內容,會如下圖一樣顯示爲灰色。
步驟5: 結果確認
部署之後點擊Inject類型的Node的左側按鈕即可手動發起觸發,這個效果是顯示當前的時間信息,點擊兩次之後,選擇Debug messages,可以從右側邊臉看到如下結果:
點擊數字類型的時間信息,也可以進行轉換
示例2: 使用Function類型的Node添加轉換功能
在接下來的示例中我們添加Function類型的Node進行時間轉換:
步驟1: 添加一個Function類型的節點
雙擊添加的Function類型的Node,進行如下設定
代碼說明:在前面的文章中介紹過Function類型的Node中可以執行JavaScript腳本,這裏就是進行了一個簡單的時間的轉換,轉換爲字符類型進行顯示
// 使用payload創建日期對象
var date = new Date(msg.payload);
// 轉換payload的時間格式
msg.payload = date.toString();
// msg中的payload的格式已經轉換
return msg;
步驟2: 刪除之前的連線,重新連接
步驟3: 執行Deploy操作
注意如果不執行Deploy操作,雖然已經是使用了Function類型的Node在中間進行轉換,但是沒有生效,此時手動觸發日期格式仍然跟之前一樣。
點擊Deploy進行部署
步驟4: 確認結果
部署之後,從結果中即可確認到變更之後的時間信息了
參考內容
https://nodered.org/docs/tutorials/first-flow