跳到主要內容

AI 驅動文件

您想了解什麼?

透過 Node-RED 使用 HTTP 更改程式

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

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

預計時間: 15-20 分鐘

技能水平: 初級

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

為什麼透過 HTTP 更改程式讓工作變得簡單​

OV80i 讓遠端程式切換變得簡單:

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

適用於: 多產品生產線、操作員控制面板、自動化系統,或任何需要快速更改程式的場景。

先決條件​

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

  • OV80i 攝像頭已連線並正常工作
  • 已建立至少 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"
備註

v18.92 之前的版本:使用 http://[CAMERA_IP]/edge/pipeline/activate v18.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://10.250.0.100:5001/pipeline/activate

備註

替換為您相機的 IP 地址。

6.2 從命令列​

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

curl -X POST http://10.250.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 訪問。

您做到了!​

恭喜! 您現在擁有了對 OV80i 相機的遠端程式控制。只需點選幾下,您就構建了一個能夠實現以下功能的系統:

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

接下來是什麼?​

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

簡單的後續步驟​

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

高階想法​

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

實際應用示例​

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

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

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

🔗 另請參閱​