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 sẽ chỉ cho bạn cách gửi thông báo kiểm tra từ camera OV10i 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 luôn được cập nhật tức thời về tình trạng 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 OV10i, 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 tức thời 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.

Bỏ qua việc thiết lập thủ công

Mô tả những thông báo Teams bạn cần bằng tiếng Anh thông thường và Auto-Integration Builder sẽ tạo ra một Node-RED flow hoàn chỉnh cho bạn trong vài giây.

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

  • Camera OV10i đượ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 connector
  • Kênh Teams nơi bạn muốn nhận thông báo
  • Kết nối mạng giữa OV10i 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 cần thiết: 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ành 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 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 một tên mô tả (ví dụ: "OV10i 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 đã được 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 đã có URL webhook trông giống như: https://yourcompany.webhook.office.com/webhookb2/...

Bước 2: Truy Cập Node-RED của OV10i

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

  1. Mở giao diện web OV10i 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 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 node có sẵn
  3. Lên kế hoạch flow của bạn: Trigger → Process → Send to Teams

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

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

Kéo các node sau 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 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 Message 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 message cơ bản này:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

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

return msg;

4.2 Message Nâng Cao Với Liên Kết Hình Ảnh

Đối với kết quả kiểm tra động có 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 ví dụ 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ừ danh sách 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: Giữ 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. Kiểm tra lại 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 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. 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 ở phía bên trái của inject node
  2. Kiểm tra bảng debug (thanh bên phải) để xem có thông báo lỗi nào không
  3. Xác nhận message xuất hiện trong kênh Teams của bạn

6.3 Xác Nhận 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 message kiểm tra từ OV10i của bạn
  3. Kiểm tra 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 kết quả cuối cùng

7.2 Luồng Tích Hợp Mẫu

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 khi dự kiếnKiểm tra 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 debug nodes 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 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 OV10i có thể truy cập internet (kiểm tra ping từ camera)
  2. Kiểm tra cài đặt tường lửa có thể chặn HTTPS đi ra ngoài
  3. Xác minh phân giải DNS cho các URL webhook 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 OV10i 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 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

Các 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ân Nhắc Bảo Mật

  • Bảo vệ webhook URL - xem 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 truy cập mạng chỉ cho 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 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
  • 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 escalation 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 dashboards 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 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 đơn giản. Mô tả những gì bạn muốn (ví dụ: "post inspection results with images to a Teams channel when a part fails") và nhận được một Node-RED flow sẵn sàng cho production chỉ trong vài giây.

🔗 Xem Thêm