DOKUMENTASYON

Manwal ng Integrasyon ng RFID Reader

Komprehensibong dokumentasyon na sumasaklaw sa setup ng serial communication, configuration ng antenna, operasyon ng pag-encode ng tag (EPC Gen2 / ISO 18000-6C), at pamamahala ng power. Kasama ang mga halimbawa para sa multi-antenna deployments at high-speed inventory scanning.

Pag-setup ng Serial na Komunikasyon

Ang mga RFID reader na gumagamit ng Nextwaves NRN protocol ay nakikipag-ugnayan sa pamamagitan ng serial port (RS-232 o USB-to-Serial). Dapat maayos na i-configure ang mga parameter ng koneksyon upang matiyak ang matatag na paglipat ng data.

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

Para sa mga koneksyon ng WebSerial API sa browser, gamitin ang Nextwaves Reader Connect sa app.nextwaves.com/reader. Awtomatikong natutuklasan ng aplikasyon ang mga COM port at inaayos ang mga parameter ng koneksyon.

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()

Struktura ng Frame ng Nextwaves NRN Protocol

Bawat NRN protocol command ay nakapaloob sa isang binary frame na binubuo ng: Header (0x5A), PCW (Protocol Control Word), Category, MID (Message ID), Length, Data payload, at CRC16-CCITT checksum.

PatlangLakiPaglalarawan
Header1 bytePalaging 0x5A. marker ng simula ng frame
PCW2 bytesMga flag ng protocol (bersyon, address)
Category1 byteKategorya ng utos (0x00=System, 0x01=Device, 0x02=RFID)
MID1 byteMessage ID sa loob ng kategorya
Length2 bytesHaba ng payload sa mga byte (big-endian)
DataN bytesPayload na tiyak sa utos
CRC162 bytesCRC16-CCITT checksum ng mga byte pagkatapos ng header

Mga Halimbawa ng Kautusan

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

Sanggunian ng Key Commands

KautusanKodigoPaglalarawan
QUERY_INFO0x0100Kunin ang serial number ng mambabasa at mga bersyon ng firmware
QUERY_RFID_ABILITY0x1000Kunin ang kakayahan ng RFID (saklaw ng kapangyarihan, bilang ng antenna)
READ_EPC_TAG0x0210Simulan ang tuloy-tuloy na imbentaryo ng EPC tag
WRITE_EPC_TAG0x0211Isulat ang data sa EPC bank ng isang tag
STOP_INVENTORY0x02FFItigil ang nagpapatakbong imbentaryo ng tag
CONFIGURE_READER_POWER0x0201Itakda ang transmit power (0-33 dBm bawat antenna)
CONFIGURE_ANTENNA_ENABLE0x0203I-enable/i-disable ang mga antenna port (bitmask)
SET_WORKING_FREQUENCY0x0205Itakda ang tiyak na mga working frequency
SET_FILTER_SETTINGS0x0209I-configure ang duplicate filter ng tag (batay sa oras)
BUZZER_SWITCH0x011EKontrolin ang mode ng buzzer

Kumpigurasyon ng Antenna

Sinusuportahan ng mga RFID reader ang hanggang 32 antenna port. Ang bawat port ay maaaring i-enable o i-disable gamit ang 4-byte na bitmask. Ang mga antenna ay binibigyan ng bilang mula 1 hanggang 32, kung saan ang bawat bit ay tumutugma sa isang port.

Bitmask ng Antenna

Paganahin ang Antennas 1-4

0x0F, 0x00, 0x00, 0x00

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

Paganahin lamang ang Antennas 1 at 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

Pag-deploy ng Maramihang Antenna

Kapag nag-deploy ng maramihang antenna, isaalang-alang ang polarization (linear vs. circular), agwat sa pagitan ng mga antenna, at mag-overlap na mga coverage zone. Ang reader ay nag-scan nang sunud-sunod sa mga pinahintulutang antenna, at bawat ulat ng tag ay kasama ang antenna ID para sa pagtukoy ng posisyon.

Pintuan ng Dock

2-4 antenna bawat portal, circular polarization, 30 dBm na kapangyarihan

Conveyor Belt

1-2 antenna bawat istasyon, linear polarization, 20-25 dBm

Istante ng Retail

Near-field antennas, mababang power na 15-20 dBm, mataas na densidad

Pag-encode ng Tag (EPC Gen2 / ISO 18000-6C)

Ang UHF RFID ay sumusunod sa pamantayan ng EPC Gen2 (ISO 18000-6C). Bawat tag ay may 4 na memory bank: Reserved (mga password), EPC (96+ bit na identifier), TID (hindi nababago na chip ID), at User (custom na data).

Estruktura ng Memorya ng Tag

BangkoIDKaraniwang LakiPaggamit
Reserved0064 bitsKill password (32b) + Access password (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96, o custom encoding
TID1096+ bitsChip manufacturer ID (basahin-lamang, natatangi)
User110-512 bitsData na partikular sa aplikasyon (nakadepende sa chip)

Halimbawa ng Pag-decode ng SGTIN-96

Ang SGTIN-96 ay ang pinakakaraniwang encoding para sa mga produkto ng retail at supply chain. I-convert ang 24-character na hex EPC sa GTIN-14, serial number, at 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]

Gamitin ang online na tool na EPC Encoder sa /tools/tds-rfid-converter upang i-encode at i-decode ang SGTIN-96, SSCC-96, GRAI-96 nang direkta sa iyong browser.

Pamamahala ng Power

Ang transmit power ng reader ay maaaring i-adjust mula 0 hanggang 33 dBm bawat antenna port. Ang mas mataas na power ay nagpapataas ng read range ngunit nagdadagdag din ng interference at konsumo ng power.

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

Pagmamanman ng RSSI

Ang mga halaga ng RSSI (Received Signal Strength Indicator) mula sa mga tag ay iniulat bilang raw na ADC bytes (0-255). Gamitin ang conversion formula upang makuha ang tumpak na mga halaga ng dBm.

Pormula ng Pag-convert

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

Raw 128

-65 dBm

Mabuti

Raw 180

-51 dBm

Malakas

Raw 220

-40 dBm

Mahusay

Mabilis na Pag-scan ng Imbentaryo

Para sa mabilis na pag-scan ng imbentaryo, i-configure ang mga working frequency, duplicate tag filter, at continuous scan mode. Ang mga reader ay sumusuporta hanggang 700 na tag bawat segundo sa optimal na configuration.

Kumpigurasyon ng Frequency

Ang UHF RFID ay gumagana sa bandang 920-925 MHz (Timog-silangang Asya), na may agwat ng channel na 0.5 MHz. Ang mga channel ay binibigyan ng numero mula 0 (920 MHz) hanggang 10 (925 MHz).

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

Pinakamainam na Workflow ng Pag-scan

1

I-configure ang mga antenna port at antas ng kapangyarihan

2

Itakda ang mga working frequency (FHSS para sa masikip na kapaligiran)

3

I-configure ang duplicate filter (500ms-3000ms depende sa kaso ng paggamit)

4

Ipadala ang READ_EPC_TAG upang simulan ang patuloy na imbentaryo

5

Iproseso ang mga notipikasyon ng tag (PID 0x1231) habang dumarating

6

Ipadala ang STOP_INVENTORY kapag tapos na

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