Node-RED 基于流程的可视化编程工具

发布于:2025-06-07 ⋅ 阅读:(19) ⋅ 点赞:(0)

Node-RED 是一个基于流程的可视化编程工具,特别适合 IoT(物联网)、自动化任务和 API 集成等场景。下面我会详细介绍 如何开始使用 Node-RED,包括基本操作、创建流程、调试和部署等。


1. Node-RED 界面介绍

打开 http://localhost:1880(或你的服务器 IP:1880),你会看到以下主要部分:

  • 左侧面板(Palette):所有可用的节点(Nodes),如输入、处理、输出等。

  • 中间画布(Flow Editor):拖拽节点到这里,连接它们构建流程。

  • 右侧面板(Sidebar)

    • Info:查看节点帮助文档。

    • Debug:调试消息输出。

    • Configuration:管理全局设置。


2. 创建第一个流程

示例 1:Hello World(注入 + 调试)

  1. 从左侧拖拽节点

    • 一个 inject(注入)节点(在 input 分类下)。

    • 一个 debug(调试)节点(在 output 分类下)。

  2. 连接它们

    • 点击 inject 节点的输出端口,拖到 debug 节点的输入端口。

  3. 部署(Deploy)

    • 点击右上角的 红色 "Deploy" 按钮 使流程生效。

  4. 测试

    • 点击 inject 节点左侧的小按钮,它会在 Debug 标签页 输出当前时间戳。

示例 2:HTTP API(接收请求并返回数据)

  1. 拖拽节点

    • http in(输入 > HTTP):用于接收 HTTP 请求(如 GET /hello)。

    • function(处理 > Function):编写自定义逻辑。

    • http response(输出 > HTTP):返回响应。

  2. 配置 http in

    • Method: GET

    • URL: /hello

  3. 配置 function(双击编辑):

    msg.payload = { message: "Hello from Node-RED!" };
    return msg;
  4. 连接并部署

    [http in] → [function] → [http response]
  5. 测试

    • 访问 http://localhost:1880/hello,你会看到 JSON 响应:

    { "message": "Hello from Node-RED!" }

3. 常用节点介绍

分类 节点 用途
Input inject 手动触发流程(如按钮点击)
http in 接收 HTTP 请求(构建 API)
mqtt in 订阅 MQTT 消息(IoT)
Processing function 编写自定义 JavaScript 代码
change 修改消息属性
switch 条件判断(类似 if-else)
Output debug 在 Debug 面板输出消息
http response 返回 HTTP 响应
mqtt out 发布 MQTT 消息

4. 调试技巧

  • Debug 节点:将 msg 对象输出到 Debug 面板。

  • node.warn():在 Function 节点中使用 node.warn("Log this"),日志会出现在 Debug 面板。

  • 查看消息内容:点击 Debug 标签页的消息,可以展开查看完整 msg 对象。


5. 安装额外节点

Node-RED 支持插件(节点库),比如:

  • Dashboard:创建可视化 UI 面板。

  • MySQL:连接数据库。

  • Telegram Bot:对接 Telegram 机器人。

安装方法

  1. 点击右上角 菜单(☰)→ Manage Palette

  2. 在 Install 选项卡搜索节点(如 node-red-dashboard)。

  3. 点击安装,重启后生效。


6. 导出/导入流程

  • 导出:选中流程 → 点击右上角菜单 → Export(可导出 JSON)。

  • 导入:点击右上角菜单 → Import → 粘贴 JSON 或上传文件。


7. 进阶应用

  • 连接 MQTT:用于 IoT 设备通信。

  • 定时任务:使用 inject + interval 定时触发。

  • 数据库操作:安装 node-red-node-mysql 或 node-red-node-sqlite

  • 可视化 Dashboard:安装 node-red-dashboard 创建 Web 控制台。


8. 学习资源


总结

  1. 拖拽节点 → 连接 → Deploy 部署。

  2. 用 Debug 节点 查看数据流。

  3. 通过 HTTP/MQTT 与其他系统交互。

  4. 安装 额外节点 扩展功能(如 Dashboard、数据库)。

你可以尝试构建一个 天气查询 API 或 自动化 Telegram 机器人,Node-RED 让这些变得非常简单!


网站公告

今日签到

点亮在社区的每一天
去签到