跳到主要內容

AI 驅動文件

您想了解什麼?

透過 Node-RED 使用 HTTP 切換程式

本教程將向您展示如何使用簡單的 HTTP 請求遠端切換 OV20i 攝像頭上的程式。您將構建一個系統,使網路上的任何裝置都能即時在不同的檢測設定之間切換 - 非常適合多產品的生產線。

您將構建什麼: 一個遠端程式切換系統,可響應來自平板電腦、計算機、PLC 或任何可傳送 Web 請求的裝置的 HTTP 命令。

預計用時: 15-20 分鐘

技能等級: 初級

實際示例: 想象一下,操作員在平板電腦上掃描條形碼,攝像頭就會自動切換到該產品對應的程式 - 這正是我們要構建的!

為什麼 HTTP 程式切換讓工作更輕鬆​

OV20i 使遠端程式切換變得簡單:

  • 任何裝置都能觸發 - 平板電腦、PLC、計算機,甚至智慧手機
  • 即時切換 - 程式切換時間不到一秒
  • 無需複雜設定 - 只需在 Node-RED 中新增幾個節點
  • 相容現有系統 - 與您已有的系統整合

非常適合: 多產品生產線、操作員控制面板、自動化系統,或任何需要快速切換程式的場景。

先決條件​

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

  • OV20i 攝像頭已連線並正常工作
  • 至少已建立 2 個程式並可供使用
  • Node-RED 訪問許可權(透過 IO模組)
備註

您需要 程式 ID 編號 - 可以在編輯程式時在瀏覽器位址列中找到。

第一步:查詢您的程式編號​

1.1 獲取程式 ID​

  1. 在程式編輯器中開啟任意程式
  2. 檢視瀏覽器位址列
  3. 找到 /recipe/ 之後的數字(例如:/recipe/15 表示程式 ID 為 15)
  4. 記下 您想要切換的所有程式的 ID

為什麼是這些數字? 每個程式都有一個永不更改的唯一 ID - 這是攝像頭內部使用的識別符號。

第二步:開啟 Node-RED​

2.1 進入流程構建器​

  1. 在任意程式編輯器中,點選 "IO模組"
  2. 點選 "Configure IO"

您現在進入了 Node-RED,我們將在這裡構建您的程式切換系統!

2.2 規劃您的設定​

我們要構建的內容如下:

Button Click → Format Request → Send to Camera → See Result

很簡單! 攝像頭內建了一個 Web 伺服器,用於監聽程式切換請求。

第三步:構建您的程式切換器​

3.1 新增基本節點​

將以下 4 個節點拖到畫布上:

  1. Inject(在 Input 部分)- 您的"切換程式"按鈕
  2. Function(在 Function 部分)- 正確格式化請求
  3. HTTP Request(在 Network 部分)- 向攝像頭髮送命令
  4. Debug(在 Output 部分)- 顯示是否成功

3.2 連線節點​

像這樣將它們連線起來:

Inject → Function → HTTP Request → Debug

很簡單! 現在讓我們配置每個節點。

第四步:配置節點​

4.1 設定您的程式按鈕​

  1. 雙擊 Inject 節點
  2. 將名稱更改為 "Switch to Recipe 15"(使用您實際的程式 ID)
  3. 將 Payload 設定為 "15"(您的程式 ID 編號)
  4. 點選 "Done"

4.2 設定請求格式化器​

  1. 雙擊 Function 節點
  2. 將其命名為 "Format Request"
  3. 複製此簡單程式碼:
// Get recipe number from button
let recipeID = msg.payload;

// Set up the web request
msg.headers = {'Content-Type': 'application/json'};
msg.payload = JSON.stringify({ id: recipeID });

return msg;

  1. 點選 "Done"

此操作的作用: 獲取您的程式編號並按相機期望的方式進行打包。

4.3 設定 HTTP 請求​

  1. 雙擊 HTTP Request 節點
  2. 將 Method 設定為 "POST"
  3. 將 URL 設定為 localhost:5001/pipeline/activate
  4. 將其命名為 "Change Recipe"
  5. 點選 "Done"
備註

18.92 版本之前:使用 http://[CAMERA_IP]/edge/pipeline/activate 18.92 版本及之後:使用 http://localhost:5001/pipeline/activate

4.4 設定響應監視器​

  1. 雙擊 Debug 節點
  2. 將其命名為 "Recipe Change Result"
  3. 點選 "Done"

完美! 您的程式切換器已準備好進行測試。

第五步:測試您的程式切換器​

5.1 部署並試用​

  1. 點選紅色 "Deploy" 按鈕
  2. 點選您的 inject 按鈕 (Switch to Recipe 15)
  3. 檢視除錯面板 中的響應

