概述
本教程介绍 Node-RED 编辑器并创建一个演示 Inject、Debug 和 Function 节点的流程。
1.访问编辑器
在 Node-RED运行的情况下,在 Web 浏览器中打开编辑器。
如果您在运行 Node-RED 的同一台计算机上使用浏览器,则可以使用 url 访问它:http://localhost:1880。
如果您在另一台计算机上使用浏览器,则需要使用运行 Node-RED: 的计算机的 IP 地址http://<ip-address>:1880。
2.添加一个Inject节点
Inject 节点允许您通过单击节点上的按钮或设置注入之间的时间间隔将消息注入流中。
将一个从 调色板拖到工作区。
选择新添加的 Inject 节点以查看有关其属性的信息以及它在Information 侧边栏窗格中的作用的描述。
3.添加一个Debug节点
Debug 节点使任何消息都显示在 Debug 侧边栏中。默认情况下,它只显示消息的有效负载,但可以显示整个消息对象。
4.将两者连接在一起
通过在一个的输出端口和另一个的输入端口之间拖动,将 Inject 和 Debug 节点连接在一起。
5. 部署
此时节点只存在于编辑器中,必须部署到服务器上。
单击部署按钮。
6.注入
选中 Debug 侧边栏选项卡后,单击 Inject 按钮(注入节点旁边的小方形按钮)。您应该会看到数字出现在侧边栏中。默认情况下,Inject 节点使用自 1970 年 1 月 1 日以来的毫秒数作为其有效负载。
7.添加功能节点
Function 节点允许您通过 JavaScript 函数传递每条消息。
删除现有的电线(选择它并按键盘上的删除)。
在 Inject 和 Debug 节点之间连接一个 Function 节点。
双击函数节点以打开编辑对话框。将以下代码复制到函数字段中:
// Create a Date object from the payload var date = new Date(msg.payload);
// Change the payload to be a formatted Date string msg.payload = date.toString();
// Return the message so it can be sent on return msg;
单击完成关闭编辑对话框,然后单击部署按钮。
现在,当您单击“注入”按钮时,侧栏中的消息现在将被格式化为可读时间戳。
概括
此流程演示了创建流程的基本概念。它显示了如何使用 Inject 节点手动触发流程,以及 Debug 节点如何在侧边栏中显示消息。它还展示了如何使用 Function 节点编写自定义 JavaScript 以针对消息运行。
资源
本教程中创建的流程由以下 json 表示。要将其导入编辑器,请将其复制到剪贴板,然后将其粘贴到“导入”对话框中。
[{"id":"58ffae9d.a7005","type":"debug","name":"","active":true,"complete":false,"x":640,"y":200,"wires":[]},{"id":"17626462.e89d9c","type":"inject","name":"","topic":"","payload":"","repeat":"","once":false,"x":240,"y":200,"wires":[["2921667d.d6de9a"]]},{"id":"2921667d.d6de9a","type":"function","name":"Format timestamp","func":"// Create a Date object from the payload\nvar date = new Date(msg.payload);\n// Change the payload to be a formatted Date string\nmsg.payload = date.toString();\n// Return the message so it can be sent on\nreturn msg;","outputs":1,"x":440,"y":200,"wires":[["58ffae9d.a7005"]]}]