Node-RED入门教程 - 创建一个简单流程

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

进入编辑器

启动node-red后,在浏览器中打开编辑器。

如果node-red和浏览器安装在同一台主机上,则使用http://localhost:1880即可访问编辑器。

如果浏览器在另一台电脑上,则要使用运行node-red的电脑的ip地址访问:http://<ip-address>:1880

添加inject节点

inject节点允许向工作流注入信息,可以点击节点上的按钮注入信息,也可以设置时间间隔注入信息。

从控件区拖拽即可将节点添加到工作空间。

点击选中刚刚添加的inject节点,可以在侧边栏看到节点的属性信息和描述信息。

节点属性信息:

image

节点描述信息;

image

添加Debug节点

Debug会输出任何信息,展示到Debug侧边栏中。默认情况下,只显示message的payload数据,但也可以显示整个message对象。

image

连接两个节点

按下左键,使用连线连接inject节点的输出端口和debug节点的输入端口,即可完成节点之间的数据连通。

image

部署

点击顶部Header区的部署按钮,即可将编辑器内的工作流部署到服务器上。

image

注入数据

点击injet节点旁边的方形按钮,可以在侧边栏debug区看到数据输出。默认情况下,inject节点输出1970年1月1日到现在的时间戳,作为paylad数据。

image

添加function节点

function可以使用javascript语言处理节点数据。

删除injet节点和debug节点间的连线,在inject和debug节点中间插入一个function节点,并用连线连接。

image

双击funciton节点,打开编辑器对话框,复制下面的代码,点击完成关闭对话框并重新部署,然后在点击inject旁的小方形重新注入数据,可以看到侧边栏输出了时间戳格式化后的数据。

image

image

// 从payload创建一个Date对象
var date = new Date(msg.payload);
// 格式化数据
msg.payload = date.toString();
// 返回数据,继续传送数据
return msg;

总结

本工作流演示了基本的工作流创建过程。本工作流中,展示了inject节点手动触发数据、debug节点在侧边栏显示数据。也展示了function节点能够通过编写自定义JavaScript脚本的方式处理数据。

源代码

本工作流的代码导出后是如下的json。你也可以导入这段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"]]}]

导入:

image

image

导出同理

posted @ 2023-07-23 21:13  叁柒零  阅读(4118)  评论(0)    收藏  举报