NYARAKA

Mwongozo wa Ujumuishaji wa Kisomaji cha RFID

Nyaraka za kina zinazohusu usanidi wa mawasiliano ya serial, usanidi wa antena, shughuli za usimbaji wa lebo (EPC Gen2 / ISO 18000-6C), na usimamizi wa nishati. Inajumuisha mifano ya matumizi ya antena nyingi na uchanganuzi wa hesabu ya kasi ya juu.

Usanidi wa Mawasiliano ya Serial

Visomaji vya RFID vya itifaki ya Nextwaves NRN huwasiliana kupitia mlango wa serial (RS-232 au USB-to-Serial). Vigezo vya muunganisho lazima visanidiwe kwa usahihi ili kuhakikisha upitishaji thabiti wa data.

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

Kwa miunganisho ya API ya WebSerial inayotegemea kivinjari, tumia Nextwaves Reader Connect katika app.nextwaves.com/reader. Programu hugundua kiotomatiki milango ya COM na kusanidi vigezo vya muunganisho.

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

Muundo wa Fremu ya Itifaki ya Nextwaves NRN

Kila amri ya itifaki ya NRN imefungwa katika fremu ya binary inayojumuisha: Kichwa (0x5A), PCW (Neno la Udhibiti wa Itifaki), Kitengo, MID (Kitambulisho cha Ujumbe), Urefu, malipo ya Data, na checksum ya CRC16-CCITT.

SehemuUkubwaMaelezo
Header1 byteDaima 0x5A. alama ya mwanzo wa fremu
PCW2 bytesBendera za itifaki (toleo, anwani)
Category1 byteKategoria ya amri (0x00=Mfumo, 0x01=Kifaa, 0x02=RFID)
MID1 byteKitambulisho cha ujumbe ndani ya kategoria
Length2 bytesUrefu wa mzigo katika baiti (big-endian)
DataN bytesMalipo maalum ya amri
CRC162 bytesCRC16-CCITT checksum ya bytes baada ya kichwa

Mifano ya Amri

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

Rejea ya Amri Muhimu

AmriMsimboMaelezo
QUERY_INFO0x0100Uliza nambari ya serial ya kisomaji na matoleo ya firmware
QUERY_RFID_ABILITY0x1000Uliza uwezo wa RFID (masafa ya nguvu, hesabu ya antena)
READ_EPC_TAG0x0210Anzisha hesabu ya lebo ya EPC inayoendelea
WRITE_EPC_TAG0x0211Andika data kwenye benki ya EPC ya lebo
STOP_INVENTORY0x02FFSimamisha hesabu ya lebo inayoendeshwa
CONFIGURE_READER_POWER0x0201Weka nguvu ya upitishaji (0-33 dBm kwa kila antena)
CONFIGURE_ANTENNA_ENABLE0x0203Washa/zima bandari za antena (bitmask)
SET_WORKING_FREQUENCY0x0205Weka masafa maalum ya kufanya kazi
SET_FILTER_SETTINGS0x0209Sanidi kichujio cha nakala ya lebo (kulingana na wakati)
BUZZER_SWITCH0x011EDhibiti hali ya buzzer

Usanidi wa Antena

Visomaji vya RFID vinaunga mkono hadi bandari 32 za antena. Kila bandari imewezeshwa au kulemazwa kupitia bitmask ya baiti 4. Antena zinahesabiwa 1 hadi 32, na kila kidogo ikilingana na bandari.

Antena Bitmask

Washa Antena 1-4

0x0F, 0x00, 0x00, 0x00

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

Washa Antena 1 & 3 Pekee

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

Utekelezaji wa Antena Nyingi

Unapotumia antena nyingi, fikiria uelekezaji (linear vs. circular), umbali kati ya antena, na maeneo ya ufunikaji yanayoingiliana. Kisomaji huchanganua mfululizo kupitia antena zilizowezeshwa, na kila ripoti ya lebo inajumuisha kitambulisho cha antena kwa uamuzi wa nafasi.

Mlango wa Dock

Antena 2-4 kwa kila portal, polarization ya mviringo, nguvu ya 30 dBm

Ukanda wa Kusafirisha

Antena 1-2 kwa kila kituo, polarization ya mstari, 20-25 dBm

Rafu ya Rejareja

Antena za karibu na uwanja, nguvu ya chini 15-20 dBm, msongamano wa juu

Usimbaji wa Lebo (EPC Gen2 / ISO 18000-6C)

UHF RFID hufuata kiwango cha EPC Gen2 (ISO 18000-6C). Kila lebo ina benki 4 za kumbukumbu: Zimehifadhiwa (nywila), EPC (kitambulishi cha biti 96+), TID (kitambulishi cha chip kisichobadilika), na Mtumiaji (data maalum).

Muundo wa Kumbukumbu ya Lebo

BenkiKitambulishoUkubwa wa KawaidaMatumizi
Reserved0064 bitsNenosiri la kuua (32b) + Nenosiri la ufikiaji (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96, au usimbaji maalum
TID1096+ bitsKitambulisho cha mtengenezaji wa chip (cha kusoma tu, cha kipekee)
User110-512 bitsData maalum ya programu (inategemea chip)

Mfano wa Usimbaji wa SGTIN-96

SGTIN-96 ndiyo usimbaji wa kawaida zaidi kwa bidhaa za rejareja na ugavi. Badilisha EPC ya herufi 24 za hex kuwa GTIN-14, nambari ya serial, na Kiungo cha Dijitali cha GS1.

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]

Tumia zana ya EPC Encoder mtandaoni kwa /tools/tds-rfid-converter ili kusimba na kufumbua SGTIN-96, SSCC-96, GRAI-96 moja kwa moja kwenye kivinjari chako.

Usimamizi wa Nishati

Nguvu ya upitishaji wa kisomaji inarekebishwa kutoka 0 hadi 33 dBm kwa kila bandari ya antena. Nguvu ya juu huongeza masafa ya kusoma lakini pia huongeza usumbufu na matumizi ya nishati.

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

Ufuatiliaji wa RSSI

Thamani za RSSI (Kielekezi cha Nguvu ya Ishara Iliyopokelewa) kutoka kwa lebo zinaripotiwa kama baiti mbichi za ADC (0-255). Tumia fomula ya ubadilishaji ili kupata thamani sahihi za dBm.

Fomula ya Ubadilishaji

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

Raw 128

-65 dBm

Nzuri

Raw 180

-51 dBm

Nguvu

Raw 220

-40 dBm

Bora

Uchanganuzi wa Hesabu wa Kasi ya Juu

Kwa uchanganuzi wa hesabu wa kasi ya juu, sanidi masafa ya kazi, kichujio cha lebo rudufu, na hali ya uchanganuzi endelevu. Visomaji vinaunga mkono hadi lebo 700/sekunde na usanidi bora.

Usanidi wa Marudio

UHF RFID hufanya kazi katika bendi ya 920-925 MHz (Asia ya Kusini-Mashariki), na nafasi ya chaneli ya 0.5 MHz. Vituo vinahesabiwa kutoka 0 (920 MHz) hadi 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

Utiririshaji Bora wa Uchanganuzi

1

Sanidi bandari za antena na viwango vya nguvu

2

Weka masafa ya kufanya kazi (FHSS kwa mazingira yenye msongamano)

3

Sanidi kichujio cha nakala (500ms-3000ms kulingana na matumizi)

4

Tuma READ_EPC_TAG ili kuanza hesabu endelevu

5

Chakata arifa za lebo (PID 0x1231) zinapofika

6

Tuma STOP_INVENTORY ukimaliza

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