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.

Reader bring-up
NRN
Serial115200 8N1
ProtocolCRC16-CCITT
RF power0-33 dBm
Inventory700 tags/s
5APCWCATMIDLENDATACRC16

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.

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.

Baud rate115200
Data bits8
Stop bits1
ParityNone
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
Header
1 byte
Daima 0x5A. alama ya mwanzo wa fremu
PCW
2 bytes
Bendera za itifaki (toleo, anwani)
Category
1 byte
Kategoria ya amri (0x00=Mfumo, 0x01=Kifaa, 0x02=RFID)
MID
1 byte
Kitambulisho cha ujumbe ndani ya kategoria
Length
2 bytes
Urefu wa mzigo katika baiti (big-endian)
Data
N bytes
Malipo maalum ya amri
CRC16
2 bytes
CRC16-CCITT checksum ya bytes baada ya kichwa

Mifano ya Amri

QUERY_INFO - Query reader serial number and 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_INFO
0x0100
Uliza nambari ya serial ya kisomaji na matoleo ya firmware
QUERY_RFID_ABILITY
0x1000
Uliza uwezo wa RFID (masafa ya nguvu, hesabu ya antena)
READ_EPC_TAG
0x0210
Anzisha hesabu ya lebo ya EPC inayoendelea
WRITE_EPC_TAG
0x0211
Andika data kwenye benki ya EPC ya lebo
STOP_INVENTORY
0x02FF
Simamisha hesabu ya lebo inayoendeshwa
CONFIGURE_READER_POWER
0x0201
Weka nguvu ya upitishaji (0-33 dBm kwa kila antena)
CONFIGURE_ANTENNA_ENABLE
0x0203
Washa/zima bandari za antena (bitmask)
SET_WORKING_FREQUENCY
0x0205
Weka masafa maalum ya kufanya kazi
SET_FILTER_SETTINGS
0x0209
Sanidi kichujio cha nakala ya lebo (kulingana na wakati)
BUZZER_SWITCH
0x011E
Dhibiti 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-40F 00 00 00Binary 00001111 - ports 1, 2, 3, 4 on
Washa Antena 1 & 3 Pekee05 00 00 00Binary 00000101 - ports 1 and 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.

Portal

Mlango wa Dock

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

Station

Ukanda wa Kusafirisha

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

Shelf

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
Reserved
00
64 bits
Nenosiri la kuua (32b) + Nenosiri la ufikiaji (32b)
EPC
01
96-128 bits
SGTIN-96, SSCC-96, au usimbaji maalum
TID
10
96+ bits
Kitambulisho cha mtengenezaji wa chip (cha kusoma tu, cha kipekee)
User
11
0-512 bits
Data 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 UbadilishajidBm = -100 + round((raw x 70) / 255)
Raw 128 - Nzuri-65 dBm
Raw 180 - Nguvu-51 dBm
Raw 220 - Bora-40 dBm

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

01

Sanidi bandari za antena na viwango vya nguvu

02

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

03

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

04

Tuma READ_EPC_TAG ili kuanza hesabu endelevu

05

Chakata arifa za lebo (PID 0x1231) zinapofika

06

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