Skip to main content

AI-POWERED DOCS

What do you want to know?

Debug Node-RED

Hướng dẫn này cung cấp các quy trình khắc phục sự cố toàn diện cho các vấn đề Node-RED trên hệ thống camera OV20i. Sử dụng tài liệu này để sửa chữa tại hiện trường, debug các vấn đề sản xuất và bảo trì phòng ngừa cho các inspection flow.

warning

An Toàn Trên Hết: Luôn thông báo cho bộ phận sản xuất trước khi thực hiện thay đổi trên các hệ thống kiểm tra đang hoạt động. Tạo bản sao lưu trước khi sửa đổi các flow.

Quy Trình Khắc Phục Nhanh Khẩn Cấp

Hệ Thống Ngừng Hoạt Động - Hành Động Ngay Lập Tức

BướcHành ĐộngThời GianKết Quả
1Kiểm tra trạng thái LED nguồn của camera30 giâyXác minh phần cứng OK
2Truy cập Node-RED của OV20i: http://camera-ip/recipes/<recipe-number>/ioblock1 phútXác nhận editor có thể truy cập
3Tìm các biểu tượng tam giác đỏ báo lỗi1 phútXác định các node bị lỗi
4Nhấn nút Deploy (Full Deploy)30 giâyReset tất cả các flow
5Kiểm tra trigger kiểm tra cơ bản2 phútXác minh hệ thống vận hành

Khôi Phục Hệ Thống (Nếu Editor Không Tải Được)

Camera OV20i không có safe mode - khởi động lại là phương pháp khôi phục chính:

  1. Khởi động lại nguồn camera (rút nguồn trong 10 giây)
  2. Chờ khởi động hoàn tất (cả 4 LED ổn định - 2-3 phút)
  3. Truy cập Node-RED của recipe đang hoạt động thông qua URL đặc thù của recipe
  4. Xác minh tính toàn vẹn của flow và thực hiện các sửa chữa cần thiết
  5. Deploy các thay đổi để khôi phục hoạt động bình thường
note

Định Dạng URL: http://<camera-ip>/recipes/<recipe-number>/ioblock

Ví Dụ:

  • http://192.168.0.101/recipes/20/ioblock
  • http://192.168.0.105/recipes/1/ioblock

Quy Trình Debug Có Hệ Thống

Bước 1: Xác Định Phạm Vi Vấn Đề

Câu Hỏi Đánh Giá Nhanh

Câu HỏiNếu CÓNếu KHÔNG
Bạn có thể truy cập giao diện Node-RED của OV20i không?Tiếp tục sang Bước 2Kiểm tra trạng thái mạng/camera
Các flow có hiển thị trong editor không?Tiếp tục sang Bước 2Khởi động lại camera và thử lại
Bạn có thấy các tam giác báo lỗi trên các node không?Tập trung vào các node đó trướcKiểm tra việc thực thi flow
Việc kiểm tra có được trigger không?Kiểm tra output của từng node riêng lẻXác minh đầu vào trigger
note

URL Truy Cập: Sử dụng định dạng URL đặc thù của recipe: http://<camera-ip>/recipes/<recipe-number>/ioblock

Bước 2: Kích Hoạt Giám Sát Debug

Thêm Các Node Debug Để Khắc Phục Sự Cố

  1. Đặt các node Debug tại các điểm quan trọng trong các flow có vấn đề:
    • Sau các đầu vào trigger
    • Trước và sau các node logic
    • Tại các đầu ra cuối cùng
  2. Cấu hình các node Debug để có thông tin tối đa:
    • Output: Toàn bộ message object
    • To: Debug sidebar
    • Name: Tên mô tả (ví dụ: "After Classification Logic")
  3. Kích hoạt tất cả các node Debug bằng cách nhấn các nút của chúng trong editor

Quản Lý Debug Sidebar

Truy Cập Debug Sidebar:

  • Nhấn Debug tab (biểu tượng con bọ) trong bảng bên phải
  • Xóa các tin nhắn cũ bằng biểu tượng thùng rác
  • Lọc tin nhắn nếu có quá nhiều node đang hoạt động

Diễn Giải Thông Điệp Debug:

  • Timestamp hiển thị thời điểm tin nhắn xảy ra
  • Tên node hiển thị node nào đã tạo ra tin nhắn
  • Nội dung tin nhắn hiển thị cấu trúc dữ liệu và giá trị

