跳到主要內容

AI 驅動文件

您想了解什麼?

使用 Node-RED 向 Microsoft Teams 傳送訊息

本教程將向您展示如何直接從 OV80i 相機向 Microsoft Teams 頻道傳送檢查通知。您將學習如何設定自動警報,包括檢查結果和可點選的影象連結,讓您的團隊即時瞭解生產狀態。

您將構建的內容: 一個自動化系統,將 OV80i 檢查結果(包括影象和合格/不合格狀態)直接釋出到 Microsoft Teams 頻道。

實際應用: 當檢查失敗時立即獲得通知,與遠端團隊共享檢查影象,或在團隊協作空間中建立自動化質量報告。

先決條件

  • 連線到您工廠網路的 OV80i 相機
  • 具有新增聯結器許可權的 Microsoft Teams 訪問許可權
  • 您希望接收通知的 Teams 頻道
  • OV80i 與 Microsoft Teams 之間的網路連線
  • 對 Node-RED 流程的基本理解

教程概述

我們將構建的內容: 一個 Node-RED 流程,自動將檢查結果傳送到 Microsoft Teams,並附帶可點選的影象連結。

所需時間: 15-20 分鐘

學習技能: Teams webhook 整合、Node-RED HTTP 請求、自動化通知系統

第 1 步:設定 Microsoft Teams Webhook

1.1 訪問您的 Teams 頻道

  1. 開啟 Microsoft Teams,導航到檢查通知的頻道
  2. 點選頻道名稱旁邊的 三個點 (•••)
  3. 從下拉選單中選擇 "管理頻道"

1.2 新增傳入 Webhook 聯結器

  1. 在頻道管理選單中點選 "聯結器"
  2. 在聯結器列表中 搜尋 "傳入 Webhook"
  3. 點選傳入 Webhook 選項旁邊的 "新增"

1.3 配置 Webhook 設定

  1. 名稱:輸入描述性名稱(例如,“OV80i 檢查警報”)
  2. 圖示:可選地上傳自定義圖示以用於您的通知
  3. 點選 "建立" 以生成 webhook

1.4 儲存 Webhook URL

  1. 複製生成的 webhook URL - 這對 Node-RED 設定至關重要
  2. 將 URL 儲存 在安全的位置(您將在第 2 步中需要它)
  3. 點選 "完成" 以完成 Teams 設定

檢查點: 您現在應該擁有一個看起來像這樣的 webhook URL:https://yourcompany.webhook.office.com/webhookb2/...

第 2 步:訪問 OV80i Node-RED

2.1 導航到 Node-RED

  1. 開啟您的 OV80i 網頁介面
  2. 轉到 配方編輯器 並點選 配置 I/O 或從麵包屑選單中選擇 "IO 塊"

2.2 準備您的工作區

  1. 在 Node-RED 畫布中 清理一個區域 用於您的 Teams 整合流程
  2. 識別左側的調色盤,檢視可用節點
  3. 規劃您的流程:觸發 → 處理 → 傳送到 Teams

第 3 步:構建 Node-RED 流程

3.1 新增所需節點

從調色盤中將以下節點拖到畫布上:

  1. Inject node(用於測試)
  2. Function node(格式化訊息)
  3. HTTP request node(傳送到 Teams)
  4. Debug node(可選,用於故障排除)

3.2 連線節點

  1. 將 inject 輸出連線到 function 輸入
  2. 將 function 輸出連線到 HTTP request 輸入
  3. 將 HTTP request 輸出連線到 debug 輸入(可選)

流程結構:

Inject → Function → HTTP Request → Debug

第 4 步:配置功能節點

4.1 基本訊息配置

  1. 雙擊功能節點以開啟配置
  2. 用以下基本訊息格式替換預設程式碼
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: "You got a new message from your OV80i"
};

return msg;

4.2 帶影象連結的高階訊息

用於動態檢查結果和可點選影象:

// Dynamic message with inspection image
let imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `Inspection Complete - [View Image](${imageUrl})`
};

return msg;

4.3 完整檢查通知

用於完整的檢查詳情:

// Complete inspection notification
const inspectionData = msg.payload;
const imageUrl = inspectionData.image_url;
const result = inspectionData.result ? "PASS" : "FAIL";
const timestamp = new Date().toLocaleString();

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `🔍 **Inspection ${result}** - ${timestamp}\n\n[View Image](${imageUrl})`
};

return msg;

4.4 儲存功能配置

  1. 點選 "完成" 以儲存功能節點
  2. 給節點一個描述性名稱,例如 "格式化 Teams 訊息"

第 5 步:配置 HTTP 請求節點

5.1 設定 HTTP 請求

  1. 雙擊 HTTP 請求節點以進行配置
  2. 設定方法:從下拉選單中選擇 "POST"
  3. 設定 URL:貼上您在第 1.4 步中獲得的 Teams webhook URL
  4. 設定返回:選擇 "UTF-8 字串"

