SƏNƏDLƏŞDİRMƏ

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.

Reader bring-up
NRN
Serial115200 8N1
ProtocolCRC16-CCITT
RF power0-33 dBm
Inventory700 tags/s
5APCWCATMIDLENDATACRC16

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.

Baud rate115200
Data bits8
Stop bits1
ParityNone
TypeScript - WebSerial Connection
// 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();
Python - PySerial Connection
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.

SahəÖlçüTəsvir
Header
1 byte
Həmişə 0x5A. çərçivə başlanğıcı markerı
PCW
2 bytes
Protokol bayraqları (versiya, ünvan)
Category
1 byte
Əmr kateqoriyası (0x00=Sistem, 0x01=Cihaz, 0x02=RFID)
MID
1 byte
Kateqoriya daxilində mesaj ID-si
Length
2 bytes
Baytla yük uzunluğu (big-endian)
Data
N bytes
Əmrə xüsusi yük
CRC16
2 bytes
Headerdən sonrakı baytların CRC16-CCITT checksumı

Əmr Nümunələri

QUERY_INFO - Query reader serial number and firmware
TX -> 5A 00 01 01 00 00 00 DC E5
       +----+ +------+ +----+ +----+ +------+ +------+
       | 5A | | 0001 | | 01 | | 00 | | 0000 | | DCE5 |
       +----+ +------+ +----+ +----+ +------+ +------+
        HDR     PCW    CAT   MID    LEN     CRC16
READ_EPC_TAG - Start continuous EPC tag inventory
TX -> 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)
STOP_INVENTORY - Stop running inventory scan
TX -> 5A 00 01 02 FF 00 00 88 5A
       HDR  PCW   CAT MID LEN   CRC16

Əsas Əmrlər İstinadı

ƏmrKodTəsvir
QUERY_INFO
0x0100
Oxuyucu seriya nömrəsini və firmware versiyalarını sorğulayın
QUERY_RFID_ABILITY
0x1000
RFID imkanlarını sorğulayın (güc diapazonu, antena sayı)
READ_EPC_TAG
0x0210
Daimi EPC etiket inventarlaşdırmasına başlayın
WRITE_EPC_TAG
0x0211
Etiketin EPC bankına məlumat yazın
STOP_INVENTORY
0x02FF
İşləyən etiket inventarlaşdırmasını dayandırın
CONFIGURE_READER_POWER
0x0201
Ötürmə gücünü təyin edin (antena başına 0-33 dBm)
CONFIGURE_ANTENNA_ENABLE
0x0203
Antena portlarını aktiv/deaktiv edin (bitmask)
SET_WORKING_FREQUENCY
0x0205
Xüsusi iş tezliklərini təyin edin
SET_FILTER_SETTINGS
0x0209
Etiket dublikat filterini konfiqurasiya edin (vaxt əsaslı)
BUZZER_SWITCH
0x011E
Siqnal rejimini idarə edin

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ı

Antenalar 1-4-ü aktiv edin0F 00 00 00Binary 00001111 - ports 1, 2, 3, 4 on
Yalnız Antenalar 1 və 3-ü aktiv edin05 00 00 00Binary 00000101 - ports 1 and 3 on
CONFIGURE_ANTENNA_ENABLE - Enable ports 1-4
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.

Portal

Dock Qapısı

Portal başına 2-4 antena, dairəvi polyarizasiya, 30 dBm güc

Station

Konveyer Lent

Stansiya başına 1-2 antena, xətti polyarizasiya, 20-25 dBm

Shelf

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

BankIDTipik Ölçüİstifadə
Reserved
00
64 bits
Kill parolu (32b) + Giriş parolu (32b)
EPC
01
96-128 bits
SGTIN-96, SSCC-96 və ya xüsusi kodlaşdırma
TID
10
96+ bits
Çip istehsalçı ID-si (yalnız oxunur, unikal)
User
11
0-512 bits
Tətbiqə xüsusi məlumat (çipdən asılı)

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.

SGTIN-96 Decode - Example
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
WRITE_EPC_TAG - Write EPC data to tag
// 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.

CONFIGURE_READER_POWER - Set 30 dBm on all 4 ports
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 readers

RSSI 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.

Çevirmə DüsturudBm = -100 + round((raw x 70) / 255)
Raw 128 - Yaxşı-65 dBm
Raw 180 - Güclü-51 dBm
Raw 220 - Əla-40 dBm

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.

SET_WORKING_FREQUENCY - 6 channels (920-925 MHz)
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 MHz

Optimal Skanlama İş Axını

01

Antena portlarını və güc səviyyələrini konfiqurasiya edin

02

İş tezliklərini təyin edin (sıx mühitlər üçün FHSS)

03

Dublikat filteri konfiqurasiya edin (istifadə halından asılı olaraq 500ms-3000ms)

04

Daimi inventarlaşdırmaya başlamaq üçün READ_EPC_TAG göndərin

05

Gəldikcə etiket bildirişlərini (PID 0x1231) emal edin

06

Bitirdikdə STOP_INVENTORY göndərin

Complete inventory flow - TypeScript
// 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");