AI 驱动文档
您想了解什么?
通过 MQTT 触发
本教程演示如何通过简单的 MQTT 消息远程触发您的 OV10i 摄像头。只需若干步骤,您就可以实现一个系统,在网络的任意位置捕获并处理图像——无需复杂编程!
你将构建的内容: 一个简单的远程触发器,允许通过在网络上发送一个基础消息来启动摄像头检查。
预计时长: 20-30 分钟
难度: 初级
实际示例: 想象在操作员平板上的一个按钮,能够立即触发摄像头对某个零件进行检查——这正是我们要实现的,不过是使用 MQTT 消息而不是按钮。
先决条件
在开始之前,请确保具备:
- OV10i 摄像头已连接并正常工作
- 已设置好并可使用的一份配方
- 已配置 MQTT 通信(如需要,请参阅 MQTT Communication Setup 指南)
请在 Imaging Setup 将触发模式设置为 手动——这将让相机等待远程命令,而不是自动拍摄。
为什么 MQTT 触发很简单
OV10i 让远程触发变得简单:
- 无需编码 - 只需拖拽并连接几个节点
- 瞬时生效 - 发送消息,立即获取结果
- 可靠的消息传递 - MQTT 确保命令能到达相机
- 任何设备都可触发 - 平板、计算机、PLC 或传感器
非常适合: 远程检查控制、自动化生产线,或任何需要从另一个位置触发摄像头的场景。
第1步:快速检查摄像头
1.1 将摄像头设置为手动触发
- 进入您的 Recipe Editor
- 点击“Imaging Setup”
- **找到 Trigger Mode(触发模式)并将其设置为 “手动”
- 点击保存
为什么选择手动? 这会让相机“等待我的命令”,而不是自动拍摄。
1.2 找到您的配方编号
- 在 Recipe Editor 模式下查看浏览器地址栏
- 查找
/recipe/之后的数字(例如:如果 URL 显示/recipe/10,那么您的配方编号是 10) - 记下这个数字——几分钟后会用到

第2步:打开 Flow Builder
2.1 进入 Node-RED
- 在您的 Recipe Editor 中,点击 “Configure IO” 或在面包屑菜单中选择 “IO Block”
2.2 重新开始
如果画布上看到其他节点,也没关系——我们将把新的触发流与它们并列添加。
让我们开始吧!
第3步:MQTT 触发的简单秘密
以下是你需要了解的一切:摄像头需要 2 条简短的消息来实现远程拍照。
- 第一条消息:“嘿,相机,准备好接收远程命令”
- 第二条消息:“现在拍照!”
3.1 将这 5 个节点拖拽到画布上
从左侧面板,将以下节点拖到主区域:
- Inject(来自 Input 部分)- 这将是你的“触发按钮”
- Change(来自 Function 部分)- 用于消息 1
- Delay(来自 Function 部分)- 消息之间的微小暂停
- Change(来自 Function 部分)- 用于消息 2
- MQTT Out(来自 Network 部分)- 将消息发送给相机

步骤 4:配置节点
4.1 设置触发按钮
- 双击 Inject 节点
- 将名称改为“远程触发”
- 点击“完成”
4.2 设置消息 1(就绪命令)
- 双击 第一个 Change 节点
- 将名称改为“就绪”
- 点击“添加”并选择“SET”
- 将
msg.topic设置为stream_mode/set - 再次点击“添加”并选择“SET”
- 将
msg.payload设置为HMI_MODE - 点击“完成”
作用说明: 让摄像头“就绪以接收远程命令”。

4.3 添加一个小延迟
- 双击 Delay 节点
- 将延迟设置为 10 毫秒
- 点击“完成”
原因:仅给摄像头一个短暂的就绪时间。
4.4 设置消息 2(拍照命令)
- 双击 第二个 Change 节点
- 将名称改为“拍照”
- 点击“添加”并选择“SET”
- 将
msg.topic设置为hmi/[YOUR_RECIPE_NUMBER]/capture_mode - 用实际数字替换 [YOUR_RECIPE_NUMBER](例如
hmi/10/capture_mode) - 再次点击“添加”并选择“SET”
- 将
msg.payload设置为single - 点击“完成”
作用:让摄像头“现在拍一张照片!”

