DOKUMENTĀCIJA

RFID lasītāja integrācijas rokasgrāmata

Visaptveroša dokumentācija, kas aptver seriālās komunikācijas iestatīšanu, antenas konfigurāciju, atzīmju kodēšanas operācijas (EPC Gen2 / ISO 18000-6C) un enerģijas pārvaldību. Ietver piemērus vairāku antenu izvietošanai un ātrgaitas inventāra skenēšanai.

Seriālās komunikācijas iestatīšana

Nextwaves NRN protokola RFID lasītāji sazinās, izmantojot seriālo portu (RS-232 vai USB-to-Serial). Savienojuma parametri ir pareizi jākonfigurē, lai nodrošinātu stabilu datu pārraidi.

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

Lai izveidotu pārlūkprogrammas WebSerial API savienojumus, izmantojiet Nextwaves Reader Connect vietnē app.nextwaves.com/reader. Lietojumprogramma automātiski atrod COM portus un konfigurē savienojuma parametrus.

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 protokola rāmja struktūra

Katrs NRN protokola komanda ir iekapsulēta binārā rāmī, kas sastāv no: galvenes (0x5A), PCW (protokola kontroles vārds), kategorijas, MID (ziņojuma ID), garuma, datu kravas un CRC16-CCITT kontrolsummas.

LauksIzmērsApraksts
Header1 byteVienmēr 0x5A. rāmja sākuma marķieris
PCW2 bytesProtokola karodziņi (versija, adrese)
Category1 byteKomandas kategorija (0x00=Sistēma, 0x01=Ierīce, 0x02=RFID)
MID1 byteZiņojuma ID kategorijā
Length2 bytesPayload garums baitos (big-endian)
DataN bytesKomandai specifiska datu pakete
CRC162 bytesCRC16-CCITT kontrolsumma baitiem pēc galvenes

Komandu piemēri

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

Galveno komandu atsauce

KomandaKodsApraksts
QUERY_INFO0x0100Vaicāt lasītāja sērijas numuru un programmaparatūras versijas
QUERY_RFID_ABILITY0x1000Vaicāt RFID iespējas (jaudas diapazons, antenu skaits)
READ_EPC_TAG0x0210Sākt nepārtrauktu EPC tagu inventarizāciju
WRITE_EPC_TAG0x0211Rakstīt datus tagam EPC bankā
STOP_INVENTORY0x02FFApturēt notiekošo tagu inventarizāciju
CONFIGURE_READER_POWER0x0201Iestatīt pārraides jaudu (0–33 dBm uz antenu)
CONFIGURE_ANTENNA_ENABLE0x0203Iespējot/atspējot antenu portus (bitu maska)
SET_WORKING_FREQUENCY0x0205Iestatīt konkrētas darba frekvences
SET_FILTER_SETTINGS0x0209Konfigurēt tagu dublikātu filtru (laika bāzes)
BUZZER_SWITCH0x011EKontrolēt zummera režīmu

Antenas konfigurācija

RFID lasītāji atbalsta līdz 32 antenu portiem. Katrs ports tiek ieslēgts vai izslēgts, izmantojot 4 baitu bitu masku. Antenas ir numurētas no 1 līdz 32, un katrs bits atbilst portam.

Antenas bitu maska

Aktivizēt antenas 1-4

0x0F, 0x00, 0x00, 0x00

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

Aktivizēt tikai antenas 1 un 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

Vairāku antenu izvietošana

Izvietojot vairākas antenas, apsveriet polarizāciju (lineāru pret cirkulāru), atstarpi starp antenām un pārklāšanās zonas. Lasītājs skenē secīgi caur iespējotajām antenām, un katrs atzīmes ziņojums ietver antenas ID pozīcijas noteikšanai.

Dokstacija

2-4 antenas uz portālu, cirkulāra polarizācija, 30 dBm jauda

Konveijera lente

1-2 antenas uz staciju, lineāra polarizācija, 20-25 dBm

Mazumtirdzniecības plaukts

Tuvā lauka antenas, zema jauda 15-20 dBm, augsts blīvums

Tagu kodēšana (EPC Gen2 / ISO 18000-6C)

UHF RFID atbilst EPC Gen2 standartam (ISO 18000-6C). Katram tagam ir 4 atmiņas bankas: Reserved (paroles), EPC (96+ bitu identifikators), TID (nemainīgs mikroshēmas ID) un User (pielāgoti dati).

Tagu atmiņas struktūra

BankaIDTipisks izmērsLietojums
Reserved0064 bitsKill parole (32b) + Access parole (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96 vai pielāgota kodēšana
TID1096+ bitsČipa ražotāja ID (tikai lasāms, unikāls)
User110-512 bitsLietojumprogrammai specifiski dati (atkarīgi no čipa)

SGTIN-96 atšifrēšanas piemērs

SGTIN-96 ir visbiežāk izmantotā kodēšana mazumtirdzniecības un piegādes ķēdes produktiem. Pārvērtiet 24 rakstzīmju heksadecimālo EPC par GTIN-14, sērijas numuru un 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]

Izmantojiet tiešsaistes EPC kodētāja rīku vietnē /tools/tds-rfid-converter lai kodētu un dekodētu SGTIN-96, SSCC-96, GRAI-96 tieši jūsu pārlūkprogrammā.

Enerģijas pārvaldība

Lasītāja pārraides jauda ir regulējama no 0 līdz 33 dBm uz katru antenas portu. Lielāka jauda palielina nolasīšanas diapazonu, bet arī palielina traucējumus un enerģijas patēriņu.

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 uzraudzība

RSSI (saņemtā signāla stipruma indikators) vērtības no atzīmēm tiek ziņotas kā neapstrādāti ADC baiti (0-255). Izmantojiet konversijas formulu, lai iegūtu precīzas dBm vērtības.

Konversijas formula

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

Raw 128

-65 dBm

Labi

Raw 180

-51 dBm

Spēcīgs

Raw 220

-40 dBm

Izcili

Ātrgaitas inventarizācijas skenēšana

Ātrgaitas inventarizācijas skenēšanai konfigurējiet darba frekvences, dublēto tagu filtru un nepārtrauktas skenēšanas režīmu. Lasītāji atbalsta līdz 700 tagiem/sekundē ar optimālu konfigurāciju.

Frekvences konfigurācija

UHF RFID darbojas 920-925 MHz joslā (Dienvidaustrumāzija) ar 0,5 MHz kanālu atstarpi. Kanāli ir numurēti no 0 (920 MHz) līdz 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

Optimāls skenēšanas darbplūsma

1

Konfigurējiet antenas portus un jaudas līmeņus

2

Iestatiet darba frekvences (FHSS blīvai videi)

3

Konfigurējiet dublikātu filtru (500ms-3000ms atkarībā no lietošanas gadījuma)

4

Nosūtiet READ_EPC_TAG, lai sāktu nepārtrauktu inventarizāciju

5

Apstrādājiet tagu paziņojumus (PID 0x1231) to saņemšanas brīdī

6

Nosūtiet STOP_INVENTORY, kad pabeigts

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