5.2 其他設定

  • 名稱:輸入 "傳送到 Teams" 以便於理解
  • 頭部:保持為空(由功能節點處理)
  • 有效載荷:保持為 "忽略"(由功能節點處理)

5.3 儲存 HTTP 配置

  1. 點選 "完成" 以儲存 HTTP 請求節點
  2. 驗證 webhook URL 是否正確 - 這對成功至關重要

第 6 步:測試您的整合

6.1 部署流程

  1. 點選右上角的 "部署" 按鈕
  2. 等待 "成功部署" 確認
  3. 檢查節點上的任何錯誤指示器(紅色三角形)

6.2 使用注入節點進行測試

  1. 點選注入節點左側的按鈕
  2. 檢查除錯面板(右側邊欄)是否有任何錯誤訊息
  3. 驗證訊息是否出現在您的 Teams 頻道中

6.3 驗證 Teams 通知

  1. 切換到 Microsoft Teams 並檢查您的目標頻道
  2. 查詢來自 OV80i 的測試訊息
  3. 測試任何可點選連結 以確保它們正常工作

第 7 步:與檢查流程整合

7.1 連線到檢查結果

要在每次檢查後傳送自動通知:

  1. 找到您的主要檢查流程(通常以 "所有塊輸出" 開頭)
  2. 將您的 Teams 通知 作為主流程的一個分支新增
  3. 在檢查處理後連線,但在最終結果之前

7.2 示例整合流程

All Block Outputs → [Inspection Logic] → Final Pass/Fail

Format Teams Message → Send to Teams

7.3 過濾通知(可選)

僅在檢查失敗時傳送通知:

// Only send notifications for failures
const inspectionResult = msg.payload.result;

if (!inspectionResult) { // Only if inspection failed
const imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `⚠️ **INSPECTION FAILED** - Immediate attention required\n\n[View Failed Image](${imageUrl})`
};

return msg;
} else {
return null; // Don't send message for passing inspections
}

第 8 步:故障排除

8.1 常見問題

問題症狀解決方案
Teams 中沒有訊息除錯顯示成功但沒有 Teams 通知檢查 webhook URL,驗證網路連線
HTTP 錯誤 400除錯中的錯誤請求檢查訊息格式,確保 Content-Type 頭
影象連結無法開啟訊息出現但影象無法開啟驗證影象 URL 是否可從 Teams 使用者的網路訪問
流程未觸發預期時沒有除錯輸出檢查流程連線,驗證觸發條件

8.2 除錯您的流程

  1. 在每個步驟後新增除錯節點 以跟蹤資料流
  2. 檢查除錯面板 以獲取錯誤訊息和資料結構
  3. 使用注入節點進行測試 以隔離配置問題
  4. 透過外部工具測試 webhook URL 以進行驗證(如有需要)

8.3 網路連線性

  1. 確保 OV80i 可以訪問網際網路(從相機進行 ping 測試)
  2. 檢查可能阻止出站 HTTPS 的防火牆設定
  3. 驗證 Teams webhook URL 的 DNS 解析
  4. 在與相機相同的網路上從瀏覽器測試

成功!您的 Teams 整合已完成

您的 OV80i 相機現在可以:

向 Microsoft Teams 頻道傳送自動通知

包含可點選的影象連結 以便立即檢查

根據檢查結果過濾通知

提供豐富的格式 以及檢查詳細資訊和時間戳

支援多個頻道 用於不同型別的通知

最佳實踐

訊息管理

  • 為不同型別的通知使用描述性頻道名稱
  • 在訊息中包含時間戳 和站點識別符號
  • 過濾訊息 以避免通知過載
  • 在生產部署前進行徹底測試

安全注意事項

  • 保護 webhook URL - 將其視為敏感憑據
  • 對所有通訊使用 HTTPS(與 Teams 預設設定一致)
  • 限制網路訪問 僅限必要服務
  • 定期輪換 webhook URL 以防洩露

效能最佳化

  • 批次傳送通知 如果傳送多條訊息
  • 對網路故障使用適當的重試邏輯
  • 監控訊息傳遞 成功率
  • 實施速率限制 以避免 Teams API 限制

image.png

下一步

設定 Teams 整合後:

  1. 為各種檢查型別建立不同的通知頻道
  2. 為關鍵故障設定升級工作流程
  3. 與其他團隊工具整合(電子郵件、簡訊等)
  4. 構建儀表板 將 Teams 與其他監控工具結合
  5. 培訓您的團隊 以響應自動通知
跳過手動設定

整合構建器 可以根據簡單的英文描述生成完整的 Teams 通知流程。描述您想要的內容(例如,“在零件失敗時將檢查結果和影象釋出到 Teams 頻道”),並在幾秒鐘內獲得可投入生產的 Node-RED 流程。

🔗 另請參見