Bước 3: Theo Dõi Quá Trình Thực Thi Flow

Theo Dõi Đường Đi Của Message

  1. Bắt đầu từ nguồn kích hoạt (inject, timer, input bên ngoài)
  2. Xác minh mỗi node nhận được input mong đợi
  3. Kiểm tra các biến đổi message tại mỗi bước
  4. Xác định nơi flow dừng lại hoặc tạo ra output sai

Các Điểm Gián Đoạn Flow Thường Gặp

Loại NodeVấn Đề Thường GặpKiểm Tra Nhanh
Classification LogicKhông đạt ngưỡng confidenceKiểm tra căn chỉnh ROI, huấn luyện lại model
Switch NodeLogic điều kiện saiXác minh các quy tắc switch và thuộc tính message
Join NodeĐang chờ tập message chưa hoàn chỉnhKiểm tra số lượng phần của message
Function NodeLỗi JavaScriptKiểm tra console của trình duyệt để tìm lỗi
HTTP RequestKết nối mạngKiểm tra endpoint thủ công

Các Vấn Đề Thường Gặp Với Node-RED & Giải Pháp

Vấn Đề Về Thực Thi Flow

Vấn Đề: Flow Không Được Kích Hoạt

Triệu Chứng:

  • Không có message nào trong thanh bên Debug
  • Hệ thống có vẻ không hoạt động
  • Trigger bên ngoài không hoạt động

Các Bước Chẩn Đoán:

  1. Kiểm tra nguồn trigger: Manual inject, timer, input bên ngoài
  2. Xác minh kết nối dây: Đảm bảo kết nối giữa các node
  3. Kiểm tra trigger thủ công: Sử dụng node Inject để buộc flow bắt đầu

Giải Pháp:

Nguyên NhânGiải PhápPhòng Ngừa
Flow bị vô hiệu hóaNhấn Deploy → Full DeployDeploy thường xuyên sau khi thay đổi
Kết nối bị hỏngNối lại dây các node đúng cáchKiểm tra trực quan trong khi chỉnh sửa
Cấu hình timer saiKiểm tra cài đặt thời gian của node injectGhi lại các yêu cầu về thời gian
Lỗi trigger bên ngoàiXác minh dây I/O và tín hiệuKiểm tra I/O thường xuyên

Vấn Đề: Flow Chạy Nhưng Kết Quả Sai

Triệu Chứng:

  • Message vẫn chạy nhưng phân loại không chính xác
  • Logic Pass/Fail không hoạt động đúng
  • Kết quả không nhất quán

Quy Trình Chẩn Đoán:

  1. Thêm các node Debug trước và sau các node nghi ngờ
  2. So sánh nội dung message mong đợi và thực tế
  3. Kiểm tra cấu hình node để đảm bảo các tham số đúng

Giải Pháp:

Khu Vực Vấn ĐềKiểm TraKhắc Phục
Classification LogicCăn chỉnh ROI, huấn luyện modelHuấn luyện lại hoặc điều chỉnh ROI
Điều Kiện SwitchTên và giá trị thuộc tínhSửa logic switch
Thuộc Tính MessageKiểu dữ liệu và định dạngSử dụng node Change để sửa định dạng
Biến ContextGiá trị lưu trữ và phạm viXóa/đặt lại bộ nhớ context

Vấn Đề Về Hiệu Năng

Vấn Đề: Flow Thực Thi Chậm

Triệu Chứng:

  • Độ trễ giữa trigger và output
  • Timeout khi kiểm tra
  • Hệ thống bị lag

Chẩn Đoán Hiệu Năng:

  1. Kiểm tra timestamp Debug để xác định các node chậm
  2. Theo dõi mức sử dụng CPU trên hệ thống camera
  3. Đếm số node Debug đang hoạt động (vô hiệu hóa các node không sử dụng)

Hành Động Tối Ưu:

Vấn Đề Hiệu NăngGiải PhápCải Thiện Dự Kiến
Quá nhiều node DebugVô hiệu hóa/xóa các node Debug không sử dụngTăng tốc 10-20%
Node Function phức tạpTối ưu mã JavaScriptCải thiện tùy trường hợp
Trigger tần suất caoThêm giới hạn delay/tốc độNgăn quá tải hệ thống
Đối tượng message lớnGiảm kích thước payload của messageXử lý nhanh hơn

