一、目錄
1. 實(shí)驗(yàn)?zāi)康?/h3>
- 掌握 Node-RED 編輯器的初步使用
- 掌握 Node-RED 流程的創(chuàng)建、基本節(jié)點(diǎn)創(chuàng)建、注入節(jié)點(diǎn)、調(diào)試和功能節(jié)點(diǎn)的使用
2. 實(shí)驗(yàn)步驟
2.1 訪問 Node-RED 編輯器
在 Node-RED 運(yùn)行的情況下,在 Web 瀏覽器中打開編輯器。如果您在運(yùn)行 Node-RED 的同一臺(tái)計(jì)算機(jī)上使用瀏覽器,則可以使用以下 URL 訪問它:http://localhost:1880。如果您在另一臺(tái)計(jì)算機(jī)上使用瀏覽器,則需要使用運(yùn)行 Node-RED 的計(jì)算機(jī)的 IP地址:http://<ip-address>:1880。

2.2 添加注入節(jié)點(diǎn) (Inject Node)
Inject 節(jié)點(diǎn)允許您通過單擊節(jié)點(diǎn)上的按鈕或設(shè)置注入之間的時(shí)間間隔將消息注入流中。從調(diào)色板拖一個(gè)到工作區(qū)。選擇新添加的 Inject 節(jié)點(diǎn)以查看有關(guān)其屬性的信息以及它在“信息”側(cè)欄窗格中的作用的描述。

2.3 添加調(diào)試節(jié)點(diǎn) (Debug Node)
調(diào)試節(jié)點(diǎn)會(huì)導(dǎo)致在調(diào)試側(cè)欄中顯示任何消息。默認(rèn)情況下,它只顯示消息的有效負(fù)載,但可以顯示整個(gè)消息對(duì)象。

2.4 將兩個(gè)節(jié)點(diǎn)連線
通過在一個(gè)的輸出端口和另一個(gè)的輸入端口之間拖動(dòng),將 Inject 和 Debug 節(jié)點(diǎn)連接在一起。

2.5 發(fā)布 (Deploy)
此時(shí)節(jié)點(diǎn)只存在于編輯器中,必須部署到服務(wù)器。單擊部署按鈕。選中 Debug 側(cè)邊欄選項(xiàng)卡后,單擊Inject 按鈕。您應(yīng)該會(huì)看到側(cè)邊欄中出現(xiàn)數(shù)字。默認(rèn)情況下,Inject 節(jié)點(diǎn)使用自 1970 年 1 月 1 日以來的毫秒數(shù)作為其負(fù)載。

2.6 添加函數(shù)節(jié)點(diǎn) (Function Node)
Function 節(jié)點(diǎn)允許您通過 JavaScript 函數(shù)傳遞每條消息。刪除現(xiàn)有的連線(選擇它并按鍵盤上的刪除)。
在 Inject 和 Debug 節(jié)點(diǎn)之間連接一個(gè) Function 節(jié)點(diǎn)。雙擊 Function 節(jié)點(diǎn)以打開編輯對(duì)話框。將以下代碼
復(fù)制到函數(shù)字段中:
// 從 payload 生成日期對(duì)象
var date = new Date (msg.payload) ;
// payload 設(shè)置成現(xiàn)有日期
msg.payload = date.toString () ;
// 返回消息
return msg ;
單擊完成關(guān)閉編輯對(duì)話框,然后單擊部署按鈕?,F(xiàn)在,當(dāng)您單擊“注入”按鈕時(shí),側(cè)欄中的消息現(xiàn)在將被格式化為可讀時(shí)間戳。
實(shí)現(xiàn)步驟
-
1.刪除原來兩個(gè)節(jié)點(diǎn)之間的連接線,或者直接如圖連接。
-
2.雙擊Function 節(jié)點(diǎn),出現(xiàn)界面,選擇函數(shù)編寫的窗口,編寫代碼,點(diǎn)擊完成。
-
3.執(zhí)行順序,先部署,后執(zhí)行
-
4.效果-成功
導(dǎo)出代碼
-
1.點(diǎn)擊右邊欄,選擇導(dǎo)出
-
2.選擇并導(dǎo)出
-
3.成品效果
4.最后,全部的JSON代碼,只需要新建一個(gè)txt文本,然后復(fù)制粘貼,保存后,把文件后綴改為:json
[
{
"id": "0380f5e5c1f1a45c",
"type": "tab",
"label": "流程 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "d9acde2e0c2376eb",
"type": "inject",
"z": "0380f5e5c1f1a45c",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 190,
"y": 140,
"wires": [
[
"66e4e2f680ac18ac"
]
]
},
{
"id": "27f4babd7f9d0901",
"type": "debug",
"z": "0380f5e5c1f1a45c",
"name": "debug 1",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "false",
"statusVal": "",
"statusType": "auto",
"x": 580,
"y": 140,
"wires": []
},
{
"id": "66e4e2f680ac18ac",
"type": "function",
"z": "0380f5e5c1f1a45c",
"name": "function 1",
"func": "http://生成日期對(duì)象\nvar date = new Date(msg.payload);\n// 把msg.payload 設(shè)置成現(xiàn)有日期\nmsg.payload = date.toString();\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 380,
"y": 220,
"wires": [
[
"27f4babd7f9d0901"
]
]
}
]
5.最后的最后,如何導(dǎo)入?
-
選擇右邊欄,選擇導(dǎo)入
-
選擇剛才下載的文件,或者其他json文件
-
點(diǎn)擊導(dǎo)入
-
導(dǎo)入成功










