跳到主要内容

AI 驱动文档

您想了解什么?

通过 MQTT 触发

本教程向您展示如何使用简单的 MQTT 消息远程触发您的 OV20i 相机。只需几个步骤,您就可以建立一个可以从网络上的任何地方捕获和处理图像的系统——无需复杂的编程!

您将构建的内容: 一个简单的远程触发器,让您通过在网络上发送基本消息来启动相机检查。

预计时间: 20-30 分钟

技能水平: 初学者

实际示例: 想象一下,操作员的平板电脑上有一个按钮,可以立即触发相机检查一个部件——这正是我们要构建的,但使用 MQTT 消息而不是按钮。

先决条件

在开始之前,请确保您已:

  • OV20i 相机已连接并正常工作
  • 食谱已设置并准备好使用
  • MQTT 通信已配置(如有需要,请参阅 MQTT 通信设置 指南)
备注

您的相机触发器必须在成像设置中设置为 手动 - 这告诉相机等待您的远程命令,而不是自动捕获。

为什么 MQTT 触发很简单

OV20i 使远程触发变得简单:

  • 无需编码 - 只需拖动并连接几个节点
  • 即时工作 - 发送消息,立即获得结果
  • 可靠的消息传递 - MQTT 确保您的命令到达相机
  • 任何设备都可以触发 - 平板电脑、计算机、PLC 或传感器

非常适合: 远程检查控制、自动化生产线或任何需要从其他位置触发相机的情况。

第一步:快速相机检查

1.1 将相机设置为手动触发

  1. 进入您的食谱编辑器
  2. 点击 "成像设置"
  3. 找到触发模式 并将其设置为 "手动"
  4. 点击保存

为什么选择手动? 这告诉相机“等待我的命令”,而不是自动拍照。

1.2 找到您的食谱编号

  1. 在食谱编辑器中查看浏览器地址栏
  2. 找到 /recipe/ 后面的数字(例如:如果 URL 显示 /recipe/10,则您的食谱编号为 10)
  3. 记下这个数字 - 您将在几分钟后需要它

image.png

第二步:打开流程构建器

2.1 进入 Node-RED

  1. 在您的食谱编辑器中,点击 "配置 IO" 或在面包屑菜单中选择 "IO 块"

2.2 从头开始

如果您在画布上看到其他节点,那也没关系 - 我们只需将新的触发流程添加到它们旁边。

让我们开始吧!

第三步:MQTT 触发的简单秘密

您需要知道的全部内容是:相机需要 2 条快速消息才能远程拍照。

  1. 第一条消息: “嘿,相机,准备好接收远程命令”
  2. 第二条消息: “现在拍照!”

3.1 将这 5 个节点拖到您的画布上

从左侧面板中,将这些拖到主区域:

  1. Inject(来自输入部分) - 这将是您的“触发按钮”
  2. Change(来自功能部分) - 用于消息 1
  3. Delay(来自功能部分) - 消息之间的小暂停
  4. Change(来自功能部分) - 用于消息 2
  5. MQTT Out(来自网络部分) - 将消息发送到相机

image.png

第 4 步:配置节点

4.1 设置触发按钮

  1. 双击 Inject 节点
  2. 将名称更改为 "Remote Trigger"
  3. 点击 "Done"

4.2 设置消息 1(准备命令)

  1. 双击第一个 Change 节点
  2. 将名称更改为 "Get Ready"
  3. 点击 "Add" 并选择 "SET"
  4. msg.topic 设置为 stream_mode/set
  5. 再次点击 "Add" 并选择 "SET"
  6. msg.payload 设置为 HMI_MODE
  7. 点击 "Done"

这有什么作用: 告诉相机“准备好接收远程命令”。

image.png

4.3 添加小延迟

  1. 双击 Delay 节点
  2. 将延迟设置为 10 毫秒
  3. 点击 "Done"

为什么? 只是给相机一个瞬间的时间来准备。