Quy Trình Bảo Trì

Kiểm Tra Tình Trạng Hàng Ngày

Kiểm Tra Trực Quan Flow (5 phút)

  1. Truy cập trình chỉnh sửa Node-RED
  2. Kiểm tra các chỉ báo lỗi (tam giác đỏ)
  3. Xác minh các kết nối flow còn nguyên vẹn
  4. Xem xét các thông báo Debug gần đây để phát hiện bất thường

Kiểm Tra Thực Thi Flow (10 phút)

  1. Kiểm tra trigger thủ công sử dụng Inject node
  2. Xác minh các đầu ra mong đợi trong sidebar Debug
  3. Kiểm tra logic pass/fail với các sản phẩm tốt/xấu đã biết
  4. Xác nhận truyền thông bên ngoài (PLC, cơ sở dữ liệu)

Tác Vụ Bảo Trì Hàng Tháng

Đánh Giá Hiệu Suất (15 phút)

Danh Sách Kiểm Tra Tối Ưu Hóa Flow:

Tác VụHành ĐộngGhi Chú
Dọn Dẹp Debug NodeVô hiệu hóa các Debug node không sử dụngChỉ giữ lại các debug thiết yếu
Xem Xét Context StorageXóa các giá trị lưu trữ không cần thiếtNgăn chặn tích tụ bộ nhớ
Xem Xét Nhật Ký LỗiKiểm tra console của trình duyệt để phát hiện lỗiGhi lại các vấn đề tái diễn
Tạo Bản Sao LưuXuất flow ra file sao lưuLưu kèm thông tin ngày/phiên bản

Xác Thực Cấu Hình (20 phút)

  1. So sánh các flow hiện tại với tiêu chuẩn đã tài liệu hóa
  2. Xác minh tất cả đường dẫn quan trọng có xử lý lỗi phù hợp
  3. Kiểm tra các kịch bản khôi phục lỗi
  4. Cập nhật tài liệu cho bất kỳ thay đổi nào

Bảo Trì Chuyên Sâu Hàng Tháng

Phân Tích Flow Toàn Diện (45 phút)

Thu Thập Chỉ Số Hiệu Suất:

  • Thời gian thực thi flow
  • Phân tích tần suất lỗi
  • Mẫu sử dụng tài nguyên
  • Độ tin cậy truyền thông

Xem Xét Cấu Trúc Flow:

  • Loại bỏ các node dư thừa
  • Hợp nhất logic trùng lặp
  • Cập nhật các cấu hình đã lỗi thời
  • Tối ưu hóa các Function node phức tạp

Kiểm Tra Sao Lưu và Khôi Phục (30 phút)

  1. Tạo bản xuất flow hoàn chỉnh
  2. Kiểm tra quy trình import trên hệ thống sao lưu
  3. Xác minh việc khôi phục bản sao lưu vẫn duy trì chức năng
  4. Tài liệu hóa quy trình khôi phục

Công Cụ và Kỹ Thuật Chẩn Đoán

Công Cụ Tích Hợp Sẵn Trong Node-RED

Tính Năng Debug Sidebar

Tính NăngTrường Hợp Sử DụngPhương Thức Truy Cập
Lọc Thông BáoTập trung vào các node cụ thểNút Filter trong sidebar
Lịch Sử Thông BáoXem lại 100 thông báo gần nhấtCuộn trong Debug sidebar
Vị Trí NodeTìm nguồn của thông báo DebugNhấp vào tên node trong thông báo
Xuất Thông BáoLưu dữ liệu chẩn đoánSao chép nội dung thông báo

Trình Khám Phá Dữ Liệu Context

