跳到主要內容

AI 驅動文件

您想了解什麼?

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

本教程演示如何將來自 OV10i 相機的檢驗通知直接傳送到 Microsoft Teams 頻道。您將學習設定包含檢驗結果和可點選影象連結的自動通知,使您的團隊能夠即時掌握生產狀態。

您將構建的內容: 一個自動化系統,將 OV10i 的檢驗結果(包括圖片和透過/不透過狀態)直接釋出到 Microsoft Teams 頻道。

實際應用場景: 當檢驗失敗時立即通知、與遠端團隊分享檢驗影象,或在您的團隊協作空間中建立自動化的質量報告。

跳過手動設定

用簡單英文描述您需要的 Teams 通知,Auto-Integration Builder 將在幾秒鐘內為您生成一個完整的 Node-RED 流程。

前提條件

  • OV10i 相機已連線至工廠網路
  • 具備新增聯結器許可權的 Microsoft Teams 訪問許可權
  • 要接收通知的 Teams 頻道
  • OV10i 與 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 新增 Incoming Webhook 聯結器

  1. 在頻道管理選單中單擊 “Connectors”(聯結器)
  2. 在聯結器列表中搜尋 “Incoming Webhook”(傳入 Webhook)
  3. 在 Incoming Webhook 選項旁邊點選 “Add”(新增)

1.3 配置 Webhook 設定

  1. 名稱(Name):輸入一個描述性名稱(例如“OV10i 檢驗警報”)
  2. 圖示(Icon):可選,上傳自定義圖示用於通知
  3. 點選 “Create” 以生成 Webhook

1.4 儲存 Webhook URL

  1. 複製生成的 Webhook URL——這對 Node-RED 設定至關重要
  2. 將 URL 儲存在安全的位置(在第 2 步會用到)
  3. 點選 “Done” 完成 Teams 設定

檢查點: 你現在應該擁有一個類似以下的 webhook URL:https://yourcompany.webhook.office.com/webhookb2/...

第 2 步:訪問 OV10i Node-RED

2.1 導航到 Node-RED

  1. 開啟您的 OV10i 網頁介面
  2. 轉到 配方編輯器,點選 配置 I/O,或從麵包屑導航中選擇 “IO Block”(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. Wire inject 的輸出連線到 function 的輸入
  2. Wire function 的輸出連線到 HTTP request 的輸入
  3. Wire HTTP request 的輸出連線到 debug 輸入(可選)

Flow structure:

Inject → Function → HTTP Request → Debug

第4步:配置 Function 節點

4.1 基本訊息配置

  1. Double-click the function node 以開啟配置
  2. Replace the default code 使用以下基本訊息格式替換預設程式碼:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

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

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 儲存 Function 配置

  1. 點選 "Done" 以儲存函式節點
  2. 為節點起一個描述性名稱,如 "Format Teams Message"

第5步:配置 HTTP Request 節點

5.1 設定 HTTP 請求

  1. Double-click the HTTP request node 進行配置
  2. Set Method: 從下拉選單選擇 "POST"
  3. Set URL: 貼上來自步驟 1.4 的 Teams webhook URL
  4. Set Return: 選擇 "UTF-8 string"

5.2 附加設定

  • Name: 為清晰起見輸入 "Send to Teams"
  • Headers: 保留為空(由 function node 處理)
  • Payload: 保持為 "Ignore"(由 function node 處理)

5.3 儲存 HTTP 配置

  1. 點選 "Done" 儲存 HTTP 請求節點
  2. Verify the webhook URL 是否正確 - 這對成功至關重要

第6步:測試您的整合

6.1 部署流程

  1. 點選右上角的 "Deploy" 按鈕
  2. 等待 "Successfully deployed" 確認
  3. 檢查節點上的錯誤指示器(紅色三角形)

6.2 使用 Inject Node 進行測試

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

6.3 驗證 Teams 通知

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

第7步:與檢查流程的整合

7.1 連線檢查結果

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

  1. 找到你的主檢查流程(通常以 All Block Outputs 開頭)
  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 常見問題

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

8.2 除錯您的 Flow

  1. 在每一步之後新增除錯節點,以跟蹤資料流
  2. 檢查除錯面板,檢視錯誤訊息和資料結構
  3. 使用 inject 節點進行測試,以排除配置問題
  4. 透過外部工具測試來驗證 webhook URL(如有需要)

8.3 網路連通性

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

成功!您的 Teams 整合已完成

您的 OV10i 相機現在可以:

傳送自動通知 到 Microsoft Teams 通道

包含可點選的圖片連結,以便立即檢視檢查結果

基於檢測結果篩選通知

提供帶檢測詳情和時間戳的豐富格式

支援針對不同通知型別的多個通道

image.png

下一步

完成 Teams 整合後:

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

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

🔗 相關連結