ሰነድ

RFID አንባቢ ኢንተግሬሽን መመሪያ

ተከታታይ የግንኙነት ማዋቀርን፣ የአንቴና ውቅርን፣ የታግ ኢንኮዲንግ ስራዎችን (EPC Gen2 / ISO 18000-6C) እና የኃይል አስተዳደርን የሚሸፍን አጠቃላይ ሰነድ። ለብዙ አንቴና አሰማራሮች እና ከፍተኛ ፍጥነት ያለው የዕቃ ዝርዝር ቅኝት ምሳሌዎችን ያካትታል።

ሰርይል ግንኙነት ማቀናበር

Nextwaves NRN ፕሮቶኮል RFID አንባቢዎች በተከታታይ ወደብ (RS-232 ወይም USB-to-Serial) በኩል ይገናኛሉ። የተረጋጋ የውሂብ ማስተላለፍን ለማረጋገጥ የግንኙነት መለኪያዎች በትክክል መዋቀር አለባቸው።

Baud Rate

115200

Data Bits

8

Stop Bits

1

Parity

None

በአሳሽ ላይ የተመሰረቱ የWebSerial API ግንኙነቶች፣ Nextwaves Reader Connect በ app.nextwaves.com/reader ይጠቀሙ። አፕሊኬሽኑ የCOM ወደቦችን በራስ-ሰር ያገኛል እና የግንኙነት መለኪያዎችን ያዋቅራል።

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 ፕሮቶኮል ፍሬም አወቅታ

እያንዳንዱ የNRN ፕሮቶኮል ትዕዛዝ በሁለትዮሽ ፍሬም ውስጥ ተጠቃሏል ይህም የሚከተሉትን ያካትታል፡ ራስጌ (0x5A)፣ PCW (የፕሮቶኮል ቁጥጥር ቃል)፣ ምድብ፣ MID (የመልእክት መታወቂያ)፣ ርዝመት፣ የውሂብ ጭነት እና CRC16-CCITT checksum።

መስክመጠንመግለጫ
Header1 byteሁልጊዜ 0x5A. የክፈፍ ምልክት መጀመሪያ
PCW2 bytesየፕሮቶኮል ባንዲራዎች (ስሪት፣ አድራሻ)
Category1 byteየትዕዛዝ ምድብ (0x00=ሲስተም፣ 0x01=መሣሪያ፣ 0x02=RFID)
MID1 byteበምድብ ውስጥ ያለው የመልእክት መታወቂያ
Length2 bytesየክፍያ ርዝመት በባይት (ቢግ-ኢንዲያን)
DataN bytesየትዕዛዝ-ተኮር ክፍያ
CRC162 bytesከራስጌ በኋላ የባይቶች CRC16-CCITT የፍተሻ ድምር

የትዕዛዝ ምሳሌዎች

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

ቁልፍ ትዕዛዞች ማጣቀሻ

ትዕዛዝኮድመግለጫ
QUERY_INFO0x0100የአንባቢውን ተከታታይ ቁጥር እና የጽኑ ትዕዛዝ ስሪቶችን ይጠይቁ
QUERY_RFID_ABILITY0x1000RFID አቅሞችን ይጠይቁ (የኃይል ክልል, የአንቴና ብዛት)
READ_EPC_TAG0x0210ቀጣይነት ያለው የEPC መለያ ክምችት ጀምር
WRITE_EPC_TAG0x0211ውሂብን ወደ መለያው EPC ባንክ ይፃፉ
STOP_INVENTORY0x02FFበሂደት ላይ ያለውን የመለያ ክምችት አቁም
CONFIGURE_READER_POWER0x0201የማስተላለፊያ ኃይልን ያዘጋጁ (0-33 dBm በአንቴና)
CONFIGURE_ANTENNA_ENABLE0x0203የአንቴና ወደቦችን አንቃ/አሰናክል (ቢትማስክ)
SET_WORKING_FREQUENCY0x0205የተወሰኑ የስራ ድግግሞሾችን ያዘጋጁ
SET_FILTER_SETTINGS0x0209የመለያ ብዜት ማጣሪያን ያዋቅሩ (ጊዜን መሰረት ያደረገ)
BUZZER_SWITCH0x011Eየቡዘር ሁነታን ይቆጣጠሩ

የአንቴና ውቅር

RFID አንባቢዎች እስከ 32 አንቴና ወደቦችን ይደግፋሉ። እያንዳንዱ ወደብ በ 4-ባይት ቢትማስክ በኩል ነቅቷል ወይም ተሰናክሏል። አንቴናዎች ከ 1 እስከ 32 ቁጥር ተሰጥቷቸዋል, እያንዳንዱ ቢት ከወደብ ጋር ይዛመዳል.

አንቴና ቢትማስክ

አንቴና 1-4ን አንቃ

0x0F, 0x00, 0x00, 0x00

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

አንቴና 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

ባለብዙ-አንቴና አሰማራር

