DOKUMENTASIE

RFID Leser Integrasie Handleiding

Omvattende dokumentasie wat seriële kommunikasie opstelling, antenna konfigurasie, tag enkodering operasies (EPC Gen2 / ISO 18000-6C), en kragbestuur dek. Sluit voorbeelde in vir multi-antenna ontplooiings en hoë-spoed voorraad skandering.

Seriële Kommunikasie Opstelling

Nextwaves NRN protokol RFID lesers kommunikeer via seriële poort (RS-232 of USB-na-Seriële). Verbindings parameters moet korrek gekonfigureer word om stabiele data transmissie te verseker.

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

Vir blaaier-gebaseerde WebSerial API verbindings, gebruik Nextwaves Reader Connect by app.nextwaves.com/reader. Die toepassing outomaties bespeur COM poorte en konfigureer verbindings parameters.

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 Raamwerk Struktuur

Elke NRN protokol kommando word ingekapsuleer in 'n binêre raamwerk wat bestaan uit: Opskrif (0x5A), PCW (Protocol Control Word), Kategorie, MID (Boodskap ID), Lengte, Data vrag, en CRC16-CCITT kontrolesom.

VeldGrootteBeskrywing
Header1 byteAltyd 0x5A. begin-van-raamwerk merker
PCW2 bytesProtokolvlae (weergawe, adres)
Category1 byteKommando kategorie (0x00=Stelsel, 0x01=Toestel, 0x02=RFID)
MID1 byteBoodskap-ID binne kategorie
Length2 bytesVraglengte in grepe (groot-einde)
DataN bytesKommando-spesifieke vrag
CRC162 bytesCRC16-CCITT kontrolesom van grepe na kop

Kommando Voorbeelde

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

Sleutelopdragte Verwysing

KommandoKodeBeskrywing
QUERY_INFO0x0100Navraag doen oor leser-reeksnommer en firmware-weergawes
QUERY_RFID_ABILITY0x1000Navraag doen oor RFID-vermoëns (kragbereik, antenna-telling)
READ_EPC_TAG0x0210Begin deurlopende EPC-etiketvoorraad
WRITE_EPC_TAG0x0211Skryf data na 'n tag se EPC-bank
STOP_INVENTORY0x02FFStop 'n lopende etiketvoorraad
CONFIGURE_READER_POWER0x0201Stel transmissiekrag in (0-33 dBm per antenna)
CONFIGURE_ANTENNA_ENABLE0x0203Aktiveer/deaktiveer antenna-poorte (bitmask)
SET_WORKING_FREQUENCY0x0205Stel spesifieke werkfrekwensies in
SET_FILTER_SETTINGS0x0209Konfigureer etiketduplikaatfilter (tydgebaseerd)
BUZZER_SWITCH0x011EBeheer zoemer-modus

Antenna Konfigurasie

RFID-lesers ondersteun tot 32 antenna-poorte. Elke poort word geaktiveer of gedeaktiveer via 'n 4-greep bitmask. Antennes word genommer 1 tot 32, met elke bietjie wat ooreenstem met 'n poort.

Antennabitmask

Aktiveer Antennas 1-4

0x0F, 0x00, 0x00, 0x00

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

Aktiveer Slegs Antennas 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

Multi-Antenna Ontplooiing

Wanneer verskeie antennas ontplooi word, oorweeg polarisasie (lineêr vs. sirkulêr), spasieëring tussen antennas, en oorvleuelende dekking sones. Die leser skandeer opeenvolgend deur geaktiveerde antennas, en elke tag verslag sluit die antenna ID in vir posisie bepaling.

Dokdeur

2-4 antennas per portaal, sirkulêre polarisasie, 30 dBm krag

Vervoerband

1-2 antennas per stasie, lineêre polarisasie, 20-25 dBm

Kleinhandel Rak

Naby-veld antennas, lae krag 15-20 dBm, hoë digtheid

Merker Kodering (EPC Gen2 / ISO 18000-6C)

UHF RFID volg die EPC Gen2 standaard (ISO 18000-6C). Elke merker het 4 geheuebanke: Gereserveerd (wagwoorde), EPC (96+ bit identifiseerder), TID (onveranderlike chip ID), en Gebruiker (aangepaste data).

Merker Geheue Struktuur

BankIDTipiese GrootteGebruik
Reserved0064 bitsDoodmaakwagwoord (32b) + Toegangswagwoord (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96, of pasgemaakte kodering
TID1096+ bitsChip-vervaardiger-ID (slegs-lees, uniek)
User110-512 bitsToepassingspesifieke data (chip-afhanklik)

SGTIN-96 Dekoderingsvoorbeeld

SGTIN-96 is die mees algemene kodering vir kleinhandel- en voorsieningskettingprodukte. Skakel 'n 24-karakter heksadesimale EPC om in GTIN-14, reeksnommer en 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]

Gebruik die aanlyn EPC Encoder-instrument by /tools/tds-rfid-converter om SGTIN-96, SSCC-96, GRAI-96 direk in jou blaaier te enkodeer en dekodeer.

Kragbestuur

Leser se transmissie krag is verstelbaar van 0 tot 33 dBm per antenna poort. Hoër krag verhoog leesafstand maar verhoog ook inmenging en kragverbruik.

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 Monitering

RSSI (Received Signal Strength Indicator) waardes vanaf tags word gerapporteer as rou ADC grepe (0-255). Gebruik die omskakelingsformule om akkurate dBm waardes te kry.

Omrekeningsformule

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

Raw 128

-65 dBm

Goed

Raw 180

-51 dBm

Sterk

Raw 220

-40 dBm

Uitstekend

Hoëspoed-voorraadskandering

Vir hoëspoed-voorraadskandering, konfigureer werkfrekwensies, duplikaat-etiketfilter en deurlopende skanderingsmodus. Lesers ondersteun tot 700 etikette/sekonde met optimale konfigurasie.

Frekvensiekonfigurasie

UHF RFID werk in die 920-925 MHz-band (Suidoos-Asië), met 0.5 MHz kanaalspasiëring. Kanale word genommer van 0 (920 MHz) tot 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

Optimale Skandering Werkvloei

1

Konfigureer antenna poorte en kragvlakke

2

Stel werkfrekwensies in (FHSS vir digte omgewings)

3

Konfigureer duplikaatfilter (500ms-3000ms afhangende van die gebruik)

4

Stuur READ_EPC_TAG om deurlopende voorraad te begin

5

Verwerk merker kennisgewings (PID 0x1231) soos hulle aankom

6

Stuur STOP_INVENTORY wanneer klaar

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