lab02-Node-RED 初步工作流

一、目錄

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)連接在一起。


image.png

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)入成功


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容