跳到主要内容

AI 驱动文档

您想了解什么?

通过 MQTT 触发

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

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

预计时间: 20-30 分钟

技能水平: 初学者

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

先决条件

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

  • OV80i 相机已连接并正常工作
  • 已设置并准备好使用的配方
  • 配置了 MQTT 通信(如有需要,请参见 MQTT 通信设置 指南)
备注

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

为什么 MQTT 触发简单

OV80i 使远程触发变得简单:

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

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

第 1 步:快速检查相机

1.1 将相机设置为手动触发

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

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

1.2 找到您的配方编号

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

image.png

第 2 步:打开流程构建器

2.1 进入 Node-RED

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

2.2 从头开始

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

让我们开始吧!

第 3 步: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 通信设置 指南)。

您做到了! 🎉

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

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

接下来是什么?

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

简单的下一步

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

高级想法

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

现实世界示例

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

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

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

🔗 参见