ҚҰЖАТТАМА

RFID Reader интеграциялау нұсқаулығы

Сериялық байланысты орнатуды, антенна конфигурациясын, тегті кодтау операцияларын (EPC Gen2 / ISO 18000-6C) және қуатты басқаруды қамтитын жан-жақты құжаттама. Көп антенналы орналастыру және жоғары жылдамдықты түгендеуді сканерлеу үшін мысалдарды қамтиды.

Сериялық байланысты орнату

Nextwaves NRN протоколының RFID оқу құралдары сериялық порт арқылы байланысады (RS-232 немесе USB-to-Serial). Тұрақты деректерді беруді қамтамасыз ету үшін қосылым параметрлері дұрыс конфигурациялануы керек.

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

Браузерге негізделген WebSerial API қосылымдары үшін app.nextwaves.com/reader мекенжайындағы Nextwaves Reader Connect қолданыңыз. Қолданба COM порттарын автоматты түрде анықтайды және қосылым параметрлерін конфигурациялайды.

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 Протокол Кадр Құрылымы

Әрбір NRN протокол командасы мыналардан тұратын екілік кадрға енгізіледі: Header (0x5A), PCW (Protocol Control Word), Category, MID (Message ID), Length, Data payload және CRC16-CCITT checksum.

ӨрісӨлшеміСипаттама
Header1 byteӘрқашан 0x5A. кадрдың басталу белгісі
PCW2 bytesХаттама жалаушалары (нұсқа, мекенжай)
Category1 byteКоманда санаты (0x00=Жүйе, 0x01=Құрылғы, 0x02=RFID)
MID1 byteСанат ішіндегі хабарлама идентификаторы
Length2 bytesЖүктеме ұзындығы байтпен (үлкен-эндиан)
DataN bytesКомандаға тән жүктеме
CRC162 bytesЗаголовоктан кейінгі байттардың CRC16-CCITT бақылау сомасы

Командалардың мысалдары

QUERY_INFO — Query reader serial number & 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

Негізгі пәрмендер анықтамасы

КомандаКодСипаттамасы
QUERY_INFO0x0100Оқу құрылғысының сериялық нөмірі мен микробағдарлама нұсқаларын сұрау
QUERY_RFID_ABILITY0x1000RFID мүмкіндіктерін сұрау (қуат диапазоны, антенна саны)
READ_EPC_TAG0x0210EPC тегінің үздіксіз түгендеуін бастау
WRITE_EPC_TAG0x0211Деректерді тегтің EPC банкіне жазу
STOP_INVENTORY0x02FFЖүріп жатқан тегті түгендеуді тоқтату
CONFIGURE_READER_POWER0x0201Таратқыш қуатын орнату (әр антеннаға 0-33 дБм)
CONFIGURE_ANTENNA_ENABLE0x0203Антенна порттарын қосу/өшіру (биттік маска)
SET_WORKING_FREQUENCY0x0205Жұмыс істеу жиіліктерін орнату
SET_FILTER_SETTINGS0x0209Тегтің қайталау сүзгісін конфигурациялау (уақытқа негізделген)
BUZZER_SWITCH0x011EЗумер режимін басқару

Антенна конфигурациясы

RFID оқу құрылғылары 32 антенна портына дейін қолдайды. Әрбір порт 4 байттық биттік маска арқылы қосылады немесе өшіріледі. Антенналар 1-ден 32-ге дейін нөмірленген, әрбір бит портқа сәйкес келеді.

Антенна биттік маскасы

1-4 антенналарды қосу

0x0F, 0x00, 0x00, 0x00

Binary: 00001111 → Ports 1,2,3,4 ON

Тек 1 және 3 антенналарды қосу

0x05, 0x00, 0x00, 0x00

Binary: 00000101 → Ports 1,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

Көп антенналы орналастыру

