AI-POWERED DOCS
What do you want to know?
Gửi Tin Nhắn đến Microsoft Teams với Node-RED
Hướng dẫn này chỉ cho bạn cách gửi thông báo kiểm tra từ camera OV20i trực tiếp đến kênh Microsoft Teams. Bạn sẽ học cách thiết lập cảnh báo tự động bao gồm kết quả kiểm tra và liên kết hình ảnh có thể nhấp vào, giúp nhóm của bạn được thông báo ngay lập tức về trạng thái sản xuất.
Những Gì Bạn Sẽ Xây Dựng: Một hệ thống tự động đăng kết quả kiểm tra OV20i, bao gồm hình ảnh và trạng thái pass/fail, trực tiếp vào kênh Microsoft Teams.
Ứng Dụng Thực Tế: Nhận thông báo ngay lập tức khi kiểm tra thất bại, chia sẻ hình ảnh kiểm tra với các nhóm từ xa, hoặc tạo báo cáo chất lượng tự động trong không gian cộng tác của nhóm.
Điều Kiện Tiên Quyết
- Camera OV20i kết nối với mạng nhà máy của bạn
- Quyền truy cập Microsoft Teams với quyền thêm connector
- Kênh Teams nơi bạn muốn nhận thông báo
- Kết nối mạng giữa OV20i và Microsoft Teams
- Hiểu biết cơ bản về các flow Node-RED
Tổng Quan Hướng Dẫn
Những gì chúng ta sẽ xây dựng: Một flow Node-RED tự động gửi kết quả kiểm tra đến Microsoft Teams với các liên kết hình ảnh có thể nhấp vào.
Thời gian cần thiết: 15-20 phút
Kỹ năng học được: Tích hợp webhook Teams, HTTP request trong Node-RED, hệ thống thông báo tự động
Bước 1: Thiết Lập Webhook Microsoft Teams
1.1 Truy Cập Kênh Teams Của Bạn
- Mở Microsoft Teams và điều hướng đến kênh dùng cho thông báo kiểm tra
- Nhấp vào ba chấm (•••) bên cạnh tên kênh
- Chọn "Manage channel" từ menu thả xuống
1.2 Thêm Incoming Webhook Connector
- Nhấp "Connectors" trong menu quản lý kênh
- Tìm kiếm "Incoming Webhook" trong danh sách connector
- Nhấp "Add" bên cạnh tùy chọn Incoming Webhook
1.3 Cấu Hình Cài Đặt Webhook
- Name: Nhập tên mô tả (ví dụ: "OV20i Inspection Alerts")
- Icon: Tùy chọn tải lên biểu tượng tùy chỉnh cho thông báo của bạn
- Nhấp "Create" để tạo webhook
1.4 Lưu URL Webhook
- Sao chép URL webhook đã tạo - điều này rất quan trọng cho việc thiết lập Node-RED
- Lưu URL ở nơi an toàn (bạn sẽ cần nó trong Bước 2)
- Nhấp "Done" để hoàn tất thiết lập Teams
Điểm Kiểm Tra: Bây giờ bạn nên có một URL webhook trông giống như: https://yourcompany.webhook.office.com/webhookb2/...
Bước 2: Truy Cập Node-RED trên OV20i
2.1 Điều Hướng đến Node-RED
- Mở giao diện web OV20i của bạn
- Đi đến Recipe Editor và nhấp Configure I/O hoặc chọn "IO Block" từ menu breadcrumb
2.2 Chuẩn Bị Không Gian Làm Việc
- Dọn sạch một khu vực trong canvas Node-RED cho flow tích hợp Teams của bạn
- Xác định palette ở phía bên trái với các node có sẵn
- Lập kế hoạch flow của bạn: Trigger → Process → Send to Teams
Bước 3: Xây Dựng Flow Node-RED
3.1 Thêm Các Node Cần Thiết
Kéo các node này từ palette vào canvas của bạn:
- Inject node (để kiểm tra)
- Function node (để định dạng tin nhắn)
- HTTP request node (để gửi đến Teams)
- Debug node (tùy chọn, để khắc phục sự cố)
3.2 Kết Nối Các Node
- Nối đầu ra inject với đầu vào function
- Nối đầu ra function với đầu vào HTTP request
- Nối đầu ra HTTP request với đầu vào debug (tùy chọn)
Cấu trúc flow:
Inject → Function → HTTP Request → Debug
Bước 4: Cấu Hình Function Node
4.1 Cấu Hình Tin Nhắn Cơ Bản
- Nhấp đúp vào function node để mở cấu hình
- Thay thế mã mặc định bằng định dạng tin nhắn cơ bản này:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};
msg.payload = {
text: "You got a new message from your OV20i"
};
return msg;
4.2 Tin Nhắn Nâng Cao Với Liên Kết Hình Ảnh
Dành cho kết quả kiểm tra động với hình ảnh có thể nhấp vào:
// 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 Thông Báo Kiểm Tra Đầy Đủ
Dành cho chi tiết kiểm tra đầy đủ:
// 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 Lưu Cấu Hình Function
- Nhấp "Done" để lưu function node
- Đặt tên mô tả cho node như "Format Teams Message"
Bước 5: Cấu Hình HTTP Request Node
5.1 Thiết Lập HTTP Request
- Nhấp đúp vào HTTP request node để cấu hình
- Đặt Method: Chọn "POST" từ menu thả xuống
- Đặt URL: Dán Teams webhook URL của bạn từ Bước 1.4
- Đặt Return: Chọn "UTF-8 string"
5.2 Cài Đặt Bổ Sung
- Name: Nhập "Send to Teams" để dễ nhận biết
- Headers: Để trống (được xử lý bởi function node)
- Payload: Để nguyên "Ignore" (được xử lý bởi function node)
5.3 Lưu Cấu Hình HTTP
- Nhấp "Done" để lưu HTTP request node
- Xác minh webhook URL chính xác - điều này rất quan trọng để thành công
Bước 6: Kiểm Tra Tích Hợp
6.1 Triển Khai Flow
- Nhấp nút "Deploy" ở góc trên bên phải
- Chờ xác nhận "Successfully deployed"
- Kiểm tra các chỉ báo lỗi trên các node (tam giác đỏ)
6.2 Kiểm Tra Với Inject Node
- Nhấp vào nút ở bên trái của inject node
- Kiểm tra bảng debug (thanh bên phải) để xem các thông báo lỗi
- Xác minh tin nhắn xuất hiện trong kênh Teams của bạn
6.3 Xác Minh Thông Báo Teams
- Chuyển sang Microsoft Teams và kiểm tra kênh đích của bạn
- Tìm tin nhắn thử nghiệm từ OV20i của bạn
- Thử nghiệm các liên kết có thể nhấp để đảm bảo chúng hoạt động đúng
Bước 7: Tích Hợp Với Inspection Flow
7.1 Kết Nối Với Kết Quả Kiểm Tra
Để gửi thông báo tự động sau mỗi lần kiểm tra:
- Tìm inspection flow chính của bạn (thường bắt đầu với "All Block Outputs")
- Thêm thông báo Teams như một nhánh từ flow chính
- Kết nối sau khi xử lý kiểm tra nhưng trước khi có kết quả cuối cùng
7.2 Ví Dụ Flow Tích Hợp
All Block Outputs → [Inspection Logic] → Final Pass/Fail
↓
Format Teams Message → Send to Teams
7.3 Lọc Thông Báo (Tùy Chọn)
Để chỉ gửi thông báo cho các lần kiểm tra thất bại:
// 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
}
Bước 8: Khắc Phục Sự Cố
8.1 Các Vấn Đề Thường Gặp
| Vấn Đề | Triệu Chứng | Giải Pháp |
|---|---|---|
| Không có tin nhắn trong Teams | Debug hiển thị thành công nhưng không có thông báo Teams | Kiểm tra webhook URL, xác minh kết nối mạng |
| Lỗi HTTP 400 | Lỗi bad request trong debug | Kiểm tra định dạng tin nhắn, đảm bảo header Content-Type |
| Liên kết hình ảnh không hoạt động | Tin nhắn xuất hiện nhưng hình ảnh không mở được | Xác minh URL hình ảnh có thể truy cập từ mạng của người dùng Teams |
| Flow không kích hoạt | Không có đầu ra debug như mong đợi | Kiểm tra các kết nối flow, xác minh điều kiện kích hoạt |
8.2 Debug Flow Của Bạn
- Thêm các debug node sau mỗi bước để theo dõi luồng dữ liệu
- Kiểm tra bảng debug để xem thông báo lỗi và cấu trúc dữ liệu
- Kiểm tra bằng inject node để cô lập các vấn đề cấu hình
- Xác minh webhook URL bằng cách kiểm tra với các công cụ bên ngoài nếu cần
8.3 Kết Nối Mạng
- Đảm bảo OV20i có thể truy cập internet (ping test từ camera)
- Kiểm tra cài đặt firewall có thể chặn HTTPS đi ra
- Xác minh phân giải DNS cho các webhook URL của Teams
- Kiểm tra từ trình duyệt trên cùng mạng với camera
Thành Công! Tích Hợp Teams Của Bạn Đã Hoàn Tất
Camera OV20i của bạn giờ đây có thể:
✅ Gửi thông báo tự động đến các kênh Microsoft Teams
✅ Bao gồm các liên kết hình ảnh có thể nhấp để xem xét kiểm tra ngay lập tức
✅ Lọc thông báo dựa trên kết quả kiểm tra
✅ Cung cấp định dạng phong phú với chi tiết kiểm tra và dấu thời gian
✅ Hỗ trợ nhiều kênh cho các loại thông báo khác nhau
Thực Hành Tốt Nhất
Quản Lý Tin Nhắn
- Sử dụng tên kênh có tính mô tả cho các loại thông báo khác nhau
- Bao gồm dấu thời gian và mã định danh trạm trong tin nhắn
- Lọc tin nhắn để tránh quá tải thông báo
- Kiểm tra kỹ lưỡng trước khi triển khai sản xuất
Cân Nhắc Về Bảo Mật
- Bảo vệ webhook URL - hãy coi chúng như thông tin đăng nhập nhạy cảm
- Sử dụng HTTPS cho tất cả các giao tiếp (mặc định với Teams)
- Giới hạn quyền truy cập mạng chỉ tới các dịch vụ cần thiết
- Thường xuyên thay đổi webhook URL nếu bị xâm phạm
Tối Ưu Hóa Hiệu Suất
- Gộp thông báo theo lô nếu gửi nhiều tin nhắn
- Sử dụng logic thử lại phù hợp cho các lỗi mạng
- Theo dõi tỷ lệ gửi tin nhắn thành công
- Triển khai rate limiting để tránh giới hạn Teams API

Các Bước Tiếp Theo
Sau khi thiết lập tích hợp Teams:
- Tạo các kênh thông báo khác nhau cho nhiều loại kiểm tra
- Thiết lập quy trình leo thang cho các lỗi nghiêm trọng
- Tích hợp với các công cụ nhóm khác (email, SMS, v.v.)
- Xây dựng dashboard kết hợp Teams với các công cụ giám sát khác
- Đào tạo nhóm của bạn về cách phản hồi các thông báo tự động
Integration Builder có thể tạo các flow thông báo Teams hoàn chỉnh từ mô tả bằng tiếng Anh thông thường. Mô tả những gì bạn muốn (ví dụ: "đăng kết quả kiểm tra kèm hình ảnh lên kênh Teams khi một bộ phận bị lỗi") và nhận được một Node-RED flow sẵn sàng cho sản xuất trong vài giây.