RFID Oxuyucu İnteqrasiya Təlimatı
Serial rabitə quraşdırması, antena konfiqurasiyası, etiket kodlaşdırma əməliyyatları (EPC Gen2 / ISO 18000-6C) və enerji idarəetməsini əhatə edən hərtərəfli sənədləşdirmə. Çox antenlı yerləşdirmələr və yüksək sürətli inventarlaşdırma skriptləri üçün nümunələri əhatə edir.
Serial Rabitə Quraşdırması
Nextwaves NRN protokol RFID oxuyucuları serial port (RS-232 və ya USB-to-Serial) vasitəsilə rabitə edir. Sabit məlumat ötürülməsini təmin etmək üçün bağlantı parametrləri düzgün konfiqurasiya edilməlidir.
Brauzer əsaslı WebSerial API bağlantıları üçün app.nextwaves.com/reader ünvanında Nextwaves Reader Connect istifadə edin. Tətbiq avtomatik olaraq COM portlarını aşkar edir və bağlantı parametrlərini konfiqurasiya edir.
// Request serial port access
const port = await navigator.serial.requestPort();
await port.open({
baudRate: 115200,
dataBits: 8,
stopBits: 1,
parity: "none",
flowControl: "none",
bufferSize: 4096,
});
// Get reader/writer streams
const reader = port.readable.getReader();
const writer = port.writable.getWriter();import serial
port = serial.Serial(
port="/dev/ttyUSB0", # Linux/macOS
# port="COM3", # Windows
baudrate=115200,
bytesize=serial.EIGHTBITS,
stopbits=serial.STOPBITS_ONE,
parity=serial.PARITY_NONE,
timeout=2.0,
)
# Flush buffers before communication
port.reset_input_buffer()
port.reset_output_buffer()Nextwaves NRN Protokol Çərçivə Quruluşu
Hər NRN protokol əmri aşağıdakılardan ibarət ikili çərçivəyə qablaşdırılır: Header (0x5A), PCW (Protokol İdarəetmə Sözü), Kateqoriya, MID (Mesaj ID), Uzunluq, Məlumat yükü və CRC16-CCITT checksum.
Əmr Nümunələri
TX -> 5A 00 01 01 00 00 00 DC E5
+----+ +------+ +----+ +----+ +------+ +------+
| 5A | | 0001 | | 01 | | 00 | | 0000 | | DCE5 |
+----+ +------+ +----+ +----+ +------+ +------+
HDR PCW CAT MID LEN CRC16TX -> 5A 00 01 02 10 00 00 04 5A
HDR PCW CAT MID LEN CRC16
Response notifications (PID 0x1231) contain:
- Antenna ID (1 byte)
- RSSI value (1 byte, raw ADC 0-255)
- EPC data (12+ bytes)
- Frequency channel index (1 byte)TX -> 5A 00 01 02 FF 00 00 88 5A
HDR PCW CAT MID LEN CRC16Əsas Əmrlər İstinadı
Antena Konfiqurasiyası
RFID oxuyucuları 32-ə qədər antena portunu dəstəkləyir. Hər port 4 baytlıq bitmask vasitəsilə aktiv və ya deaktiv edilir. Antenalar 1-dən 32-yə qədər nömrələnir, hər bit bir porta uyğun gəlir.
Antena Bitmaskı
TX -> 5A 00 01 02 03 00 04 0F 00 00 00 E1 EF
+-----------+
Payload: |0F 00 00 00| <- bitmask
+-----------+
Bit 0 = ANT1, Bit 1 = ANT2, Bit 2 = ANT3, Bit 3 = ANT4
0x0F = 0b00001111 -> all 4 ports enabledÇox Antenlı Yerləşdirmə
Bir neçə antena yerləşdirərkən, polyarizasiyanı (xətti vs dairəvi), antenalar arasındakı məsafəni və üst-üstə düşən örtük zonalarını nəzərə alın. Oxuyucu aktiv antenalar vasitəsilə ardıcıl olaraq skan edir və hər etiket hesabatı mövqe təyinetməsi üçün antena ID-sini əhatə edir.
Dock Qapısı
Portal başına 2-4 antena, dairəvi polyarizasiya, 30 dBm güc
Konveyer Lent
Stansiya başına 1-2 antena, xətti polyarizasiya, 20-25 dBm
Pərakəndə Rəfi
Yaxın sahə antenaları, aşağı güc 15-20 dBm, yüksək sıxlıq
Etiket Kodlaşdırması (EPC Gen2 / ISO 18000-6C)
UHF RFID EPC Gen2 standartına (ISO 18000-6C) tabedir. Hər etiketin 4 yaddaş bankı var: Reserved (parollar), EPC (96+ bit identifikator), TID (dəyişməz çip ID) və User (xüsusi məlumat).
Etiket Yaddaş Quruluşu
SGTIN-96 Dekod Nümunəsi
SGTIN-96 pərakəndə və təchizat zənciri məhsulları üçün ən ümumi kodlaşdırmadır. 24 simvollu hex EPC-ni GTIN-14, seriya nömrəsi və GS1 Rəqəmsal Keçidə çevirin.
EPC Hex: 3034257BF7194E4000001A85
Decoded:
Header: 0x30 (SGTIN-96)
Filter: 1 (Point-of-Sale)
Partition: 5
Company Prefix: 0614141
Item Reference: 812345
Serial: 6789
GTIN-14: 80614141123458
Digital Link: https://id.gs1.org/01/80614141123458/21/6789// NRN protocol WRITE_EPC_TAG command
TX -> 5A 00 01 02 11 00 0C [EPC_DATA_12_BYTES] [CRC16]
// The reader will:
// 1. Select the tag in its field
// 2. Write the provided EPC data to Bank 01
// 3. Return success/failure notification
// Access password required if tag is locked:
TX -> 5A 00 01 02 11 00 10 [ACCESS_PWD_4B] [EPC_DATA_12B] [CRC16]Kodlaşdırmaq və dekodlamaq üçün onlayn EPC Encoder alətindən istifadə edin /tools/tds-rfid-converter SGTIN-96, SSCC-96, GRAI-96-lang1 birbaşa brauzerinizdə.
Enerji İdarəetməsi
Oxuyucu ötürmə gücü antena portu başına 0-dan 33 dBm-ə qədər tənzimlənə bilər. Daha yüksək güc oxuma məsafəsini artırır, lakin həm də parazit və enerji istehlakını artırır.
TX -> 5A 00 01 02 01 00 04 1E 1E 1E 1E 67 FE
+-----------+
Payload: |1E 1E 1E 1E|
+-----------+
0x1E = 30 decimal = 30 dBm per port
Power guidelines:
- 33 dBm - Maximum range (~10m), dock doors
- 30 dBm - Standard range (~6-8m), general use
- 25 dBm - Medium range (~3-5m), conveyor belts
- 20 dBm - Short range (~1-2m), point-of-sale
- 15 dBm - Near-field (~0.5m), shelf readersRSSI Monitorinqi
Etiketlərdən RSSI (Alınan Siqnal Gücü Göstəricisi) dəyərləri xam ADC baytları (0-255) kimi bildirilir. Dəqiq dBm dəyərləri əldə etmək üçün çevirmə düsturundan istifadə edin.
Yüksək Sürətli İnventarlaşdırma Skriptləri
Yüksək sürətli inventarlaşdırma skriptləri üçün iş tezliklərini, dublikat etiket filterini və davamlı skan rejimini konfiqurasiya edin. Oxuyucular optimal konfiqurasiya ilə saniyədə 700-ə qədər etiketi dəstəkləyir.
Tezlik Konfiqurasiyası
UHF RFID 920-925 MHz zolağında (Cənub-Şərqi Asiya) işləyir, 0.5 MHz kanal aralığı ilə. Kanallar 0 (920 MHz)-dən 10 (925 MHz)-ə qədər nömrələnir.
TX -> 5A 00 01 02 05 00 06 00 02 04 06 08 0A C4 1B
Channel mapping (formula: 920.0 + index x 0.5 MHz):
Ch 0 -> 920.0 MHz
Ch 2 -> 921.0 MHz
Ch 4 -> 922.0 MHz
Ch 6 -> 923.0 MHz
Ch 8 -> 924.0 MHz
Ch 10 -> 925.0 MHzOptimal Skanlama İş Axını
Antena portlarını və güc səviyyələrini konfiqurasiya edin
İş tezliklərini təyin edin (sıx mühitlər üçün FHSS)
Dublikat filteri konfiqurasiya edin (istifadə halından asılı olaraq 500ms-3000ms)
Daimi inventarlaşdırmaya başlamaq üçün READ_EPC_TAG göndərin
Gəldikcə etiket bildirişlərini (PID 0x1231) emal edin
Bitirdikdə STOP_INVENTORY göndərin
// 1. Enable antennas 1-4
await sendFrame("CONFIGURE_ANTENNA_ENABLE", [0x0F, 0x00, 0x00, 0x00]);
// 2. Set power to 30 dBm on all ports
await sendFrame("CONFIGURE_READER_POWER", [0x1E, 0x1E, 0x1E, 0x1E]);
// 3. Set working frequencies
await sendFrame("SET_WORKING_FREQUENCY", [0, 2, 4, 6, 8, 10]);
// 4. Set duplicate filter to 1000ms
await sendFrame("SET_FILTER_SETTINGS", [0x03, 0xE8]);
// 5. Start inventory
await sendFrame("READ_EPC_TAG");
// 6. Process tags...
reader.on("tag", (tag) => {
const rssiDbm = -100 + Math.round((tag.rssi * 70) / 255);
console.log(`EPC: ${tag.epc}, Ant: ${tag.antenna}, RSSI: ${rssiDbm} dBm`);
});
// 7. Stop when done
await sendFrame("STOP_INVENTORY");