Tổng hợp mã lệnh hoạt động trong Seuic AutoID UF3

1. Giới thiệu

Seuic AutoID UF3 là đầu thẻ đọc RFID với bộ xử lý lmpinj R2000 tích hợp RS232, TCP / IP và các giao thức giao thức khác, các thông số kỹ thuật khác nhau của ăng-ten có thể phù hợp. Kết hợp với các thuật toán xử lý tín hiệu hiệu quả và độc quyền có thể được sử dụng rộng rãi trong hậu cần, quản lý tài sản, cửa hàng thông minh, thành phố thông minh,…

AutoID-UF3

2. Định dạng dữ liệu

2.1. Khối dữ liệu lệnh máy chủ

Len Adr Cmd Data[] LSB-CRC16 MSB-CRC16

Mỗi phần của dữ liệu được mô tả như sau:

Chiều dài
(byte)
Mô tả
Len 1 Độ dài của lệnh khối dữ liệu, nhưng nó không bao gồm chính Len. Nghĩa là, độ dài của khối dữ liệu bằng 4 cộng với độ dài của Data[]. Giá trị tối đa được phép cho Len là 255 và giá trị tối thiểu là 4.
Adr 1 Địa chỉ đầu đọc. Dải địa chỉ: 0x00~0xFE, 0xFF là địa chỉ quảng bá, đầu đọc chỉ phản hồi lệnh có cùng địa chỉ với địa chỉ của nó và địa chỉ là 0xFF. Địa chỉ mặc định của đầu đọc.
Cmd 1 Mã lệnh
Data[] Not fixed Trường tham số. Trong lệnh thực tế, nó có thể không xuất hiện.
LSB-CRC16 1 CRC16 Low byte. CRC16 là giá trị CRC16 từ Len đến Data[]
MSB-CRC16 1 CRC16 High byte

2.2. Khối dữ liệu phản hồi của đầu đọc

Len Adr reCmd Status Data[] LSB-CRC16 MSB-CRC16

Mỗi phần của dữ liệu được mô tả như sau:

Chiều dài
(byte)
Mô tả
Len 1 Độ dài của khối dữ liệu phản hồi, nhưng nó không bao gồm chính Len. Nghĩa là, độ dài của khối dữ liệu bằng 5 cộng với độ dài của Data[].
Adr 1 Địa chỉ đầu đọc.
reCmd 1 Cho biết lệnh nào mà khối dữ liệu phản hồi là một phản hồi. Nếu đó là câu trả lời cho một lệnh không được nhận dạng, reCmd là 0x00.
Status 1 Trạng thái thể hiện kết quả thực hiện lệnh.
Data[] Not fixed Trường dữ liệu. Nó có thể không xuất hiện.
LSB-CRC16 1 CRC16 low byte. CRC16 là giá trị CRC16 từ Len đến Data[].
MSB-CRC16 1 CRC16 high byte.

Thuật toán ngôn ngữ C của CRC16:

#define PRESET_VALUE 0xFFFF
#define POLYNOMIAL 0x8408
unsigned int uiCrc16Cal(unsigned char const * pucY, unsigned char ucX)
{
unsigned char ucI,ucJ;
unsigned short int uiCrcValue = PRESET_VALUE;
for(ucI = 0; ucI < ucX; ucI + + )
{
uiCrcValue = uiCrcValue ^ *(pucY + ucI);
for(ucJ = 0; ucJ < 8; ucJ + + )
{
if(uiCrcValue & 0x0001)
{
uiCrcValue = (uiCrcValue >> 1) ^ POLYNOMIAL;
}
else
{
uiCrcValue = (uiCrcValue >> 1);
}
}
}
return uiCrcValue;
}

pucY là mục nhập của mảng ký tự cần tính CRC16 và ucX là số ký tự trong mảng ký tự.

Khi máy chủ nhận dữ liệu, nó chỉ cần tính CRC16 của dữ liệu nhận được theo thuật toán trên, nếu kết quả là 0x0000, cho biết dữ liệu là chính xác.

3. Tổng hợp mã lệnh hoạt động

3.1. Lệnh EPC C1 G2 (ISO18000-6C)

