跳到主要內容

AI 驅動文件

您想了解什麼?

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

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

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

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

先決條件

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

教程概述

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

所需時間: 15-20 分鐘

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

第一步:設定 Microsoft Teams Webhook

1.1 訪問您的 Teams 頻道

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

1.2 新增傳入 Webhook 聯結器

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

1.3 配置 Webhook 設定

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

1.4 儲存 Webhook URL

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

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

第二步:訪問 OV20i Node-RED

2.1 導航到 Node-RED

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

2.2 準備您的工作區

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

第三步:構建 Node-RED 流程

3.1 新增所需節點

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

  1. 注入節點(用於測試)
  2. 功能節點(用於格式化訊息)
  3. HTTP 請求節點(傳送到 Teams)
  4. 除錯節點(可選,用於故障排除)

3.2 連線節點

  1. 將注入 輸出連線到 功能 輸入
  2. 將功能 輸出連線到 HTTP 請求 輸入
  3. 將 HTTP 請求 輸出連線到 除錯 輸入(可選)

流程結構:

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 OV20i"
};

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. 查詢來自您的 OV20i 的測試訊息
  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. 確保 OV20i 可以訪問網際網路 (從相機進行 ping 測試)
  2. 檢查可能阻止出站 HTTPS 的防火牆設定
  3. 驗證 Teams webhook URL 的 DNS 解析
  4. 在與相機相同的網路上從瀏覽器測試

成功!您的 Teams 整合已完成

您的 OV20i 相機現在可以:

向 Microsoft Teams 頻道傳送自動通知

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

根據檢查結果過濾通知

提供豐富的格式,包括檢查細節和時間戳

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

最佳實踐

訊息管理

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

安全考慮

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

效能最佳化

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

image.png

下一步

設定 Teams 整合後:

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

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

🔗 另請參閱