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 頻道
- 開啟 Microsoft Teams 並導航至用於檢驗通知的頻道
- 點選頻道名稱旁的 三點圖示 (•••)
- 從下拉選單中選擇 “管理頻道”
1.2 新增 Incoming Webhook 聯結器
- 在頻道管理選單中單擊 “Connectors”(聯結器)
- 在聯結器列表中搜尋 “Incoming Webhook”(傳入 Webhook)
- 在 Incoming Webhook 選項旁邊點選 “Add”(新增)
1.3 配置 Webhook 設定
- 名稱(Name):輸入一個描述性名稱(例如“OV10i 檢驗警報”)
- 圖示(Icon):可選,上傳自定義圖示用於通知
- 點選 “Create” 以生成 Webhook
1.4 儲存 Webhook URL
- 複製生成的 Webhook URL——這對 Node-RED 設定至關重要
- 將 URL 儲存在安全的位置(在第 2 步會用到)
- 點選 “Done” 完成 Teams 設定
檢查點: 你現在應該擁有一個類似以下的 webhook URL:https://yourcompany.webhook.office.com/webhookb2/...
第 2 步:訪問 OV10i Node-RED
2.1 導航到 Node-RED
- 開啟您的 OV10i 網頁介面
- 轉到 配方編輯器,點選 配置 I/O,或從麵包屑導航中選擇 “IO Block”(IO 塊)
2.2 準備工作區
- 在 Node-RED 畫布上為你的 Teams 整合流程清出一個區域
- 識別左側的調色盤中可用的節點
- 規劃你的流程:觸發器 → 處理 → 傳送到 Teams
第 3 步:構建 Node-RED 流
3.1 新增所需節點
從調色盤將以下節點拖到你的畫布:
- Inject node(用於測試)
- Function node(用於格式化訊息)
- HTTP request node(用於傳送到 Teams)
- Debug node(可選,用於故障排除)
3.2 連線節點
- 將 Wire inject 的輸出連線到 function 的輸入
- 將 Wire function 的輸出連線到 HTTP request 的輸入
- 將 Wire HTTP request 的輸出連線到 debug 輸入(可選)
Flow structure:
Inject → Function → HTTP Request → Debug
第4步:配置 Function 節點
4.1 基本訊息配置
- Double-click the function node 以開啟配置
- 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 配置
- 點選 "Done" 以儲存函式節點
- 為節點起一個描述性名稱,如 "Format Teams Message"
第5步:配置 HTTP Request 節點
5.1 設定 HTTP 請求
- Double-click the HTTP request node 進行配置
- Set Method: 從下拉選單選擇 "POST"
- Set URL: 貼上來自步驟 1.4 的 Teams webhook URL
- Set Return: 選擇 "UTF-8 string"
5.2 附加設定
- Name: 為清晰起見輸入 "Send to Teams"
- Headers: 保留為空(由 function node 處理)
- Payload: 保持為 "Ignore"(由 function node 處理)
5.3 儲存 HTTP 配置
- 點選 "Done" 儲存 HTTP 請求節點
- Verify the webhook URL 是否正確 - 這對成功至關重要
第6步:測試您的整合
6.1 部署流程
- 點選右上角的 "Deploy" 按鈕
- 等待 "Successfully deployed" 確認
- 檢查節點上的錯誤指示器(紅色三角形)
6.2 使用 Inject Node 進行測試
- 點選注入節點左側的按鈕
- 檢查除錯面板(右側邊欄)是否有錯誤訊息
- 驗證訊息是否在您的 Teams 通道中顯示
6.3 驗證 Teams 通知
- 切換到 Microsoft Teams,並檢查目標頻道
- 查詢來自 OV10i 的測試訊息
- 測試任何可點選連結,以確保它們正常工作
第7步:與檢查流程的整合
7.1 連線檢查結果
要在每次檢查後傳送自動通知:
- 找到你的主檢查流程(通常以 All Block Outputs 開頭)
- 將 Teams 通知新增為主流程的分支
- 在檢查處理完成後但在最終結果之前進行連線
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
- 在每一步之後新增除錯節點,以跟蹤資料流
- 檢查除錯面板,檢視錯誤訊息和資料結構
- 使用 inject 節點進行測試,以排除配置問題
- 透過外部工具測試來驗證 webhook URL(如有需要)
8.3 網路連通性
- 確保 OV10i 能訪問網際網路(從相機執行 ping 測試)
- 檢查可能阻止出站 HTTPS 的防火牆設定
- 驗證 Teams webhook URL 的 DNS 解析
- 在與相機同一網路的瀏覽器上進行測試
成功!您的 Teams 整合已完成
您的 OV10i 相機現在可以:
✅ 傳送自動通知 到 Microsoft Teams 通道
✅ 包含可點選的圖片連結,以便立即檢視檢查結果
✅ 基於檢測結果篩選通知
✅ 提供帶檢測詳情和時間戳的豐富格式
✅ 支援針對不同通知型別的多個通道

下一步
完成 Teams 整合後:
- 為不同的檢查型別建立不同的通知通道
- 為關鍵故障設定升級工作流
- 與其他團隊工具整合(電子郵件、簡訊等)
- 構建儀表板,將 Teams 與其他監控工具結合
- 培訓您的團隊,瞭解如何對自動通知做出響應
Integration Builder 可以根據簡單的英文描述生成完整的 Teams 通知流程。描述你想要的內容(例如“當部件失敗時,將帶有影象的檢查結果釋出到 Teams 頻道”)並在幾秒鐘內獲得生產就緒的 Node-RED 流。