一、目录
1. 实验目的
- 掌握 Node-RED 编辑器的初步使用
- 掌握 Node-RED 流程的创建、基本节点创建、注入节点、调试和功能节点的使用
2. 实验步骤
2.1 访问 Node-RED 编辑器
在 Node-RED 运行的情况下,在 Web 浏览器中打开编辑器。如果您在运行 Node-RED 的同一台计算机上使用浏览器,则可以使用以下 URL 访问它:http://localhost:1880。如果您在另一台计算机上使用浏览器,则需要使用运行 Node-RED 的计算机的 IP地址:http://<ip-address>:1880。
2.2 添加注入节点 (Inject Node)
Inject 节点允许您通过单击节点上的按钮或设置注入之间的时间间隔将消息注入流中。从调色板拖一个到工作区。选择新添加的 Inject 节点以查看有关其属性的信息以及它在“信息”侧栏窗格中的作用的描述。
2.3 添加调试节点 (Debug Node)
调试节点会导致在调试侧栏中显示任何消息。默认情况下,它只显示消息的有效负载,但可以显示整个消息对象。
2.4 将两个节点连线
通过在一个的输出端口和另一个的输入端口之间拖动,将 Inject 和 Debug 节点连接在一起。
2.5 发布 (Deploy)
此时节点只存在于编辑器中,必须部署到服务器。单击部署按钮。选中 Debug 侧边栏选项卡后,单击Inject 按钮。您应该会看到侧边栏中出现数字。默认情况下,Inject 节点使用自 1970 年 1 月 1 日以来的毫秒数作为其负载。
2.6 添加函数节点 (Function Node)
Function 节点允许您通过 JavaScript 函数传递每条消息。删除现有的连线(选择它并按键盘上的删除)。
在 Inject 和 Debug 节点之间连接一个 Function 节点。双击 Function 节点以打开编辑对话框。将以下代码
复制到函数字段中:
// 从 payload 生成日期对象
var date = new Date (msg.payload) ;
// payload 设置成现有日期
msg.payload = date.toString () ;
// 返回消息
return msg ;
单击完成关闭编辑对话框,然后单击部署按钮。现在,当您单击“注入”按钮时,侧栏中的消息现在将被格式化为可读时间戳。
实现步骤
-
1.删除原来两个节点之间的连接线,或者直接如图连接。
-
2.双击Function 节点,出现界面,选择函数编写的窗口,编写代码,点击完成。
-
3.执行顺序,先部署,后执行
-
4.效果-成功
导出代码
-
1.点击右边栏,选择导出
-
2.选择并导出
-
3.成品效果
4.最后,全部的JSON代码,只需要新建一个txt文本,然后复制粘贴,保存后,把文件后缀改为: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": "//生成日期对象\nvar date = new Date(msg.payload);\n// 把msg.payload 设置成现有日期\nmsg.payload = date.toString();\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 380,
"y": 220,
"wires": [
[
"27f4babd7f9d0901"
]
]
}
]
5.最后的最后,如何导入?
-
选择右边栏,选择导入
-
选择刚才下载的文件,或者其他json文件
-
点击导入
-
导入成功