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 OV80i trực tiếp đến một 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 đội ngũ của bạn luôn được cập nhật tình trạng sản xuất ngay lập tức.

Những Gì Bạn Sẽ Xây Dựng: Một hệ thống tự động đăng kết quả kiểm tra OV80i, bao gồm hình ảnh và trạng thái pass/fail, trực tiếp vào một kênh Microsoft Teams.

Ứng Dụng Thực Tế: Nhận thông báo tức thì khi kiểm tra thất bại, chia sẻ hình ảnh kiểm tra với các đội ngũ từ xa, hoặc tạo báo cáo chất lượng tự động trong không gian cộng tác nhóm của bạn.

Điều Kiện Tiên Quyết

  • Camera OV80i được 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 connectors
  • Kênh Teams nơi bạn muốn nhận thông báo
  • Kết nối mạng giữa OV80i và Microsoft Teams
  • Hiểu biết cơ bản về Node-RED flows

Tổng Quan Hướng Dẫn

Những gì chúng ta sẽ xây dựng: Một Node-RED flow 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 yêu cầu: 15-20 phút

Kỹ năng học được: Tích hợp Teams webhook, HTTP requests trong Node-RED, hệ thống thông báo tự động

Bước 1: Thiết Lập Microsoft Teams Webhook

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 dấu 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 vào "Connectors" trong menu quản lý kênh
  2. Tìm kiếm "Incoming Webhook" trong danh sách connectors
  3. Nhấp "Add" bên cạnh tùy chọn Incoming Webhook

1.3 Cấu Hình Thiết Lập Webhook

  1. Name: Nhập một tên mô tả (ví dụ: "OV80i 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 ở một vị trí an toàn (bạn sẽ cần nó ở 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 sẽ có một URL webhook trông như: https://yourcompany.webhook.office.com/webhookb2/...

Bước 2: Truy Cập Node-RED trên OV80i

2.1 Điều Hướng đến Node-RED

  1. Mở giao diện web OV80i
  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 trống 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 nodes có sẵn
  3. Lập kế hoạch flow: Trigger → Process → Send to Teams

Bước 3: Xây Dựng Node-RED Flow

3.1 Thêm Các Nodes Cần Thiết

Kéo các nodes này từ palette vào canvas của bạn:

  1. Inject node (để kiểm thử)
  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 Nodes

  1. Kết nối đầu ra inject đến đầu vào function
  2. Kết nối đầu ra function đến đầu vào HTTP request
  3. Kết nối đầu ra HTTP request đến đầ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 Thông Điệp 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 thông điệp cơ bản này:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

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

return msg;

4.2 Thông Điệp Nâng Cao Với Liên Kết Hình Ảnh

Đối với 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 Đủ

Để có 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" để rõ ràng
  • Headers: Để trống (được xử lý bởi function node)
  • Payload: Để là "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 là chính xác - điều này quan trọng để thành công

Bước 6: Kiểm Tra Tích Hợp Của Bạn

6.1 Triển Khai Flow

  1. Nhấp nút "Deploy" ở góc trên bên phải
  2. Đợi 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 nút ở bên trái của inject node
  2. Kiểm tra debug panel (thanh bên phải) để xem có thông báo lỗi nào không
  3. Xác minh thông điệp 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 thông điệp thử nghiệm từ OV80i của bạn
  3. Thử nghiệm bất kỳ liên kết nào có thể nhấp vào để đả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 main inspection flow của bạn (thường bắt đầu bằng "All Block Outputs")
  2. Thêm Teams notification của bạn 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 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: Xử Lý 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 có header Content-Type
Liên kết hình ảnh không hoạt độngTin nhắn xuất hiện nhưng không mở được hình ảnhXá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 khi mong đợiKiểm tra các kết nối flow, xác minh điều kiện trigger

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 debug panel để tìm thông báo lỗi và cấu trúc dữ liệu
  3. Kiểm tra với 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 OV80i có thể truy cập internet (kiểm tra ping 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 OV80i 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 vào để 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 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ác Cân Nhắc Về Bảo Mật

  • Bảo vệ webhook URL - coi chúng như thông tin đăng nhập nhạy cảm
  • Sử dụng HTTPS cho tất cả giao tiếp (mặc định với Teams)
  • Giới hạn quyền truy cập mạng chỉ cho các dịch vụ cần thiết
  • Thường xuyên xoay vòng webhook URL nếu bị xâm phạm

Tối Ưu Hóa Hiệu Suất

  • Gộp thông báo nếu gửi nhiều tin nhắn
  • Sử dụng logic retry phù hợp cho các lỗi mạng
  • Giám sát tỷ lệ thành công của việc gửi tin nhắn
  • Triển khai giới hạn tốc độ để tránh giới hạn API của Teams

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 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 đơn giản. 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 flow Node-RED sẵn sàng cho sản xuất chỉ trong vài giây.

🔗 Xem Thêm