Truy Cập Context Storage:

  • Mở giao diện Node-RED của OV20i (http://<camera-ip>/recipes/<recipe-number>/ioblock)
  • Đi đến tab Context Data (sidebar bên phải)
  • Xem các giá trị context Node/Flow/Global

Gỡ Lỗi Context:

  • Node Context: Kiểm tra trạng thái của từng node riêng lẻ
  • Flow Context: Xác minh các biến flow dùng chung
  • Global Context: Xem xét các cài đặt toàn hệ thống

Kiểm Tra Truyền Thông Mạng

Xác Thực HTTP Request:

  1. Sử dụng công cụ bên ngoài (Postman, curl) để kiểm tra các endpoint
  2. Xác minh định dạng phản hồi khớp với dữ liệu mong đợi
  3. Kiểm tra các điều kiện lỗi (timeout, phản hồi không hợp lệ)

Xác Minh Truyền Thông PLC:

  1. Sử dụng phần mềm lập trình PLC để xác minh kết nối
  2. Kiểm tra truy cập data register một cách độc lập
  3. Xác thực các chuyển đổi định dạng dữ liệu

Quy Trình Khôi Phục Khẩn Cấp

Khôi Phục Flow Bị Hỏng

Triệu Chứng Hỏng:

  • Giao diện Node-RED của OV20i không tải được flow
  • Flow hiển thị trống sau khi khởi động lại camera
  • Deploy thất bại liên tục

Các Bước Khôi Phục:

  1. Khởi động lại nguồn camera OV20i:
    • Rút nguồn trong 10 giây
    • Chờ khởi động hoàn tất (cả 4 đèn LED sáng ổn định)
  2. Truy cập giao diện Node-RED của recipe:
    • Điều hướng đến http://<camera-ip>/recipes/<recipe-number>/ioblock
    • Nếu flow bị hỏng, import từ bản sao lưu
  3. Khôi phục từ bản sao lưu:
    • Sử dụng chức năng import recipe của OV20i
    • Import file sao lưu gần nhất
    • Kiểm tra tất cả kết nối còn nguyên vẹn
  4. Xác thực việc khôi phục:
    • Kiểm tra tất cả flow quan trọng
    • Xác thực giao tiếp bên ngoài
    • Cập nhật mọi thay đổi cấu hình

Sự Cố Tài Nguyên Hệ Thống

Quá Tải Bộ Nhớ/CPU

Hành Động Ngay Lập Tức:

  1. Tắt các Debug node không cần thiết trong OV20i Node-RED
  2. Loại bỏ các timer trigger tần suất cao
  3. Đơn giản hóa các Function node phức tạp
  4. Khởi động lại nguồn camera để khởi động lại tất cả dịch vụ

Giải Pháp Dài Hạn:

  • Tối ưu hóa thiết kế flow cho phần cứng OV20i
  • Triển khai giới hạn tốc độ (rate limiting)
  • Giảm kích thước payload của message
  • Lên lịch các khung thời gian bảo trì

Danh Sách Kiểm Tra Khắc Phục Sự Cố

Danh Sách Kiểm Tra Trước Khi Bảo Trì

  • Thông báo cho bộ phận sản xuất về khung thời gian bảo trì
  • Tạo bản sao lưu flow hiện tại
  • Ghi lại trạng thái hệ thống hiện tại
  • Chuẩn bị quy trình rollback
  • Kiểm tra quy trình khôi phục sao lưu

Xác Thực Sau Khi Bảo Trì

  • Tất cả flow deploy thành công
  • Các bài kiểm tra trigger thủ công đạt yêu cầu
  • Giao tiếp bên ngoài được xác thực
  • Các chỉ báo lỗi đã được xóa
  • Hiệu năng nằm trong ngưỡng chấp nhận được
  • Tài liệu đã được cập nhật

Danh Sách Kiểm Tra Ứng Phó Khẩn Cấp

  • Đã đánh giá tác động đến hệ thống
  • Đã thông báo cho bộ phận sản xuất
  • Đã thử các biện pháp khắc phục nhanh
  • Khôi phục từ bản sao lưu nếu cần
  • Xác định nguyên nhân gốc rễ
  • Triển khai các biện pháp phòng ngừa

Tài Liệu và Nhật Ký

Hồ Sơ Bảo Trì

Tài Liệu Bắt Buộc:

  • Ngày/giờ bảo trì
  • Các sự cố được xác định và khắc phục
  • Các thay đổi cấu hình đã thực hiện
  • Các cải thiện hiệu năng đạt được
  • Các khuyến nghị trong tương lai

🔗 Xem Thêm


tip

Ghi lại tất cả các thay đổi được thực hiện trong quá trình debug. Điều này giúp ích cho việc khắc phục sự cố trong tương lai và xây dựng kiến thức nội bộ cho nhóm của bạn.