5.2 檢查是否成功​

成功的標誌:

  • 除錯顯示 "success": true
  • 相機介面顯示新的程式名稱
  • 除錯面板中沒有錯誤訊息

如果成功: 恭喜!您剛剛遠端切換了程式。

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

5.3 新增更多程式按鈕​

想要多個程式? 只需新增更多 inject 節點:

  • Recipe 10 按鈕: Payload = "10",Name = "Switch to Recipe 10"
  • Recipe 23 按鈕: Payload = "23",Name = "Switch to Recipe 23"
  • 全部連線到同一個 Function 節點

第六步:從其他裝置使用​

現在是有趣的部分! 任何裝置都可以透過向您的相機傳送 Web 請求來更改程式。

6.1 從任何 Web 瀏覽器​

在您網路上的任何瀏覽器中輸入:

http://192.168.0.100:5001/pipeline/activate

備註

替換為您相機的 IP 地址。

6.2 從命令列​

Windows/Mac/Linux - 切換到程式 15:

curl -X POST http://192.168.0.100:5001/pipeline/activate \
-H "Content-Type: application/json" \
-d '{"id": "15"}'

6.3 從 PLC 和其他系統​

大多數現代系統都可以傳送 HTTP 請求:

  • Siemens PLC: 使用 HTTP 客戶端模組
  • Allen-Bradley: 使用 HTTP 指令模組
  • Python/C#/Java: 使用標準 HTTP 庫
  • 自定義應用: 任何程式語言均可

請求格式始終相同:

  • Method: POST
  • URL: http://[CAMERA_IP]:5001/pipeline/activate
  • Body: {"id": "RECIPE_NUMBER"}

第七步:讓它變得更好​

7.1 新增程式驗證​

想要防止切換到不存在的程式? 修改您的函式:

let recipeID = msg.payload;
let validRecipes = ["10", "15", "20"]; // Your actual recipe IDs

if (!validRecipes.includes(recipeID)) {
msg.payload = "Invalid recipe: " + recipeID;
return null; // Don't send request
}

// Normal formatting continues...

7.2 產品程式碼對映​

希望使用產品名稱而不是數字? 試試這個:

let productCodes = {
"BOLT_A": "10",
"BOLT_B": "15",
"SCREW_C": "20"
};

let recipeID = productCodes[msg.payload];
// Continue with formatting...

現在您可以使用產品名稱而不是數字來觸發了!

7.3 響應處理​

希望獲得更好的成功/錯誤訊息? 在 HTTP Request 之後新增另一個 function:

let response = JSON.parse(msg.payload);

if (response.success) {
msg.payload = "✓ Recipe changed successfully!";
} else {
msg.payload = "✗ Recipe change failed: " + response.error;
}

return msg;

第 8 步:快速故障排除​

無法正常工作?以下是最常見的修復方法:

問題快速修復
"Recipe not found" 錯誤仔細檢查 URL 中的程式 ID 編號
完全沒有響應驗證相機 IP 地址和網路連線
"Parse error" 訊息檢查 Function 節點程式碼是否正確複製
程式實際上沒有改變確保程式存在且未損壞

仍然卡住? 檢查您的相機是否線上並可從 Node-RED 訪問。

您做到了!​

恭喜! 您現在已經實現了對 OV20i 相機的遠端程式控制。只需點選幾下,您就構建了一個可以執行以下操作的系統:

  • 即時切換程式,從網路上的任何裝置操作
  • 與現有系統整合,如 PLC、平板電腦或計算機
  • 支援多個程式,透過簡單的按鈕點選
  • 驗證請求,防止錯誤
  • 使用標準 Web 技術與自定義應用程式協同工作

接下來是什麼?​

現在您已經掌握了基礎知識,您可以:

簡單的後續步驟​

  • 為所有產品新增更多程式按鈕
  • 從不同裝置測試,如平板電腦或手機
  • 建立自定義產品對映,以便更輕鬆地操作

進階創意​

  • 構建操作員儀表板,帶有程式選擇按鈕
  • 連線到條碼掃描器,實現自動程式選擇
  • 與 MES 系統整合,用於生產線協調
  • 新增日誌記錄,追蹤哪些程式在何時被使用

實際應用示例​

以下是其他人如何使用 HTTP 程式切換:

  • 食品包裝: 條碼掃描器觸發程式更改,適應不同的包裝尺寸
  • 汽車行業: PLC 根據生產線上的零件型別切換程式
  • 電子行業: 操作員平板電腦上帶有不同電路板的程式按鈕
  • 質量控制: 根據生產計劃自動切換程式

可能性無窮無盡 - 一切都始於您剛剛構建的這個簡單系統!

🔗 另請參閱​