S/N Lệnh Chức năng
1 0x01 Truy vấn thẻ (Query tag)
2 0x02 Đọc data
3 0x03 Ghi data
4 0x04 Ghi số EPC
5 0x05 Hủy thẻ
6 0x06 Đặt trạng thái bảo vệ đọc và ghi của vùng bộ nhớ
7 0x07 Xóa khối
8 0x08 Đặt cài đặt bảo vệ đọc theo số EPC
9 0x09 Không cần cài đặt bảo vệ đọc số EPC
10 0x0A Mở khóa bảo vệ đọc
11 0x0B Kiểm tra xem thẻ có được đặt bảo vệ đọc không
12 0x0C Cài đặt báo động EAS
13 0x0D Phát hiện báo động EAS
14 0x0F Truy vấn thẻ đơn
15 0x10 Ghi khối
16 0x11 Đọc các thông số làm việc của Monza4QT
17 0x12 Set các thông số làm việc của Monza4QT
18 0x15 Chỉ định mask để mở rộng dữ liệu đọc
19 0x16 Chỉ định mask để mở rộng dữ liệu ghi
20 0x18 Truy vấn với cache
21 0x19 Truy vấn hỗn hợp
22 0x1a Truy vấn với số EPC được chỉ định
23 0x1b Truy vấn QT

3.2. Lệnh 18000-6B

S/N Lệnh Chức năng
1 0x50 Thứ tự truy vấn (thẻ đơn). Lệnh này chỉ có thể truy vấn một thẻ điện tử tại một thời điểm. Truy vấn không có điều kiện
2 0x51 Lệnh truy vấn điều kiện (nhiều thẻ). Lệnh này truy vấn các thẻ theo các điều kiện đã cho và trả về UID của các thẻ đáp ứng các điều kiện. Nhiều thẻ điện tử có thể được hỏi cùng một lúc.
3 0x52 Lệnh đọc dữ liệu. Lệnh này đọc dữ liệu của thẻ và có thể đọc tới 32 byte cùng một lúc.
4 0x53 Lệnh ghi dữ liệu. Ghi dữ liệu vào thẻ, có thể ghi tối đa 32 byte cùng một lúc.
5 0x54 Phát hiện lệnh khóa. Phát hiện xem một đơn vị lưu trữ đã bị khóa.
6 0x55 Khóa lệnh. Khóa một thẻ chưa được khóa.

3.3 Lệnh tùy chỉnh đầu đọc

S/N Lệnh Chức năng
1 0x21 Đọc thông tin đầu đọc
2 0x22 Set tần số hoạt động của đầu đọc
3 0x24 Set địa chỉ mô-đun đọc-ghi
4 0x25 Set thời gian truy vấn mô-đun đọc-ghi
5 0x28 Set tốc độ truyền cổng nối tiếp
6 0x2f Điều chỉnh nguồn điện
7 0x33 Acousto – lệnh điều khiển quang học
8 0x3f Cấu hình ăng-ten
9 0x40 Cài đặt buzzer
10 0x46 Lệnh điều khiển GPIO
11 0x47 Đọc trạng thái GPIO
12 0x4c Lấy số sê-ri duy nhất của đầu đọc
13 0x3a Cài đặt chức năng tùy chỉnh thẻ
14 0x66 Set phát hiện ăng-ten
15 0x6a Set cổng kết nối
16 0x6e Cài đặt phát hiện hao hụt ăng ten/lệnh đọc
17 0x70 Set độ dài EPC/TID của cache
18 0x71 Lấy độ dài EPC/TID của cache
19 0x72 Lấy dữ liệu cache
20 0x73 Xóa bộ nhớ cache
21 0x74 Truy vấn số lượng thẻ cache
22 0x75 Set tham số truy vấn thời gian thực
23 0x76 Set chế độ làm việc
24 0x77 Đọc thông số chế độ làm việc
25 0x78 Đọc/ Set khoảng thời gian truy vấn heartbeat packet trong thời gian thực
26 0x79 Set công suất ghi
27 0x7a Đọc công suất ghi
28 0x7b Đọc/ Set ghi lại
29 0x7d Set mật khẩu người dùng của các chức năng tùy chỉnh thẻ
30 0x7e Đọc mật khẩu người dùng của các chức năng tùy chỉnh thẻ
31 0x7f Cài đặt hồ sơ đầu đọc /lệnh đọc
32 0x85 Đồng bộ stamp thời gian EM4325
33 0x86 Lấy dữ liệu nhiệt độ EM4325
34 0x87 Lấy dữ liệu ngoài SPI của EM4325
35 0x88 Đặt lại báo thức EM4325
36 0x90 Cài đặt DRM/lệnh đọc
37 0x91 Đo hao hụt của cổng ăng ten
38 0x92 Đo nhiệt độ làm việc hiện tại của đầu đọc
Bài viết liên quan