Node-RED 基础
本页介绍在 OV80i 摄像机系统中实现的 Node-RED,讲解帮助您创建强大检测工作流的关键概念与功能。
Node-RED 是什么?
Node-RED 是一种基于流的编程工具,提供基于浏览器的编辑器,用于可视化连接硬件设备、API 和在线服务。最初由 IBM 开发,现已成为一个开源项目,提供低代码的自动化与数据处理方式。
OV80i 摄像机将 Node-RED 作为其自动化平台,允许您在极少的编码知识下创建复杂的检测工作流。通过简单的拖放界面,您可以快速开发原本需要大量编程专长的复杂逻辑。
Node-RED 的关键概念
流(Flows)
Flows 是您自动化流程的可视化表示。每个 Flow 由通过连线相连的节点组成,表示数据在系统中的传输路径。OV80i 摄像机使用 Flow 来处理检测结果并与外部系统通信。
节点
节点是 Flow 的构建块,每个节点代表一个特定的功能或能力:
- Input 节点 - 接收数据(例如,相机触发、HTTP 请求)
- Processing 节点 - 转换或分析数据(例如,分类逻辑)
- Output 节点 - 将数据发送到外部系统或触发动作(例如,与 PLC 的通信)
消息
节点通过传递消息相互通信。在 OV80i 系统中,这些消息通常包含:
- 检测结果
- 关于被检测对象的元数据
- 外部系统的命令
- 触发信号
上下文存储
Node-RED 提供了一种在不同节点之间共享信息而无需依赖通过 Flow 传递的消息的方法。
特定上下文值的“作用域”决定了谁可以访问它:
作用域类型 | 可见性 | 使用场景 |
---|---|---|
节点上下文 | 仅对设置该值的节点可见 | 存储节点特定的临时状态信息 |
Flow 上下文 | 对同一 Flow(选项卡)中的所有节点可见 | 在同一 Flow 内的节点之间共享数据 |
全局上下文 | 跨所有 Flow 的所有节点可见 | 应用范围的状态或配置 |
上下文存储的好处
- 数据持久化 - 在消息流之间存储数据
- 作用域灵活性 - 不同层级的数据共享
- 状态管理 - 在节点之间维护应用状态
部署按钮
Node-RED 中的部署按钮允许您将配置应用并推送到运行时环境。
部署选项:
- 完全部署(Full Deploy)- 更新所有节点和 Flow(流)
- 修改的节点 - 仅更新已修改的节点
- 修改的 Flow - 仅更新包含修改节点的 Flow
导入与导出
Node-RED 允许将 Flow 配置导出为 JSON 文件并导入,功能包括:
- 备份您的相机配置
- 在团队成员之间共享 Flow
- 在不同相机之间移动配置
导出过程
- 打开摄像头的 Node-RED Editor
- 选择要导出的 Flow
- 点击菜单按钮并选择 "Export"
- 选择 JSON 格式
导入过程
- 打开摄像头的 Node-RED Editor
- 点击菜单按钮并选择 "Import"
- 粘贴 JSON 数据或上传 JSON 文件
- 点击 "Import" 以集成配置
- 部署以应用新的流程
调试
目的与功能
Debug 节点在 Node-RED 编辑器的 Debug 侧边栏中显示消息,便于开发和排查检查流程。
主要特性
- 在 Debug 侧边栏中以结构化方式显示消息
- 关于消息时序和来源的详细信息
- 能够在工作区中定位源节点
- 用于启用/禁用调试输出的切换功能
仪表板功能
Node-RED Dashboard 提供一个基于网页的界面,通过可自定义的 UI 对您的摄像系统进行监控和控制。
关键组件
- 布局管理器 - 组织 UI 组件
- UI 节点 - 添加具体的界面元素
- 主题定制 - 个性化外观
常见 UI 元素
- 按钮 - 触发诸如配方变更之类的操作
- 图表 - 随时间可视化检查指标
- 仪表 - 监控在某个范围内的数值
- 文本显示 - 显示当前摄像头状态
- 滑块 - 实时调整参数
创建仪表板的步骤
- 向流程添加 UI 节点 - 从调色板拖放 UI 节点到您的流程中,以定义要在仪表板中包含的数据和控件
- 配置 UI 节点 - 配置每个 UI 节点的属性,如标签、范围和数据源
- 排列组件 - 使用布局管理器在仪表板上排列 UI 组件,创建一个逻辑清晰、易于使用的布局
- 部署并访问仪表板 - 部署您的流程并通过导航至相应的 URL 访问仪表板(通常为
http://\{hostname\}/ui
)
在 OV80i 上使用 Node-RED
访问编辑器
您在 OV80i 摄像头上的 Node-RED 编辑器可以通过 UI 访问。
默认流程
OV80i 附带一个预配置的默认流程,用于处理基本的检查操作。这为自定义配置提供起点,并演示摄像头集成的最佳实践。
OV80i 自定义节点
摄像头通过 Node-RED 增强了面向视觉应用的专用节点:
- Classification Logic - 处理分类结果
- PLC Format - 为工业控制器格式化数据
- Final Pass/Fail - 确定检查结果
集成能力
OV80i 的 Node-RED 环境支持与多种工业系统的集成:
- PLCs via Ethernet/IP, Profinet, 或 Modbus
- MQTT,用于物联网应用
- HTTP/REST,用于 Web 服务
- 数据库系统,用于数据记录
- HMI 接口,用于操作员控制
最佳实践
流程组织
- 按功能对流程进行有序组织
- 使用注释记录复杂逻辑
- 清晰命名节点以指示其用途
- 对重复模式使用子流程
性能考虑
- 在生产环境中尽量减少调试节点数量
- 考虑高频触发的影响
- 高效使用上下文变量
- 在部署前进行充分测试
备份策略
- 定期导出并保存你的流程
- 记录你的配置变更
- 为团队环境考虑版本控制
- 在生产使用前测试已还原的流程