跳到主要內容

AI 驅動文件

您想了解什麼?

透過 MQTT 觸發

本教程演示如何使用簡單的 MQTT 訊息遠端觸發 OV10i 攝像機。只需幾個步驟,您就能擁有一個能夠在網路中任意位置捕獲並處理影象的系統——無需複雜程式設計!

將構建的內容: 透過在網路上傳送一條基本訊息來遠端啟動相機檢查的簡單遠端觸發器。

預計時長: 20-30 分鐘

難度等級: 初學者

實際示例: 想象在操作員平板上的按鈕能夠立即觸發攝像機對零件進行檢查——這正是我們正在構建的系統,只不過是使用 MQTT 訊息,而非按鈕。

先決條件

在開始之前,請確保您具備:

  • OV10i 攝像機已連線並正常工作
  • 已設定並就緒的配方(recipe)
  • MQTT 通訊已配置(如需要,請參閱 MQTT Communication Setup 指南)
備註

在 Imaging Setup 中將相機觸發設定為 Manual——這會告訴相機等待您的遠端命令,而不是自動拍攝。

為什麼透過 MQTT 觸發很簡單

OV10i 讓遠端觸發變得簡單:

  • 無需編碼 - 只需拖拽並連線少量節點
  • 即時生效 - 傳送訊息,立即獲得結果
  • 可靠訊息傳遞 - MQTT 確保您的命令到達相機
  • 任何裝置都可觸發 - 平板電腦、計算機、PLC 或感測器

非常適合: 遠端檢查控制、自動化生產線,或需要從其他位置觸發攝像機的任何場景。

第1步:快速攝像機檢查

1.1 將相機設定為 Manual 觸發

  1. 進入你的配方編輯器
  2. 點選“Imaging Setup”
  3. 找到 Trigger Mode 並將其設為 “Manual”
  4. 點選“儲存”

為什麼選擇 Manual? 這會讓相機等待您的命令,而不是自動拍照。

1.2 找到你的配方編號

  1. 在配方編輯器中檢視瀏覽器的位址列
  2. /recipe/ 之後找到數字(舉例:如果 URL 顯示 /recipe/10,你的配方編號是 10)
  3. 把這個數字寫下來 —— 幾分鐘後你會需要它

image.png

第2步:開啟 Flow Builder

2.1 進入 Node-RED

  1. 在你的配方編輯器中,點選 “Configure IO” 或在麵包屑選單中選擇 “IO Block”

2.2 全新開始

如果畫布上有其他節點,也沒關係 —— 我們將把新的觸發流與它們並排新增。

讓我們開始!

第3步:MQTT 觸發的簡單秘訣

以下是你需要了解的一切:相機需要兩條簡短訊息即可遠端拍照。

  1. 第一條訊息:“Hey camera, get ready for a remote command”
  2. 第二條訊息:“Now take a picture!”

3.1 將這 5 個節點拖入畫布

從左側面板拖拽到主區域:

  1. Inject(來自 Input 部分)—— 這將是你的“觸發按鈕”
  2. Change(來自 Function 部分)—— 用於訊息 1
  3. Delay(來自 Function 部分)—— 訊息之間的微小延時
  4. Change(來自 Function 部分)—— 用於訊息 2
  5. MQTT Out(來自 Network 部分)—— 將訊息傳送至相機

image.png

第4步:配置節點

4.1 設定觸發按鈕

  1. 雙擊 Inject 節點
  2. 將名稱改為 "Remote Trigger"
  3. 點選 "Done"

4.2 設定訊息 1 (Get Ready Command)

  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 (Take Picture Command)

  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 broker(應已配置)
  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 檢視結果

前往 Library 頁面 - 你應該看到帶有最近時間戳的新影象。點選它檢視檢測結果!

如果成功: 恭喜!你剛剛遠端觸發了相機。

如果沒有成功: 請檢視下方的故障排除部分。

第7步:從其他裝置使用(可選)

想要從手機、平板或另一臺計算機觸發? 操作如下:

7.1 透過任意 MQTT App

下載任意 MQTT 應用並連線到攝像頭的 IP 地址,埠為 1883,然後:

  1. 傳送第一條訊息:
    • Topic: stream_mode/set
    • Message: HMI_MODE
  2. 稍等片刻後傳送第二條訊息:
    • Topic: hmi/[YOUR_RECIPE_NUMBER]/capture_mode
    • Message: 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"

就這些! 您的相機將從網路中的任意位置拍照。

Step 8: 驗證與測試

8.1 端到端測試

完整工作流驗證:

測試操作預期結果狀態
手動觸發點選注入按鈕影象已捕獲並處理
HMI 模式啟用檢查相機狀態相機切換到 HMI 模式
檢測執行驗證處理除錯顯示檢測結果
外部觸發傳送 MQTT 命令遠端觸發工作正常

8.2 效能驗證

監控這些指標:

  • 觸發響應時間: 從 MQTT 訊息到影象捕獲
  • 處理時長: 完成檢測所需時間
  • 結果傳送: 除錯輸出時序
  • 系統可靠性: 在多次測試中的一致觸發

8.3 生產就緒

在投產前:

  1. 使用實際零件 和檢測條件進行測試
  2. 驗證與外部系統的整合
  3. 確保 MQTT 通訊的網路可靠性
  4. 記錄觸發話題 與訊息格式

Step 9: 快速故障排除

不起作用?以下是最常見的解決方法:

9.1 相機不拍照

問題快速修復
點選觸發時無反應請在“Take Picture”節點中檢查配方編號是否正確
相機拍照但未執行檢測確保配方處於啟用狀態並且有訓練好的模型
觸發有時有效請在成像設定中將觸發設定為 Manual

9.2 MQTT 問題

問題快速修復
MQTT 節點上的紅點在您的設定中檢查 MQTT broker 連線
Deploy 按鈕不可用/灰顯請先在畫布上任意點選,然後再嘗試 Deploy
節點無法連線請確保從右側的小方塊開始拖動
備註

仍然卡住? 請再次確認 MQTT 通訊設定正確(請參閱 MQTT 通訊設定 指南)。

成功完成!🎉

恭喜! 現在您可以對 OV10i 相機進行遠端控制。僅需幾次點選,您就構建了一個能夠實現以下功能的系統:

  • 從網路中的任意位置觸發檢測
  • 支援手機、平板、計算機等裝置——任何能夠傳送 MQTT 訊息的裝置
  • 與其他系統整合,如 PLC、感測器,或自定義應用程式
  • 透過使用不同的配方編號實現對多臺相機的擴充套件

下一步?

現在基礎功能已就緒,您可以:

簡單的後續步驟

  • 使用 MQTT 應用在不同裝置上測試
  • 為不同配方建立多個觸發器
  • 將此新增到您的生產工作流程

高階想法

  • 連線到 PLCs,以實現自動化生產線
  • 構建觸發多臺相機的自定義應用
  • 新增結果轉發,將檢測資料傳送到其他位置
  • 建立帶觸發按鈕的操作員儀表板

實際應用示例

以下是其他人如何使用 MQTT 觸發:

  • Quality Control Stations: 操作員掃描條碼,系統觸發相機巡檢
  • Conveyor Lines: 感測器檢測到部件後,自動觸發檢測
  • Manual Inspection: 操作員使用帶有簡單 "Inspect" 按鈕的平板
  • Production Monitoring: 中央系統協調多臺相機

The possibilities are endless - 這一切都始於你剛剛搭建的簡單系統!

🔗 相關連結