በርካታ አንቴናዎችን ሲያሰማሩ፣ ፖላራይዜሽን (linear vs. circular)፣ በአንቴናዎች መካከል ያለው ርቀት እና ተደራራቢ የሽፋን ዞኖችን ያስቡ። አንባቢው በተፈቀዱ አንቴናዎች በቅደም ተከተል ይቃኛል፣ እና እያንዳንዱ የታግ ሪፖርት የአንቴናውን መታወቂያ ለቦታ አቀማመጥ ያካትታል።

የወደብ በር

በአንድ ፖርታል 2-4 አንቴናዎች፣ ክብ ፖላራይዜሽን፣ 30 dBm ኃይል

የማጓጓዣ ቀበቶ

በአንድ ጣቢያ 1-2 አንቴናዎች፣ መስመራዊ ፖላራይዜሽን፣ 20-25 dBm

የሽያጭ ሣጥን

የቅርብ-መስክ አንቴናዎች፣ ዝቅተኛ ኃይል 15-20 dBm፣ ከፍተኛ ጥግግት

የመለያ ኢንኮዲንግ (EPC Gen2 / ISO 18000-6C)

UHF RFID የ EPC Gen2 ደረጃን (ISO 18000-6C) ይከተላል። እያንዳንዱ መለያ 4 የማህደረ ትውስታ ባንኮች አሉት፡ የተያዙ (የይለፍ ቃላት)፣ EPC (96+ ቢት መለያ)፣ TID (የማይለወጥ ቺፕ መታወቂያ) እና ተጠቃሚ (ብጁ ውሂብ)።

የመለያ ማህደረ ትውስታ አወቃቀር

ባንክመታወቂያየተለመደ መጠንአጠቃቀም
Reserved0064 bitsየመግደል የይለፍ ቃል (32b) + የመዳረሻ የይለፍ ቃል (32b)
EPC0196-128 bitsSGTIN-96, SSCC-96, ወይም ብጁ ኢንኮዲንግ
TID1096+ bitsየቺፕ አምራች መታወቂያ (ለማንበብ ብቻ፣ ልዩ)
User110-512 bitsየመተግበሪያ-ተኮር ውሂብ (ቺፕ-ጥገኛ)

SGTIN-96 ዲኮዲንግ ምሳሌ

SGTIN-96 ለችርቻሮ እና አቅርቦት ሰንሰለት ምርቶች በጣም የተለመደው ኢንኮዲንግ ነው። የ24-ቁምፊ ሄክስ EPCን ወደ GTIN-14፣ ተከታታይ ቁጥር እና 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]

የመስመር ላይ EPC ኢንኮደር መሳሪያን ይጠቀሙ /tools/tds-rfid-converter SGTIN-96፣ SSCC-96፣ GRAI-96ን በቀጥታ በአሳሽዎ ውስጥ ለመመስጠር እና ለመፍታት።

የኃይል አስተዳደር

የአንባቢው የማስተላለፊያ ኃይል ከ 0 እስከ 33 dBm በአንቴና ወደብ ሊስተካከል ይችላል። ከፍተኛ ኃይል የማንበብ ክልልን ይጨምራል ነገር ግን ጣልቃ ገብነትን እና የኃይል ፍጆታን ይጨምራል።

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 እይታ

ከታጎች የተገኙ የRSSI (Received Signal Strength Indicator) እሴቶች እንደ ጥሬ ADC ባይት (0-255) ሪፖርት ይደረጋሉ። ትክክለኛ የ dBm እሴቶችን ለማግኘት የልወጣ ቀመር ይጠቀሙ።

የመለወጫ ቀመር

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

Raw 128

-65 dBm

ጥሩ

Raw 180

-51 dBm

ጠንካራ

Raw 220

-40 dBm

አሪፍ

ከፍተኛ ፍጥነት ያለው የዕቃ ዝርዝር ቅኝት

ለከፍተኛ ፍጥነት የዕቃ ዝርዝር ቅኝት፣ የስራ ድግግሞሾችን፣ የተባዙ መለያ ማጣሪያን እና ቀጣይነት ያለው የቃኝ ሁነታን ያዋቅሩ። አንባቢዎች በተመቻቸ ውቅር እስከ 700 መለያዎች/ሰከንድ ይደግፋሉ።

የድግግሞሽ ውቅር

UHF RFID በ 920-925 MHz ባንድ (ደቡብ ምስራቅ እስያ) ይሰራል፣ በ 0.5 MHz የሰርጥ ክፍተት። ቻናሎች ከ 0 (920 MHz) እስከ 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

ተገቢ ስካኒንግ የስራ ፍሰት

1

የአንቴና ወደቦችን እና የኃይል ደረጃዎችን ያዋቅሩ

2

የስራ ድግግሞሾችን ያዘጋጁ (FHSS ለተጨናነቁ አካባቢዎች)

3

የተባዛ ማጣሪያን ያዋቅሩ (500ms-3000ms እንደ አጠቃቀም ሁኔታው)

4

ቀጣይነት ያለው ክምችት ለመጀመር READ_EPC_TAG ይላኩ

5

የመለያ ማሳወቂያዎችን (PID 0x1231) ሲደርሱ ያስኬዱ

6

ሲጨርሱ STOP_INVENTORY ይላኩ

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