AI-POWERED DOCS
What do you want to know?
Node-RED Cơ Bản
Trang này cung cấp phần giới thiệu về Node-RED được triển khai trong hệ thống camera OV20i, giải thích các khái niệm và tính năng chính giúp bạn tạo ra các luồng kiểm tra mạnh mẽ.
Node-RED là gì?
Node-RED là một công cụ lập trình dựa trên luồng (flow-based) cung cấp trình chỉnh sửa trên trình duyệt để kết nối trực quan các thiết bị phần cứng, API và dịch vụ trực tuyến. Ban đầu được phát triển bởi IBM, nó đã trở thành một dự án mã nguồn mở cung cấp phương pháp low-code cho tự động hóa và xử lý dữ liệu.
Camera OV20i sử dụng Node-RED làm nền tảng tự động hóa, cho phép bạn tạo ra các luồng kiểm tra phức tạp với kiến thức lập trình tối thiểu. Thông qua giao diện kéo-thả đơn giản, bạn có thể nhanh chóng phát triển các logic phức tạp mà thông thường sẽ đòi hỏi chuyên môn lập trình sâu rộng.
Các Khái Niệm Chính trong Node-RED
Flows (Luồng)
Flows là biểu diễn trực quan của các quy trình tự động hóa của bạn. Mỗi flow bao gồm các node được kết nối bằng các dây (wires) thể hiện cách dữ liệu di chuyển qua hệ thống. Camera OV20i sử dụng flows để xử lý kết quả kiểm tra và giao tiếp với các hệ thống bên ngoài.
Nodes
Nodes là các khối xây dựng của flows, mỗi node đại diện cho một chức năng hoặc khả năng cụ thể:
- Input nodes - Nhận dữ liệu (ví dụ: trigger camera, HTTP requests)
- Processing nodes - Biến đổi hoặc phân tích dữ liệu (ví dụ: logic phân loại)
- Output nodes - Gửi dữ liệu đến các hệ thống bên ngoài hoặc kích hoạt hành động (ví dụ: giao tiếp với PLC)
Messages (Tin Nhắn)
Các node giao tiếp với nhau bằng cách truyền messages. Trong hệ thống OV20i, các messages này thường chứa:
- Kết quả kiểm tra
- Metadata về các đối tượng đã được kiểm tra
- Lệnh cho các hệ thống bên ngoài
- Tín hiệu trigger
Context Storage
Node-RED cung cấp một phương pháp để lưu trữ thông tin có thể được chia sẻ giữa các node khác nhau mà không cần dựa vào messages đi qua flow.
'Scope' của một giá trị context cụ thể xác định ai có thể truy cập nó:
| Loại Scope | Khả Năng Truy Cập | Trường Hợp Sử Dụng |
|---|---|---|
| Node Context | Chỉ hiển thị với node đã đặt giá trị | Lưu trữ thông tin trạng thái tạm thời theo từng node |
| Flow Context | Hiển thị với tất cả các node trên cùng flow (tab) | Chia sẻ dữ liệu giữa các node trong cùng một flow |
| Global Context | Hiển thị với tất cả các node trên tất cả các flow | Trạng thái hoặc cấu hình cấp toàn ứng dụng |
Lợi Ích của Context Storage
- Data Persistence - Lưu trữ dữ liệu giữa các luồng message
- Scope Flexibility - Các cấp độ chia sẻ dữ liệu khác nhau
- State Management - Duy trì trạng thái ứng dụng giữa các node
Nút Deploy
Nút Deploy trong Node-RED cho phép bạn áp dụng và đẩy cấu hình vào môi trường runtime.
Tùy Chọn Deploy:
- Full Deploy - Cập nhật tất cả các node và flow
- Modified Nodes - Chỉ cập nhật các node đã được thay đổi
- Modified Flows - Chỉ cập nhật các flow chứa các node đã được sửa đổi
Import và Export
Node-RED cho phép bạn export và import cấu hình flow dưới dạng file JSON, cho phép:
- Sao lưu các cấu hình camera của bạn
- Chia sẻ các flow giữa các thành viên trong nhóm
- Di chuyển cấu hình giữa các camera khác nhau
Quy Trình Export
- Mở Node-RED Editor của camera
- Chọn các flow bạn muốn export
- Nhấp vào nút menu và chọn "Export"
- Chọn định dạng JSON
Quy Trình Import
- Mở Node-RED Editor của camera
- Nhấp vào nút menu và chọn "Import"
- Dán dữ liệu JSON hoặc tải lên file JSON
- Nhấp "Import" để tích hợp cấu hình
- Deploy để áp dụng các flow mới
Debug
Mục Đích và Chức Năng
Node Debug hiển thị messages trong thanh bên Debug của Node-RED editor, hỗ trợ phát triển và xử lý sự cố các flow kiểm tra.
Tính Năng Chính
- Chế độ xem message có cấu trúc trong thanh bên Debug
- Thông tin chi tiết về thời gian và nguồn của message
- Khả năng định vị các node nguồn trong không gian làm việc
- Khả năng bật/tắt output debug
Khả Năng Dashboard
Node-RED Dashboard cung cấp giao diện web để giám sát và điều khiển hệ thống camera của bạn thông qua UI có thể tùy chỉnh.
Thành Phần Chính
- Layout Manager - Tổ chức các thành phần UI
- UI Nodes - Thêm các phần tử giao diện cụ thể
- Theme Customization - Cá nhân hóa giao diện
Các Phần Tử UI Thông Dụng
- Buttons - Kích hoạt các hành động như thay đổi recipe
- Charts - Trực quan hóa các chỉ số kiểm tra theo thời gian
- Gauges - Giám sát các giá trị trong một phạm vi
- Text displays - Hiển thị trạng thái hiện tại của camera
- Sliders - Điều chỉnh các tham số theo thời gian thực
Các Bước Tạo Dashboard
- Thêm UI Nodes vào Flows - Kéo và thả các UI node từ palette vào flow của bạn để xác định dữ liệu và các điều khiển bạn muốn hiển thị trên dashboard
- Cấu Hình UI Nodes - Cấu hình các thuộc tính của mỗi UI node, chẳng hạn như nhãn, phạm vi và nguồn dữ liệu
- Sắp Xếp Các Thành Phần - Sử dụng layout manager để sắp xếp các thành phần UI trên dashboard, tạo ra một bố cục hợp lý và thân thiện với người dùng
- Deploy và Truy Cập Dashboard - Deploy các flow của bạn và truy cập dashboard bằng cách điều hướng đến URL thích hợp (thường là
http://\{hostname\}/ui)
Làm Việc với Node-RED trong OV20i
Truy Cập Editor
Node-RED editor trong camera OV20i của bạn có thể được truy cập thông qua UI.
Flow Mặc Định
OV20i đi kèm với một flow mặc định đã được cấu hình sẵn để xử lý các thao tác kiểm tra cơ bản. Flow này đóng vai trò là điểm khởi đầu cho các cấu hình tùy chỉnh của bạn và minh họa các best practices cho việc tích hợp camera.
Các Node Tùy Chỉnh OV20i
Camera mở rộng Node-RED với các node chuyên dụng được thiết kế cho các ứng dụng vision:
- Classification Logic - Xử lý kết quả phân loại
- PLC Format - Định dạng dữ liệu cho các bộ điều khiển công nghiệp
- Final Pass/Fail - Xác định kết quả kiểm tra
Khả Năng Tích Hợp
Môi trường Node-RED trong OV20i hỗ trợ tích hợp với nhiều hệ thống công nghiệp khác nhau:
- PLC qua Ethernet/IP, Profinet hoặc Modbus
- MQTT cho các ứng dụng IoT
- HTTP/REST cho các dịch vụ web
- Hệ thống cơ sở dữ liệu để ghi log dữ liệu
- Giao diện HMI để vận hành viên điều khiển
Best Practices
Tổ Chức Flow
- Giữ các flow được tổ chức theo chức năng
- Sử dụng comment để ghi chú các logic phức tạp
- Đặt tên rõ ràng cho các node để thể hiện mục đích của chúng
- Sử dụng subflow cho các mẫu (pattern) lặp lại
Các Cân Nhắc về Hiệu Suất
- Giảm thiểu số lượng debug node trong môi trường production
- Cân nhắc tác động của các trigger có tần suất cao
- Sử dụng các biến context một cách hiệu quả
- Kiểm tra kỹ lưỡng trước khi deploy
Chiến Lược Sao Lưu
- Thường xuyên export và lưu các flow của bạn
- Ghi lại các thay đổi cấu hình của bạn
- Cân nhắc sử dụng version control cho môi trường nhóm
- Kiểm tra các flow đã khôi phục trước khi sử dụng trong production
Integration Builder có thể tạo ra các Node-RED flow hoàn chỉnh từ một mô tả bằng tiếng Anh thông thường. Thay vì xây dựng flow từng node một, hãy mô tả những gì bạn muốn và nhận được một flow sẵn sàng cho production chỉ trong vài giây. Rất hữu ích cho các pattern phổ biến như thông báo, ghi log dữ liệu và giao tiếp với PLC.