Skip to main content

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

  1. Mở Microsoft Teams và điều hướng đến kênh dùng cho thông báo kiểm tra
  2. Nhấp vào ba chấm (•••) bên cạnh tên kênh
  3. Chọn "Manage channel" từ menu thả xuống

1.2 Thêm Incoming Webhook Connector

  1. Nhấp "Connectors" trong menu quản lý kênh
  2. Tìm kiếm "Incoming Webhook" trong danh sách connector
  3. Nhấp "Add" bên cạnh tùy chọn Incoming Webhook

1.3 Cấu Hình Cài Đặt Webhook

  1. Name: Nhập tên mô tả (ví dụ: "OV20i Inspection Alerts")
  2. 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
  3. Nhấp "Create" để tạo webhook

1.4 Lưu URL Webhook

  1. 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
  2. Lưu URL ở nơi an toàn (bạn sẽ cần nó trong Bước 2)
  3. 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

  1. Mở giao diện web OV20i của bạn
  2. Đ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

  1. Dọn sạch một khu vực trong canvas Node-RED cho flow tích hợp Teams của bạn
  2. Xác định palette ở phía bên trái với các node có sẵn
  3. 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:

  1. Inject node (để kiểm tra)
  2. Function node (để định dạng tin nhắn)
  3. HTTP request node (để gửi đến Teams)
  4. Debug node (tùy chọn, để khắc phục sự cố)

3.2 Kết Nối Các Node

  1. Nối đầu ra inject với đầu vào function
  2. Nối đầu ra function với đầu vào HTTP request
  3. 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

  1. Nhấp đúp vào function node để mở cấu hình
  2. 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

  1. Nhấp "Done" để lưu function node
  2. Đặ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

  1. Nhấp đúp vào HTTP request node để cấu hình
  2. Đặt Method: Chọn "POST" từ menu thả xuống
  3. Đặt URL: Dán Teams webhook URL của bạn từ Bước 1.4
  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

  1. Nhấp "Done" để lưu HTTP request node
  2. 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

  1. Nhấp nút "Deploy" ở góc trên bên phải
  2. Chờ xác nhận "Successfully deployed"
  3. 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

  1. Nhấp vào nút ở bên trái của inject node
  2. Kiểm tra bảng debug (thanh bên phải) để xem các thông báo lỗi
  3. 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

  1. Chuyển sang Microsoft Teams và kiểm tra kênh đích của bạn
  2. Tìm tin nhắn thử nghiệm từ OV20i của bạn
  3. 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:

  1. Tìm inspection flow chính của bạn (thường bắt đầu với "All Block Outputs")
  2. Thêm thông báo Teams như một nhánh từ flow chính
  3. 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ứngGiải Pháp
Không có tin nhắn trong TeamsDebug hiển thị thành công nhưng không có thông báo TeamsKiểm tra webhook URL, xác minh kết nối mạng
Lỗi HTTP 400Lỗi bad request trong debugKiể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 độngTin nhắn xuất hiện nhưng hình ảnh không mở đượcXá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ạtKhông có đầu ra debug như mong đợiKiể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

  1. Thêm các debug node sau mỗi bước để theo dõi luồng dữ liệu
  2. Kiểm tra bảng debug để xem thông báo lỗi và cấu trúc dữ liệu
  3. Kiểm tra bằng inject node để cô lập các vấn đề cấu hình
  4. 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

  1. Đảm bảo OV20i có thể truy cập internet (ping test từ camera)
  2. Kiểm tra cài đặt firewall có thể chặn HTTPS đi ra
  3. Xác minh phân giải DNS cho các webhook URL của Teams
  4. 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

image.png

Các Bước Tiếp Theo

Sau khi thiết lập tích hợp Teams:

  1. Tạo các kênh thông báo khác nhau cho nhiều loại kiểm tra
  2. Thiết lập quy trình leo thang cho các lỗi nghiêm trọng
  3. Tích hợp với các công cụ nhóm khác (email, SMS, v.v.)
  4. Xây dựng dashboard kết hợp Teams với các công cụ giám sát khác
  5. Đào tạo nhóm của bạn về cách phản hồi các thông báo tự động
Bỏ qua thiết lập thủ cô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.

🔗 Xem Thêm