AI-POWERED DOCS
What do you want to know?
Thiết Lập Giao Tiếp TCP
Hướng dẫn này chỉ cho bạn cách cấu hình giao tiếp TCP giữa camera OV10i và các thiết bị bên ngoài bằng Node-RED. Sử dụng giao tiếp TCP để trao đổi dữ liệu theo thời gian thực, điều khiển từ xa hoặc tích hợp với các ứng dụng và hệ thống tùy chỉnh.
Xem chủ đề này trong thực tế: Auto-Integration Builder
Mô tả tích hợp TCP của bạn bằng tiếng Anh thông thường và Auto-Integration Builder sẽ tạo ra một flow Node-RED hoàn chỉnh cho bạn chỉ trong vài giây.
Khi Nào Sử Dụng Giao Tiếp TCP: Truyền dữ liệu thời gian thực, tích hợp ứng dụng tùy chỉnh, giao tiếp hai chiều với các hệ thống bên ngoài, trao đổi dữ liệu tần suất cao, hoặc khi HTTP/REST API không phù hợp.
Điều Kiện Tiên Quyết
- Hệ thống camera OV10i đã được thiết lập và kết nối
- Thiết bị/hệ thống đích có khả năng giao tiếp TCP
- Kết nối mạng giữa camera và thiết bị đích
- Hiểu biết cơ bản về địa chỉ IP và số cổng
- Recipe đang hoạt động đã được cấu hình (hoàn tất thiết lập imaging và inspection)
Bước 1: Xác Minh Cấu Hình Mạng
1.1 Kiểm Tra Địa Chỉ IP Camera
- Điều hướng đến System Settings
- Ghi lại địa chỉ IP camera (ví dụ:
192.168.0.100) - Xác minh subnet mask và cấu hình mạng
1.2 Xác Nhận Mạng Thiết Bị Đích
Đảm bảo tương thích mạng:
- Cùng subnet: Camera và thiết bị đích phải nằm trong cùng một dải mạng
- Cổng có thể truy cập: Các cổng của thiết bị đích không được bị chặn bởi firewall
- Kết nối mạng: Kiểm tra bằng lệnh ping nếu có thể
1.3 Yêu Cầu Về Mạng
| Yêu Cầu | Camera | Thiết Bị Đích | Ghi Chú |
|---|---|---|---|
| Dải IP | 192.168.0.100 | 192.168.0.xxx | Phải cùng subnet |
| Subnet Mask | 255.255.255.0 | 255.255.255.0 | Cấu hình tiêu chuẩn |
| Truy Cập Cổng | 49155 (ví dụ) | 49155 (ví dụ) | Tránh các cổng dành riêng |
| Firewall | Cho phép lưu lượng TCP | Cho phép lưu lượng TCP | Cả hai chiều |
Bước 2: Truy Cập Node-RED Editor
2.1 Điều Hướng Đến IO Block
- Nhấp "IO Block" trong menu breadcrumb của recipe, HOẶC
- Chọn "Configure I/O" từ Recipe Editor
2.2 Mở Node-RED Editor
- Nhấp
Configure IOđể vào trình chỉnh sửa flow Node-RED - Xác minh giao diện Node-RED được tải đúng cách
Điểm Kiểm Tra: Bạn sẽ thấy trình chỉnh sửa flow Node-RED với bảng node ở bên trái.
Bước 3: Cấu Hình TCP Input (Nhận Dữ Liệu)
3.1 Thêm Node TCP Input
- Tìm node "tcp in" trong bảng bên trái (mục Network)
- Kéo node "tcp in" vào canvas flow
- Nhấp đúp vào node để cấu hình
3.2 Cấu Hình Cài Đặt TCP Input
Cấu Hình Node:
| Cài Đặt | Giá Trị | Mô Tả |
|---|---|---|
| Type | Listen on | Camera hoạt động như server |
| Port | 49155 | Cổng mà camera lắng nghe |
| Data mode | Stream | Luồng dữ liệu liên tục |
| Data type | UTF8 | Giao tiếp dựa trên văn bản |
| Topic | (tùy chọn) | Phân loại tin nhắn |
3.3 Các Bước Cấu Hình TCP Input
- Cấu Hình Server:
- Chọn "Listen on port" (chế độ server)
- Nhập số cổng (ví dụ:
49155)
- Xử Lý Dữ Liệu:
- Data mode: Chọn "Stream" cho dữ liệu liên tục
- Data type: Chọn "UTF8" cho văn bản hoặc "Buffer" cho dữ liệu nhị phân
- Cài Đặt Nâng Cao:
- Ký tự xuống dòng: Để trống trừ khi cần dấu phân cách cụ thể
- Topic: Định danh định tuyến tin nhắn tùy chọn
- Nhấp
Doneđể lưu cấu hình
3.4 Hướng Dẫn Chọn Port
| Khoảng Port | Mục Đích Sử Dụng | Khuyến Nghị |
|---|---|---|
| 1-1023 | Dành riêng cho hệ thống | Tránh sử dụng |
| 1024-49151 | Port đã đăng ký | Kiểm tra khả dụng |
| 49152-65535 | Động/riêng tư | Khuyến nghị |
Bước 4: Cấu Hình TCP Output (Gửi Dữ Liệu)
4.1 Thêm Node TCP Output
- Tìm node "tcp out" trong bảng bên trái (mục Network)
- Kéo node "tcp out" vào canvas flow
- Nhấp đúp vào node để cấu hình
4.2 Cấu Hình TCP Output
Cấu Hình Node:
| Cài Đặt | Giá Trị | Mô Tả |
|---|---|---|
| Type | Connect to | Camera hoạt động như client |
| Host | 192.168.0.200 | Địa chỉ IP của thiết bị đích |
| Port | 49155 | Port của thiết bị đích |
| Mode | Client | Kết nối ra ngoài |
4.3 Các Bước Cấu Hình TCP Output
- Cài Đặt Kết Nối:
- Type: Chọn "Connect to" (chế độ client)
- Host: Nhập địa chỉ IP của thiết bị đích
- Port: Nhập số port của thiết bị đích
- Tùy Chọn Kết Nối:
- Mode: Giữ nguyên "Client"
- End connection: Cấu hình tùy theo trường hợp sử dụng
- Định Dạng Dữ Liệu:
- Base64: Thường tắt đối với dữ liệu văn bản
- TLS: Chỉ bật khi yêu cầu kết nối bảo mật
- Nhấp
Doneđể lưu cấu hình
Bước 5: Tạo Flow Giao Tiếp
5.1 Xây Dựng Flow Hoàn Chỉnh
Tạo flow có thể vừa gửi vừa nhận dữ liệu TCP:
- Thêm các node sau vào canvas:
- Node Inject (để kích hoạt gửi tin nhắn)
- Node Function (để xử lý tin nhắn)
- Node TCP Out (để gửi dữ liệu)
- Node TCP In (để nhận dữ liệu)
- Node Debug (để giám sát)
5.2 Cấu Hình Node Inject
- Nhấp đúp vào node inject
- Cấu hình các thiết lập:
- Name: "Send Message"
- Payload: Timestamp
- Topic: (để trống)
- Nhấp
Done
5.3 Cấu Hình Node Function
Node function sẽ định dạng tin nhắn gửi đi:
msg.payload = "Hello from OV10i camera";
return msg;
- Nhấp đúp vào node function
- Sao chép đoạn code trên vào tab "On Message"
- Name: "Format Message"
- Nhấp
Done
5.4 Kết Nối Các Node
Kết nối các node theo thứ tự sau:
Flow gửi đi:
- Inject → Function → TCP Out
- Function → Debug (để xem các tin nhắn gửi đi)
Flow nhận vào:
- TCP In → Debug (để xem các tin nhắn nhận vào)
5.5 Cấu Trúc Flow Hoàn Chỉnh
Flow cuối cùng của bạn nên có:
- Inject kết nối với Function
- Function kết nối với cả TCP Out và Debug
- TCP In kết nối với một node Debug riêng
Kết quả: Bạn có thể gửi tin nhắn bằng cách nhấp vào nút inject và xem cả tin nhắn gửi đi và nhận vào trong panel debug.
Bước 6: Cấu Hình Định Dạng Tin Nhắn
6.1 Xác Định Định Dạng Tin Nhắn
Giữ cấu trúc tin nhắn đơn giản:
| Loại Tin Nhắn | Định Dạng | Ví Dụ |
|---|---|---|
| Văn bản đơn giản | Chuỗi thuần | "Hello from camera" |
| Cập nhật trạng thái | Văn bản kèm thông tin | "STATUS: READY" |
| Giá trị dữ liệu | Định dạng key-value | "TEMPERATURE: 25.5" |
6.2 Ví Dụ Tin Nhắn Tùy Chỉnh
Bạn có thể sửa đổi function node cho các loại tin nhắn khác nhau:
Tin nhắn trạng thái đơn giản:
msg.payload = "Camera Ready";
return msg;
Tin nhắn timestamp:
msg.payload = "Time: " + new Date().toLocaleString();
return msg;
Dữ liệu với giá trị:
msg.payload = "INSPECTION_COUNT: 42";
return msg;
Bước 7: Deploy và Kiểm Tra Cấu Hình
7.1 Deploy Node-RED Flow
- Nhấp nút
Deploy(góc trên bên phải) - Xác minh thông báo deploy thành công
- Kiểm tra các chỉ báo trạng thái node:
- Chấm xanh lá: Đã kết nối thành công
- Chấm đỏ: Lỗi kết nối
- Chấm vàng: Đang thử kết nối
7.2 Kiểm Tra Giao Tiếp TCP
7.2.1 Kiểm Tra Kết Nối Cơ Bản
Sử dụng công cụ dòng lệnh:
# Test TCP connection (Linux/Mac)
telnet [camera-ip] [port]
# Example: telnet 192.168.0.100 49155
# Test with netcat
nc [camera-ip] [port]
# Example: nc 192.168.0.100 49155
Windows PowerShell:
Test-NetConnection -ComputerName 192.168.0.100 -Port 49155
7.2.2 Gửi Tin Nhắn Thử Nghiệm
- Kết nối đến cổng TCP của camera
- Gửi lệnh thử nghiệm:
- "STATUS" → Sẽ nhận phản hồi trạng thái
- "TRIGGER" → Sẽ kích hoạt inspection
- "INVALID" → Sẽ xử lý lệnh không xác định
7.2.3 Giám Sát Kết Quả Debug
- Mở bảng debug của Node-RED (thanh bên phải)
- Gửi tin nhắn thử nghiệm qua TCP
- Xác minh kết quả debug hiển thị:
- Tin nhắn đến
- Kết quả xử lý
- Phản hồi gửi đi
7.3 Danh Sách Kiểm Tra Xác Thực
| Kiểm Tra | Kết Quả Mong Đợi | Trạng Thái |
|---|---|---|
| Kết nối TCP | Kết nối thành công đến cổng camera | ☐ |
| Nhận tin nhắn | Debug hiển thị tin nhắn đến | ☐ |
| Xử lý tin nhắn | Function node xử lý chính xác | ☐ |
| Gửi phản hồi | Thiết bị đích nhận được phản hồi | ☐ |
| Xử lý lỗi | Tin nhắn không hợp lệ được xử lý một cách an toàn | ☐ |
Bước 8: Tích Hợp Với Hệ Thống Inspection
8.1 Kết Nối Với Triggers Inspection
Liên kết giao tiếp TCP với workflow inspection:
- Thêm node "All Block Outputs" (nếu chưa có)
- Kết nối kết quả inspection với output TCP
- Định dạng dữ liệu inspection để truyền qua TCP
8.2 Tích Hợp Dữ Liệu Inspection
Function node để xử lý kết quả inspection:
// Get inspection results from All Block Outputs
const results = msg.payload;
// Extract key information
const inspectionSummary = {
result: results.pass ? "PASS" : "FAIL",
timestamp: new Date().toISOString(),
processing_time: results.processing_time,
roi_count: results.roi_results ? results.roi_results.length : 0
};
// Format for TCP transmission
msg.payload = JSON.stringify(inspectionSummary);
return msg;
8.3 Điều Khiển Hai Chiều
Kích hoạt điều khiển từ xa qua TCP:
// Handle remote commands
const command = msg.payload.toString().toUpperCase();
switch(command) {
case "START_INSPECTION":
// Trigger inspection sequence
global.set("trigger_inspection", true);
msg.payload = "INSPECTION_STARTED";
break;
case "STOP_INSPECTION":
// Stop inspection sequence
global.set("trigger_inspection", false);
msg.payload = "INSPECTION_STOPPED";
break;
case "CHANGE_RECIPE":
// Recipe change logic
msg.payload = "RECIPE_CHANGED";
break;
}
return msg;
Bước 9: Khắc Phục Các Sự Cố Thường Gặp
9.1 Sự Cố Kết Nối
| Sự Cố | Triệu Chứng | Giải Pháp |
|---|---|---|
| Không thể kết nối | Chỉ báo trạng thái màu đỏ | Kiểm tra địa chỉ IP và port |
| Kết nối bị ngắt | Trạng thái vàng không liên tục | Xác minh tính ổn định của mạng |
| Lỗi timeout | Phản hồi bị trễ | Điều chỉnh cài đặt timeout |
| Xung đột port | Kết nối bị từ chối | Sử dụng số port khác |
9.2 Sự Cố Truyền Dữ Liệu
| Sự Cố | Triệu Chứng | Giải Pháp |
|---|---|---|
| Không nhận được dữ liệu | Debug hiển thị thông điệp trống | Kiểm tra cài đặt định dạng dữ liệu |
| Dữ liệu bị hỏng | Văn bản lộn xộn trong debug | Xác minh mã hóa (UTF8/Buffer) |
| Mất thông điệp | Thông điệp bị thiếu | Kiểm tra tính ổn định của mạng |
| Sự cố với thông điệp lớn | Dữ liệu bị cắt | Sử dụng thông điệp ngắn hơn |
9.3 Kỹ Thuật Debug
Khắc phục sự cố có hệ thống:
- Bật các debug node tại mỗi bước
- Giám sát nhật ký Node-RED để tìm lỗi
- Thử nghiệm với các TCP client đơn giản trước
- Xác minh kết nối mạng bằng ping
Thành Công! Hệ Thống Giao Tiếp TCP Của Bạn Đã Sẵn Sàng
Hệ thống giao tiếp TCP của bạn hiện có thể:
- Gửi và nhận dữ liệu giữa camera và các thiết bị bên ngoài
- Xử lý các thông điệp đơn giản cho giao tiếp cơ bản
- Giám sát luồng dữ liệu bằng các debug node
- Xử lý giao tiếp mạng cơ bản cho các ứng dụng của bạn
Bảo Trì Liên Tục
Kiểm Tra Hệ Thống Định Kỳ
- Giám sát tính ổn định của kết nối theo thời gian
- Xác minh việc truyền dữ liệu hoạt động ổn định
- Kiểm tra nhật ký debug để phát hiện các mẫu lỗi
- Thử nghiệm giao tiếp sau khi thay đổi mạng
Các Bước Tiếp Theo
Sau khi thiết lập giao tiếp TCP cơ bản:
- Thử nghiệm với các hệ thống bên ngoài của bạn bằng kết nối đã thiết lập
- Tùy chỉnh định dạng thông điệp theo nhu cầu cụ thể của bạn
- Bổ sung logic phức tạp hơn khi yêu cầu của bạn tăng lên
- Xem xét các phương thức giao tiếp khác nếu TCP không đáp ứng hết nhu cầu
🔗 Xem Thêm
- Thiết Lập Giao Tiếp MQTT
- Thiết Lập Giao Tiếp RS-232
- Kết Nối với PLC (Ethernet/IP, PROFINET)
- Kiến Thức Cơ Bản về Node-RED
- Các Custom Block Node-RED của Overview
- Sự Cố Phát Hiện IP & Mạng
Đối với các ứng dụng thông lượng cao:
- Giảm tần suất thông điệp
- Gộp nhiều thông điệp
- Sử dụng định dạng nhị phân cho dữ liệu lớn
- Triển khai nén dữ liệu
Kỹ Thuật Debug
Khắc phục sự cố có hệ thống:
- Bật các debug node tại mỗi bước
- Giám sát nhật ký Node-RED để tìm lỗi
- Sử dụng các công cụ giám sát mạng (Wireshark)
- Thử nghiệm với các TCP client đơn giản trước
Thành Công! Hệ Thống Giao Tiếp TCP Của Bạn Đã Sẵn Sàng
Hệ thống giao tiếp TCP của bạn hiện có thể:
- Gửi và nhận dữ liệu giữa camera và các thiết bị bên ngoài
- Xử lý lệnh để điều khiển từ xa
- Truyền kết quả kiểm tra theo thời gian thực
- Xử lý lỗi một cách linh hoạt với cơ chế xử lý lỗi phù hợp
- Tích hợp với các hệ thống sản xuất cho các quy trình tự động
Bảo Trì Liên Tục
Kiểm Tra Hệ Thống Định Kỳ
- Giám sát độ ổn định kết nối theo thời gian
- Xác minh tính toàn vẹn dữ liệu trong sản xuất
- Cập nhật cấu hình bảo mật khi cần thiết
- Tối ưu hóa hiệu suất dựa trên mô hình sử dụng
Giám Sát Hiệu Suất
- Theo dõi thông lượng tin nhắn và độ trễ
- Giám sát tỷ lệ lỗi và các sự cố kết nối
- Phân tích các mô hình dữ liệu để tìm cơ hội tối ưu hóa
Các Bước Tiếp Theo
Sau khi thiết lập giao tiếp TCP:
- Tích hợp với các hệ thống bên ngoài sử dụng giao thức đã thiết lập
- Triển khai xử lý lỗi toàn diện cho môi trường sản xuất
- Thiết lập logging và giám sát tình trạng hệ thống
- Xem xét các cải tiến bảo mật cho việc triển khai sản xuất