AI-POWERED DOCS
What do you want to know?
Gỡ Lỗi 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 OV80i. Sử dụng tài liệu này cho việc sửa chữa tại hiện trường, gỡ lỗi các vấn đề sản xuất và bảo trì phòng ngừa cho các flow kiểm tra.
An Toàn Trước Tiên: 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 chỉnh sửa flow.
Quy Trình Khắc Phục Nhanh Khẩn Cấp
Hệ Thống Ngừng Hoạt Động Nghiêm Trọng - Hành Động Ngay Lập Tức
| Bước | Hành Động | Thời Gian | Kết Quả |
|---|---|---|---|
| 1 | Kiểm tra trạng thái đèn LED nguồn camera | 30 giây | Xác minh phần cứng OK |
| 2 | Truy cập Node-RED OV80i: http://camera-ip/recipes/<recipe-number>/ioblock | 1 phút | Xác nhận có thể truy cập editor |
| 3 | Tìm các chỉ báo lỗi hình tam giác đỏ | 1 phút | Xác định các node bị lỗi |
| 4 | Nhấp vào nút Deploy (Full Deploy) | 30 giây | Reset tất cả các flow |
| 5 | Kiểm tra trigger kiểm tra cơ bản | 2 phút | Xác minh hệ thống hoạt động |
Khôi Phục Hệ Thống (Nếu Editor Không Tải Được)
Camera OV80i không có chế độ safe mode - khởi động lại là phương pháp khôi phục chính:
- Tắt nguồn camera (rút nguồn trong 10 giây)
- Chờ khởi động hoàn tất (cả 4 đèn LED ổn định - 2-3 phút)
- Truy cập Node-RED của recipe đang hoạt động thông qua URL dành riêng cho recipe
- 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
- Deploy các thay đổi để khôi phục hoạt động bình thường
Định Dạng URL: http://<camera-ip>/recipes/<recipe-number>/ioblock
Ví dụ:
http://192.168.0.101/recipes/20/ioblockhttp://192.168.0.105/recipes/1/ioblock
Quy Trình Gỡ Lỗi 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ỏi | Nếu CÓ | Nếu KHÔNG |
|---|---|---|
| Bạn có thể truy cập giao diện Node-RED của OV80i không? | Tiếp tục đến Bước 2 | Kiểm tra trạng thái mạng/camera |
| Các flow có hiển thị trong editor không? | Tiếp tục đến Bước 2 | Tắt nguồn camera và thử lại |
| Bạn có thấy các tam giác lỗi trên các node không? | Tập trung vào các node đó trước | Kiểm tra việc thực thi flow |
| Kiểm tra có được trigger không? | Kiểm tra đầu ra của từng node | Xác minh đầu vào trigger |
URL Truy Cập: Sử dụng định dạng URL dành riêng cho recipe: http://<camera-ip>/recipes/<recipe-number>/ioblock
Bước 2: Bật Giám Sát Debug
Thêm Debug Node Để Khắc Phục Sự Cố
- Đặt các Debug node 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 logic node
- Tại các đầu ra cuối cùng
- Cấu hình Debug node để 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")
- Bật tất cả Debug node bằng cách nhấp vào nút của chúng trong editor
Quản Lý Debug Sidebar
Truy Cập Debug Sidebar:
- Nhấp vào tab Debug (biểu tượng con bọ) ở bảng bên phải
- Xóa các thông báo cũ bằng biểu tượng thùng rác
- Lọc thông báo nếu có quá nhiều node đang hoạt động
Diễn Giải Thông Báo Debug:
- Timestamp hiển thị thời điểm thông báo xảy ra
- Tên node hiển thị node nào đã tạo ra thông báo
- Nội dung thông báo hiển thị cấu trúc và giá trị dữ liệu
Bước 3: Theo Dõi Quá Trình Thực Thi Flow
Theo Dõi Đường Đi Của Message
- Bắt đầu từ nguồn trigger (injection, timer, đầu vào bên ngoài)
- Xác minh mỗi node nhận được đầu vào như mong đợi
- Kiểm tra các chuyển đổi message tại mỗi bước
- Xác định vị trí flow dừng hoặc tạo ra đầu ra sai
Các Điểm Gián Đoạn Flow Thường Gặp
| Loại Node | Sự Cố Thường Gặp | Kiểm Tra Nhanh |
|---|---|---|
| Classification Logic | Không đạt ngưỡng confidence | Kiểm tra căn chỉnh ROI, huấn luyện lại model |
| Switch Node | Logic điều kiện sai | Xác minh quy tắc switch và thuộc tính message |
| Join Node | Đang chờ tập message chưa hoàn chỉnh | Kiểm tra số lượng phần của message |
| Function Node | Lỗi JavaScript | Kiểm tra browser console để tìm lỗi |
| HTTP Request | Kết nối mạng | Kiểm tra endpoint thủ công |
Các Sự Cố & Giải Pháp Node-RED Thường Gặp
Sự Cố Thực Thi Flow
Sự Cố: Flow Không Kích Hoạt
Triệu Chứng:
- Không có message 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:
- Kiểm tra nguồn trigger: Inject thủ công, timer, đầu vào bên ngoài
- Xác minh dây nối: Đảm bảo kết nối giữa các node
- Kiểm tra trigger thủ công: Sử dụng node Inject để buộc flow khởi động
Giải Pháp:
| Nguyên Nhân | Giải Pháp | Phòng Ngừa |
|---|---|---|
| Flow bị vô hiệu hóa | Nhấp Deploy → Full Deploy | Deploy thường xuyên sau khi thay đổi |
| Kết nối bị đứt | Nối lại các node đúng cách | Kiểm tra trực quan trong quá trình chỉnh sửa |
| Cấu hình timer sai | Kiểm tra cài đặt thời gian của node inject | Ghi lại các yêu cầu về thời gian |
| Trigger bên ngoài lỗi | Xác minh dây nối và tín hiệu I/O | Kiểm tra I/O định kỳ |
Sự Cố: Flow Chạy Nhưng Cho Kết Quả Sai
Triệu Chứng:
- Message đang luân chuyển 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:
- Thêm các node Debug trước và sau các node nghi ngờ
- So sánh nội dung message kỳ vọng so với thực tế
- Kiểm tra cấu hình node để đảm bảo tham số chính xác
Giải Pháp:
| Khu Vực Sự Cố | Kiểm Tra | Khắc Phục |
|---|---|---|
| Classification Logic | Căn chỉnh ROI, huấn luyện model | Huấn luyện lại hoặc điều chỉnh ROI |
| Điều Kiện Switch | Tên và giá trị thuộc tính | Sửa logic switch |
| Thuộc Tính Message | Kiểu dữ liệu và định dạng | Sử dụng node Change để sửa định dạng |
| Biến Context | Giá trị lưu trữ và phạm vi | Xóa/đặt lại bộ nhớ context |
Sự Cố Hiệu Năng
Sự Cố: Flow Thực Thi Chậm
Triệu Chứng:
- Độ trễ giữa trigger và đầu ra
- Timeout khi kiểm tra
- Hệ thống bị lag
Chẩn Đoán Hiệu Năng:
- Kiểm tra timestamp Debug để xác định các node chậm
- Giám sát mức sử dụng CPU trên hệ thống camera
- Đếm số node Debug đang hoạt động (vô hiệu hóa những node không sử dụng)
Hành Động Tối Ưu Hóa:
| Vấn Đề Hiệu Năng | Giải Pháp | Cải Thiện Dự Kiến |
|---|---|---|
| Quá nhiều node Debug | Vô hiệu hóa/xóa các node Debug không sử dụng | Tăng tốc độ 10-20% |
| Node Function phức tạp | Tối ưu hóa mã JavaScript | Mức cải thiện thay đổi |
| Trigger tần suất cao | Thêm giới hạn độ trễ/tốc độ | Ngăn hệ thống quá tải |
| Đối tượng message lớn | Giảm kích thước payload của message | Xử lý nhanh hơn |
Quy Trình Bảo Trì
Kiểm Tra Sức Khỏe Hàng Ngày
Kiểm Tra Trực Quan Luồng (5 phút)
- Truy cập trình chỉnh sửa Node-RED
- Kiểm tra các chỉ báo lỗi (tam giác đỏ)
- Xác minh các kết nối luồng còn nguyên vẹn
- Xem lại các thông báo Debug gần đây để phát hiện bất thường
Kiểm Tra Thực Thi Luồng (10 phút)
- Kiểm tra kích hoạt thủ công sử dụng các node Inject
- Xác minh đầu ra mong đợi trong thanh Debug
- Kiểm tra logic pass/fail với các sản phẩm tốt/lỗi đã biết
- Xác nhận giao tiếp bên ngoài (PLC, cơ sở dữ liệu)
Tác Vụ Bảo Trì Hàng Tháng
Đánh Giá Hiệu Năng (15 phút)
Danh Sách Kiểm Tra Tối Ưu Hóa Luồng:
| Tác Vụ | Hành Động | Ghi Chú |
|---|---|---|
| Dọn Dẹp Node Debug | Vô hiệu hóa các node Debug không sử dụng | Chỉ giữ lại các node debug thiết yếu |
| Xem Xét Lưu Trữ Context | Xóa các giá trị lưu trữ không cần thiết | Ngăn chặn tích tụ bộ nhớ |
| Xem Xét Nhật Ký Lỗi | Kiểm tra console trình duyệt để tìm lỗi | Ghi lại các sự cố lặp lại |
| Tạo Bản Sao Lưu | Xuất các luồng sang tệp sao lưu | Lưu trữ kèm thông tin ngày/phiên bản |
Xác Thực Cấu Hình (20 phút)
- So sánh các luồng hiện tại với các tiêu chuẩn đã được tài liệu hóa
- Xác minh tất cả các đường dẫn quan trọng có xử lý lỗi phù hợp
- Kiểm tra các kịch bản khôi phục lỗi
- 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 Luồng Toàn Diện (45 phút)
Thu Thập Chỉ Số Hiệu Năng:
- Thời gian thực thi luồng
- Phân tích tần suất lỗi
- Mô hình sử dụng tài nguyên
- Độ tin cậy giao tiếp
Xem Xét Cấu Trúc Luồng:
- 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 node Function phức tạp
Kiểm Tra Sao Lưu và Khôi Phục (30 phút)
- Tạo bản xuất luồng hoàn chỉnh
- Kiểm tra quy trình nhập trên hệ thống sao lưu
- Xác minh việc khôi phục bản sao lưu duy trì được chức năng
- Ghi lại 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 Thanh Debug
| Tính Năng | Trường Hợp Sử Dụng | Phương Thức Truy Cập |
|---|---|---|
| Lọc Thông Báo | Tập trung vào các node cụ thể | Nút Filter trong thanh sidebar |
| Lịch Sử Thông Báo | Xem lại 100 thông báo gần đây | Cuộn trong thanh Debug |
| Vị Trí Node | Tìm nguồn của thông báo Debug | Nhấp vào tên node trong thông báo |
| Xuất Thông Báo | Lưu dữ liệu chẩn đoán | Sao chép nội dung thông báo |
Trình Khám Phá Dữ Liệu Context
Truy Cập Lưu Trữ Context:
- Mở giao diện Node-RED của OV80i (
http://<camera-ip>/recipes/<recipe-number>/ioblock) - Đi đến tab Context Data (thanh 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 dùng chung trong luồng
- Global Context: Xem lại các thiết lập toàn hệ thống
Kiểm Tra Giao Tiếp Mạng
Xác Thực HTTP Request:
- Sử dụng các công cụ bên ngoài (Postman, curl) để kiểm tra các endpoint
- Xác minh định dạng phản hồi khớp với dữ liệu mong đợi
- Kiểm tra các điều kiện lỗi (timeout, phản hồi không hợp lệ)
Xác Minh Giao Tiếp PLC:
- Sử dụng phần mềm lập trình PLC để xác minh khả năng kết nối
- Kiểm tra truy cập thanh ghi dữ liệu một cách độc lập
- Xác thực việ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 Hóc:
- Giao diện Node-RED của OV80i không tải được flows
- Flows hiển thị trống sau khi khởi động lại camera
- Triển khai (deployment) thất bại liên tục
Các Bước Khôi Phục:
- Khởi động lại nguồn camera OV80i:
- Rút nguồn trong 10 giây
- Chờ khởi động hoàn tất (cả 4 đèn LED ổn định)
- 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 flows bị hỏng, nhập từ bản sao lưu
- Điều hướng đến
- Khôi phục từ bản sao lưu:
- Sử dụng chức năng import recipe của OV80i
- Nhập tệp sao lưu mới nhất
- Xác minh tất cả kết nối còn nguyên vẹn
- Xác thực việc khôi phục:
- Kiểm tra tất cả flows quan trọng
- Xác minh kết nối truyền thông bên ngoài
- Cập nhật bất kỳ thay đổi cấu hình nào
Vấn Đề Về Tài Nguyên Hệ Thống
Quá Tải Memory/CPU
Hành Động Tức Thời:
- Vô hiệu hóa các Debug nodes không cần thiết trong Node-RED của OV80i
- Loại bỏ các timer trigger tần suất cao
- Đơn giản hóa các Function nodes phức tạp
- 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 OV80i
- Triển khai giới hạn tần suất (rate limiting)
- Giảm kích thước payload của message
- Lên lịch cửa sổ bảo trì
Danh Sách Kiểm Tra Khắc Phục Sự Cố
Danh Sách Kiểm Tra Trước Bảo Trì
- Thông báo cho bộ phận sản xuất về cửa sổ 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 bản sao lưu
Xác Thực Sau Bảo Trì
- Tất cả flows triển khai thành công
- Các bài kiểm tra manual trigger đạt yêu cầu
- Truyền thông bên ngoài được xác minh
- Các chỉ báo lỗi đã được xóa
- Hiệu suất trong phạm vi 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 lên hệ thống
- Đã thông báo cho bộ phận sản xuất
- Đã thử khắc phục nhanh
- Khôi phục bản sao lưu nếu cần
- Đã xác định nguyên nhân gốc
- Đã triển khai các biện pháp phòng ngừa
Tài Liệu và Ghi Nhật Ký
Hồ Sơ Bảo Trì
Tài Liệu Bắt Buộc:
- Ngày/giờ bảo trì
- Các vấn đề đã xác định và giải quyết
- Các thay đổi cấu hình đã thực hiện
- Các cải tiến hiệu suất đạt được
- Khuyến nghị cho tương lai
🔗 Xem Thêm
- Node-RED Cơ Bản
- Tạo Recipe Đầu Tiên Của Bạn
- Kiến Trúc Truyền Thông Camera
- Khắc Phục Sự Cố Nguồn Điện
- Kiến Trúc Node-RED Trong OV80i
Ghi lại tất cả các thay đổi được thực hiện trong các phiên gỡ lỗi. Đ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 tổ chức cho nhóm của bạn.