4.4 设置消息 2(拍照命令)

  1. 双击第二个 Change 节点
  2. 将名称更改为 "Take Picture"
  3. 点击 "Add" 并选择 "SET"
  4. msg.topic 设置为 hmi/[YOUR_RECIPE_NUMBER]/capture_mode
  5. 将 [YOUR_RECIPE_NUMBER] 替换为您的实际编号(例如 hmi/10/capture_mode
  6. 再次点击 "Add" 并选择 "SET"
  7. msg.payload 设置为 single
  8. 点击 "Done"

这有什么作用: 告诉相机“现在拍一张照片!”

image.png

4.5 设置消息发送器

  1. 双击 MQTT Out 节点
  2. 选择您的 MQTT 代理(应该已经配置好)
  3. 将名称更改为 "Send to Camera"
  4. 点击 "Done"

第 5 步:连接所有内容

这是有趣的部分! 现在我们连接您的节点以创建流程。

5.1 建立连接

在节点之间绘制连接线,如下所示:

  1. Remote Trigger → Get Ready → Send to Camera
  2. Remote Trigger → Delay → Take Picture → Send to Camera

视觉指南:

Remote Trigger ──→ Get Ready ──→ Send to Camera

└──→ Delay ──→ Take Picture ──→ Send to Camera

5.2 如何连接节点

  1. 从节点右侧的小方块点击并拖动
  2. 将线放到下一个节点的左侧
  3. 您会看到一条灰色线将它们连接起来

第 6 步:测试您的远程触发器

6.1 激活您的流程

  1. 点击右上角的红色 "Deploy" 按钮
  2. 您应该看到 "Successfully deployed" 消息

6.2 尝试一下

  1. 在相机前放置一个工件(用于测试)
  2. 点击 "Remote Trigger" 节点上的按钮
  3. 观看相机拍照!

成功的标志:

  • 相机 LED 短暂闪烁
  • 您听到检测处理的声音
  • 新图像出现在您的库中

6.3 检查您的结果

前往您的库页面 - 您应该看到一个带有最近时间戳的新图像。点击它以查看检测结果!

如果成功: 恭喜!您刚刚远程触发了相机。

如果没有: 请检查下面的故障排除部分。

第 7 步:从其他设备使用(可选)

想要从手机、平板电脑或其他计算机触发吗? 方法如下:

7.1 从任何 MQTT 应用

下载任何 MQTT 应用 并连接到相机的 IP 地址,端口为 1883,然后:

  1. 发送第一条消息:
    • 主题: stream_mode/set
    • 消息: HMI_MODE
  2. 等一会儿,然后发送第二条消息:
    • 主题: hmi/[YOUR_RECIPE_NUMBER]/capture_mode
    • 消息: single

7.2 从命令行

在 Windows/Mac/Linux 上:

# First message
mosquitto_pub -h [CAMERA_IP] -t "stream_mode/set" -m "HMI_MODE"

# Second message (replace 10 with your recipe number)
mosquitto_pub -h [CAMERA_IP] -t "hmi/10/capture_mode" -m "single"

就这样! 您的相机将从网络上的任何位置拍摄照片。

第 8 步:验证和测试

8.1 端到端测试

完整工作流验证:

测试操作预期结果状态
手动触发点击注入按钮图像已捕获并处理
HMI 模式激活检查相机状态相机切换到 HMI 模式
检查执行验证处理调试显示检查结果
外部触发发送 MQTT 命令远程触发正常工作

8.2 性能验证

监控这些指标:

  • 触发响应时间: 从 MQTT 消息到图像捕获的时间
  • 处理持续时间: 完成检查所需的时间
  • 结果交付: 调试输出的时机
  • 系统可靠性: 在多次测试中保持一致的触发

8.3 生产就绪性

在部署到生产之前:

  1. 使用实际零件 和检查条件进行测试
  2. 验证与外部系统的集成
  3. 确认 MQTT 通信的网络可靠性
  4. 记录触发主题 和消息格式

第 9 步:快速故障排除

不工作?以下是最常见的解决方法:

9.1 相机不拍照

问题快速修复
点击触发时没有反应检查“拍照”节点中的配方编号是否正确
相机拍照但没有检查确保您的配方处于活动状态并且有经过训练的模型
触发有时有效验证触发在成像设置中是否设置为手动

9.2 MQTT 问题

问题快速修复
MQTT 节点上的红点检查您设置中的 MQTT 代理连接
部署按钮变灰首先在画布上单击任何地方,然后再尝试部署
节点无法连接确保您是从右侧的小方块拖动
备注

仍然卡住? 请仔细检查 MQTT 通信是否正确设置(请参阅 MQTT 通信设置 指南)。

您做到了! 🎉

恭喜您! 您现在可以远程控制您的 OV20i 相机。只需几次点击,您就构建了一个可以:

  • 从网络上的任何地方触发检查
  • 与手机、平板电脑、计算机 - 任何可以发送 MQTT 消息的设备一起工作
  • 与 PLC、传感器或自定义应用程序等其他系统集成
  • 通过使用不同的配方编号扩展到多个相机

接下来是什么?

现在您已经掌握了基础知识,您可以:

简单的下一步

  • 使用 MQTT 应用程序从不同设备进行测试
  • 为不同的配方创建多个触发器
  • 将此添加到您的生产工作流中

高级想法

  • 连接到 PLC 以实现自动化生产线
  • 构建自定义应用 以触发多个相机
  • 添加结果转发 将检测数据发送到其他地方
  • 创建操作员仪表板 具有触发按钮

真实案例

以下是其他人如何使用 MQTT 触发的示例:

  • 质量控制站: 操作员扫描条形码,系统触发相机检测
  • 输送线: 传感器检测到零件,自动触发检测
  • 手动检测: 平板电脑上有简单的“检测”按钮供操作员使用
  • 生产监控: 中央系统协调多个相机

可能性无穷无尽 - 一切都始于您刚刚构建的简单系统!

🔗 另请参见