4.5 设置消息发送节点
- 双击 MQTT Out 节点
- 选择你的 MQTT broker(应该已配置)
- 将名称改为“发送到相机”
- 点击“完成”
第 5 步:将所有内容连接起来
这部分很有趣! 现在把你的节点连接起来以创建流程。
5.1 连接方式
按如下方式在节点之间连线:
- Remote Trigger → Get Ready → Send to Camera
- Remote Trigger → Delay → Take Picture → Send to Camera
可视化指南:
Remote Trigger ──→ Get Ready ──→ Send to Camera
│
└──→ Delay ──→ Take Picture ──→ Send to Camera
5.2 如何连接节点
- 从节点右侧的小正方形处单击并拖动
- 将连线放到下一个节点的左侧
- 你会看到一条灰色线将它们连接起来
第 6 步:测试你的远程触发
6.1 激活你的流程
- 在右上角点击红色的“部署”按钮
- 你应该看到“Successfully deployed”消息
6.2 试用
- 将一个工件放在摄像头前进行测试
- 点击你“Remote Trigger”节点上的按钮
- 观察摄像头拍照!
成功迹象:
- 摄像头 LED 短暂闪烁
- 听到检验处理正在进行
- 库中出现新图像
6.3 查看结果
前往库页面 - 你应该看到带有最近时间戳的新图像。点击它以查看检验结果!
如果成功: 恭喜!你刚刚完成了对摄像头的远程触发。
如果未成功: 请查看下方的故障排除部分。
第 7 步:可选在其他设备上使用
想从手机、平板或另一台计算机触发? 请按以下步骤:
7.1 来自任意 MQTT 应用
下载任意 MQTT 应用并连接到相机的 IP 地址,端口为 1883,然后:
- 发送第一条消息:
- 主题(Topic):
stream_mode/set - 消息(Message):
HMI_MODE
- 主题(Topic):
- 稍作等待后发送第二条消息:
- 主题(Topic):
hmi/[YOUR_RECIPE_NUMBER]/capture_mode - 消息(Message):
single
- 主题(Topic):
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"
就这样! 您的相机会从网络中的任意位置拍摄图像。
Step 8: 验证与测试
8.1 端到端测试
完整工作流验证:
| 测试项 | 操作 | 预期结果 | 状态 |
|---|---|---|---|
| 手动触发 | 点击注入按钮 | 图像已捕获并处理 | ☐ |
| HMI 模式激活 | 检查相机状态 | 相机切换到 HMI 模式 | ☐ |
| 检测执行 | 验证处理 | 调试输出显示检测结果 | ☐ |
| 外部触发 | 发送 MQTT 命令 | 远程触发工作正常 | ☐ |
8.2 性能验证
监控以下指标:
- 触发响应时间: 从 MQTT 消息到图像捕获
- 处理时长: 完成检测所需时间
- 结果传送: 调试输出时序
- 系统可靠性: 多次测试中的触发一致性
8.3 生产就绪
在部署到生产环境之前:
- 在实际部件与检测条件下进行测试
- 验证与外部系统的集成
- 确认 MQTT 通信的网络可靠性
- 记录触发主题 与消息格式
Step 9: 快速故障排除
不工作?以下是最常见的故障解决方法:
9.1 相机不拍摄图片
| 问题 | 快速解决方法 |
|---|---|
| 单击触发时无响应 | 检查在 "Take Picture" 节点中的配方编号是否正确 |
| 相机拍摄了图片但未进行检测 | 确保你的配方处于 Active 状态并具有经过训练的模型 |
| 触发有时有效 | 验证 Imaging Setup 中将触发设置为 Manual |
9.2 MQTT 问题
| 问题 | 快速解决方法 |
|---|---|
| MQTT 节点上的红点 | 检查你设置中的 MQTT broker 连接 |
| 部署按钮呈灰色 | 先在画布上任意单击,然后再尝试部署 |
| 节点无法连接 | 确保你是从右侧的小方块拖动连接的 |
仍然卡住? 请再次确认 MQTT 通信已正确设置(请参阅 MQTT 通信设置 指南)。
You Did It! 🎉
恭喜! 现在您已能远程控制您的 OV10i 摄像头。仅需几次点击,您就构建了一个可以:
- 在网络上的任意位置触发检测
- 在手机、平板、电脑等设备上工作——任何能够发送 MQTT 消息的设备
- 与其他系统集成,如 PLCs、传感器或自定义应用
- 通过使用不同的配方编号扩展到多台摄像头
What's Next?
现在您已有基础功能,可以这样继续:
Easy Next Steps
- 使用 MQTT 应用从不同设备进行测试
- 为不同的配方创建多个触发器
- 将此功能加入您的生产工作流程
Advanced Ideas
- 连接到 PLCs 以实现自动化生产线
- 构建可触发多台摄像头的自定义应用
- 添加结果转发 将检测数据发送到其他位置
- 创建带触发按钮的操作员仪表板
现实世界案例
以下是其他人如何使用 MQTT 触发:
- 质量控制站(Quality Control Stations): 操作员扫描条码,系统触发相机检测
- 传送线(Conveyor Lines): 传感器检测到部件,自动触发检验
- 手动检验(Manual Inspection): 带有简单“Inspect”按钮的平板供操作员使用
- 生产监控(Production Monitoring): 中央系统协调多台摄像头
可能性是无穷的 - 一切都始于你刚刚构建的简单系统!