创建你的第一个流程

概述

本教程介绍了 Node-RED 编辑器,并创建了一个演示 Inject、Debug 和 Function 节点的流程。

1. 访问编辑器

在 Node-RED 运行中,在 web 浏览器中打开编辑器。

如果你在运行 Node-RED 的同一台计算机上使用浏览器,可以通过以下网址访问它:http://localhost:1880

如果你在另一台计算机上使用浏览器,则需要使用运行 Node-RED 计算机的 IP 地址:http://<ip-address>:1880

2. 添加一个 Inject 节点

Inject 节点允许你将消息注入流程中,可以通过单击节点上的按钮或设置注入之间的时间间隔来实现。

调色板 拖动一个到 工作区 中。

选择新添加的 Inject 节点,以查看其属性的相关信息和在 信息侧边栏 中的说明。

3. 添加一个 Debug 节点

Debug 节点会将任何消息显示在 调试侧边栏 中。默认情况下,它只显示消息的有效负载,但可以显示整个消息对象。

4. 将两个节点连接起来

通过 拖动连接 将 Inject 和 Debug 节点的输出端口连接到另一个节点的输入端口。

5. 部署

此时,节点仅存在于编辑器中,必须部署到服务器。

单击部署按钮。

6. 注入

选择 Debug 侧边栏选项卡,单击 Inject 按钮(在你的 Inject 节点旁边的小方形按钮)。你应该会看到侧边栏中出现数字。默认情况下,Inject 节点使用自 1970 年 1 月 1 日以来的毫秒数作为其有效负载。

7. 添加一个 Function 节点

Function 节点允许你将每个消息通过一个 JavaScript 函数。

删除现有的连接线(选择它并按下键盘上的删除键)。

在 Inject 和 Debug 节点之间连接一个 Function 节点。

双击 Function 节点以打开编辑对话框。在函数字段中复制以下代码:

// 从有效负载创建一个 Date 对象
var date = new Date(msg.payload);
// 将有效负载更改为格式化的日期字符串
msg.payload = date.toString();
// 返回消息以便继续发送
return msg;

单击“完成”以关闭编辑对话框,然后单击部署按钮。

现在每当你单击 Inject 按钮时,侧边栏中的消息将格式化为可读的时间戳。


总结

此流程演示了创建流程的基本概念。它展示了如何使用 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":"格式化时间戳","func":"// 从有效负载创建一个 Date 对象\nvar date = new Date(msg.payload);\n// 将有效负载更改为格式化的日期字符串\nmsg.payload = date.toString();\n// 返回消息以便继续发送\nreturn msg;","outputs":1,"x":440,"y":200,"wires":[["58ffae9d.a7005"]]}]

下一步

相关阅读