Көптеген антенналарды орналастырғанда, поляризацияны (сызықтық vs. дөңгелек), антенналар арасындағы аралықты және жабылатын аймақтарды ескеріңіз. Оқу құралы қосылған антенналар арқылы тізбектеп сканерлейді, және әрбір тег есебінде позицияны анықтау үшін антенна ID бар.

Док есігі

Порталға 2-4 антенна, дөңгелек поляризация, 30 дБм қуат

Конвейерлік таспа

Әр станцияға 1-2 антенна, сызықтық поляризация, 20-25 дБм

Бөлшек сауда сөресі

Жақын-алаңдық антенналар, төмен қуат 15-20 дБм, жоғары тығыздық

Тегті кодтау (EPC Gen2 / ISO 18000-6C)

UHF RFID EPC Gen2 стандартына (ISO 18000-6C) сәйкес келеді. Әрбір тегте 4 жад банкі бар: Reserved (құпия сөздер), EPC (96+ биттік идентификатор), TID (өзгермейтін чип ID) және User (пайдаланушы деректері).

Тег жадының құрылымы

БанкIDТиптік өлшеміҚолданылуы
Reserved0064 bitsЖою құпия сөзі (32b) + Қол жеткізу құпия сөзі (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96 немесе арнайы кодтау
TID1096+ bitsЧип өндірушісінің идентификаторы (тек оқуға арналған, бірегей)
User110-512 bitsҚолданбаға тән деректер (чипке тәуелді)

SGTIN-96 декодтау мысалы

SGTIN-96 - бөлшек сауда және жеткізу тізбегі өнімдері үшін ең көп таралған кодтау. 24 таңбалы hex EPC кодын GTIN-14, сериялық нөмірге және GS1 Digital Link-ке түрлендіріңіз.

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]

Онлайн EPC Encoder құралын пайдаланыңыз /tools/tds-rfid-converter SGTIN-96, SSCC-96, GRAI-96 тікелей браузерде кодтау және декодтау үшін.

Қуатты басқару

Оқу құралының беру қуаты әрбір антенна порты үшін 0-ден 33 дБм-ге дейін реттеледі. Жоғары қуат оқу диапазонын арттырады, бірақ сонымен қатар кедергілер мен қуат тұтынуды арттырады.

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 мониторингі

Тегтерден алынған RSSI (Received Signal Strength Indicator) мәндері шикі ADC байттары ретінде хабарланады (0-255). Дәл дБм мәндерін алу үшін түрлендіру формуласын пайдаланыңыз.

Ауыстыру формуласы

dBm = -100 + round((raw × 70) / 255)

Raw 128

-65 dBm

Жақсы

Raw 180

-51 dBm

Күшті

Raw 220

-40 dBm

Керемет

Жоғары жылдамдықты түгендеуді сканерлеу

Жоғары жылдамдықты түгендеуді сканерлеу үшін жұмыс жиіліктерін, қайталанатын тег сүзгісін және үздіксіз сканерлеу режимін конфигурациялаңыз. Оқу құрылғылары оңтайлы конфигурациямен секундына 700-ге дейін тегті қолдайды.

Жиілік конфигурациясы

UHF RFID 920-925 МГц диапазонында (Оңтүстік-Шығыс Азия) 0,5 МГц арна аралығымен жұмыс істейді. Арналар 0 (920 МГц) -ден 10 (925 МГц) -ге дейін нөмірленген.

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 × 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

Оңтайлы сканерлеу жұмыс ағыны

1

Антенна порттары мен қуат деңгейлерін конфигурациялаңыз

2

Жұмыс жиіліктерін орнатыңыз (тығыз орталар үшін FHSS)

3

Қайталанатын сүзгіні конфигурациялаңыз (қолдану жағдайына байланысты 500 мс-3000 мс)

4

Үздіксіз түгендеуді бастау үшін READ_EPC_TAG жіберіңіз

5

Келген тег туралы хабарламаларды (PID 0x1231) өңдеңіз

6

Аяқталған кезде STOP_INVENTORY жіберіңіз

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");