跳到主要内容

AI 驱动文档

您想了解什么?

Node-RED 基础

本页介绍在 OV80i 摄像头系统中实现的 Node-RED,解释可帮助您创建强大检测工作流的关键概念和功能。

Node-RED 是什么?

Node-RED 是一个基于流的编程工具,提供浏览器内的编辑器用于直观连接硬件设备、API 和在线服务。最初由 IBM 开发,如今已成为一个开源项目,提供低代码的自动化和数据处理方法。

OV80i 摄像头将 Node-RED 作为其自动化平台,使您在极少的编码知识下即可创建复杂的检测工作流。通过简单的拖放界面,您可以快速开发本来需要大量编程经验才能实现的复杂逻辑。

Node-RED 的关键概念

Flows

Flows 是自动化流程的可视表示。每个 Flow 由通过线缆连接的节点组成,表示数据在系统中的传递方式。OV80i 摄像头使用 Flow 来处理检测结果并与外部系统通信。

Nodes

Nodes 是您 Flow 的构建块,每个节点表示一个特定的功能或能力:

  • Input nodes - 接收数据(例如相机触发、HTTP 请求)
  • Processing nodes - 转换或分析数据(例如分类逻辑)
  • Output nodes - 将数据发送到外部系统或触发动作(例如 PLC 通信)

Messages

节点通过传递消息相互通信。在 OV80i 系统中,这些消息通常包含:

  • 检测结果
  • 被检测对象的元数据
  • 外部系统的命令
  • 触发信号

Context Storage

Node-RED 提供了一种方法,用于在不同节点之间共享信息,而无需依赖通过 Flow 传递的消息。

特定上下文值的 'scope' 决定了谁可以访问它:

Scope TypeVisibilityUse Case
Node Context仅对设置该值的节点可见存储节点特定的临时状态信息
Flow Context对同一 Flow(tab)上的所有节点可见在同一 Flow 中的节点之间共享数据
Global Context对跨所有 Flow 的所有节点可见应用范围的状态或配置

Context Storage 的好处

  • Data Persistence - 在消息 Flow 之间存储数据
  • Scope Flexibility - 不同层级的数据共享
  • State Management - 跨节点维持应用状态

部署 Button

Node-RED 中的 Deploy 按钮允许您应用并将配置推送到运行时环境。

Deploy Options:

  • Full Deploy - 更新所有 nodes 和 flows
  • Modified Nodes - 仅更新已修改的节点
  • Modified Flows - 仅更新包含已修改节点的 flows

Importing and Exporting

Node-RED 允许您将 Flow 配置导出并导入为 JSON 文件,从而实现:

  • 相机配置的备份
  • 与团队成员共享 flows
  • 在不同摄像头之间移动配置

导出流程

  1. 打开相机的 Node-RED 编辑器
  2. 选择要导出的流程
  3. 点击菜单按钮并选择 "导出"
  4. 选择 JSON 格式

导入流程

  1. 打开相机的 Node-RED 编辑器
  2. 点击菜单按钮并选择 "导入"
  3. 粘贴 JSON 数据或上传 JSON 文件
  4. 点击 "导入" 以整合配置
  5. 部署以应用新的流程

调试

目的与功能

Debug 节点在 Node-RED 编辑器的 Debug 侧边栏中显示消息,便于开发和排查检测流程。

关键特性

  • 在 Debug 侧边栏中以结构化方式查看消息
  • 关于消息时序和源的详细信息
  • 能够在工作区中定位源节点
  • 可切换以启用/禁用调试输出

Dashboard Capabilities

Node-RED Dashboard 提供一个基于 web 的界面,通过可自定义的 UI 来监控和控制您的相机系统。

关键组件

  • 布局管理器 - 组织 UI 组件
  • UI Nodes - 添加具体界面元素
  • Theme Customization - 个性化外观

常用 UI 元素

  • Buttons - 触发操作,如配方变更
  • Charts - 随时间可视化检测指标
  • Gauges - 监控在一定范围内的数值
  • Text displays - 显示当前相机状态
  • Sliders - 实时调整参数

创建仪表板的步骤

  1. 将 UI 节点添加到流程 - 从调色板将 UI 节点拖放到您的流程中,以定义要在仪表板中包含的数据和控件
  2. 配置 UI 节点 - 配置每个 UI 节点的属性,例如标签、范围和数据源
  3. 排列组件 - 使用布局管理器在仪表板上布置 UI 组件,创建一个逻辑清晰、用户友好的布局
  4. 部署并访问仪表板 - 部署您的流程并通过导航到相应的 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 环境支持与多种工业系统的集成:

  • 通过 Ethernet/IP、Profinet 或 Modbus 与 PLC 集成
  • MQTT 用于 IoT 应用
  • HTTP/REST 用于 Web 服务
  • 数据库系统用于数据日志记录
  • 用于操作员控制的 HMI 界面

最佳实践

流程组织

  • 按功能对流程进行组织
  • 使用注释来记录复杂逻辑
  • 清晰命名节点以指示其用途
  • 对重复模式使用子流程

性能考量

  • 在生产环境中尽量减少调试节点的数量
  • 考虑高频触发对系统的影响
  • 充分使用上下文变量
  • 部署前进行充分测试

备份策略

  • 定期导出并保存您的流程
  • 记录您的配置变更
  • 考虑在团队环境中使用版本控制
  • 在生产使用前测试已还原的流程
使用 AI 快速构建流程

Integration Builder 可以根据简单的英文描述生成完整的 Node-RED 流程。与逐个节点构建流程不同,描述你需要的内容,就能在几秒钟内获得可投入生产的流程。非常适用于通知、数据记录和 PLC 通信等常见模式。

🔗 相关链接