ሰነድ
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 ወደቦችን በራስ-ሰር ያገኛል እና የግንኙነት መለኪያዎችን ያዋቅራል።
// 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();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።
| መስክ | መጠን | መግለጫ |
|---|---|---|
| Header | 1 byte | ሁልጊዜ 0x5A. የክፈፍ ምልክት መጀመሪያ |
| PCW | 2 bytes | የፕሮቶኮል ባንዲራዎች (ስሪት፣ አድራሻ) |
| Category | 1 byte | የትዕዛዝ ምድብ (0x00=ሲስተም፣ 0x01=መሣሪያ፣ 0x02=RFID) |
| MID | 1 byte | በምድብ ውስጥ ያለው የመልእክት መታወቂያ |
| Length | 2 bytes | የክፍያ ርዝመት በባይት (ቢግ-ኢንዲያን) |
| Data | N bytes | የትዕዛዝ-ተኮር ክፍያ |
| CRC16 | 2 bytes | ከራስጌ በኋላ የባይቶች CRC16-CCITT የፍተሻ ድምር |
የትዕዛዝ ምሳሌዎች
TX → 5A 00 01 01 00 00 00 DC E5
┌──┐ ┌────┐ ┌──┐ ┌──┐ ┌────┐ ┌────┐
│5A│ │0001│ │01│ │00│ │0000│ │DCE5│
└──┘ └────┘ └──┘ └──┘ └────┘ └────┘
HDR PCW CAT MID LEN CRC16TX → 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)TX → 5A 00 01 02 FF 00 00 88 5A
HDR PCW CAT MID LEN CRC16ቁልፍ ትዕዛዞች ማጣቀሻ
| ትዕዛዝ | ኮድ | መግለጫ |
|---|---|---|
| QUERY_INFO | 0x0100 | የአንባቢውን ተከታታይ ቁጥር እና የጽኑ ትዕዛዝ ስሪቶችን ይጠይቁ |
| QUERY_RFID_ABILITY | 0x1000 | RFID አቅሞችን ይጠይቁ (የኃይል ክልል, የአንቴና ብዛት) |
| READ_EPC_TAG | 0x0210 | ቀጣይነት ያለው የEPC መለያ ክምችት ጀምር |
| WRITE_EPC_TAG | 0x0211 | ውሂብን ወደ መለያው EPC ባንክ ይፃፉ |
| STOP_INVENTORY | 0x02FF | በሂደት ላይ ያለውን የመለያ ክምችት አቁም |
| CONFIGURE_READER_POWER | 0x0201 | የማስተላለፊያ ኃይልን ያዘጋጁ (0-33 dBm በአንቴና) |
| CONFIGURE_ANTENNA_ENABLE | 0x0203 | የአንቴና ወደቦችን አንቃ/አሰናክል (ቢትማስክ) |
| SET_WORKING_FREQUENCY | 0x0205 | የተወሰኑ የስራ ድግግሞሾችን ያዘጋጁ |
| SET_FILTER_SETTINGS | 0x0209 | የመለያ ብዜት ማጣሪያን ያዋቅሩ (ጊዜን መሰረት ያደረገ) |
| BUZZER_SWITCH | 0x011E | የቡዘር ሁነታን ይቆጣጠሩ |
የአንቴና ውቅር
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
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 (የማይለወጥ ቺፕ መታወቂያ) እና ተጠቃሚ (ብጁ ውሂብ)።
የመለያ ማህደረ ትውስታ አወቃቀር
| ባንክ | መታወቂያ | የተለመደ መጠን | አጠቃቀም |
|---|---|---|---|
| Reserved | 00 | 64 bits | የመግደል የይለፍ ቃል (32b) + የመዳረሻ የይለፍ ቃል (32b) |
| EPC | 01 | 96-128 bits | SGTIN-96, SSCC-96, ወይም ብጁ ኢንኮዲንግ |
| TID | 10 | 96+ bits | የቺፕ አምራች መታወቂያ (ለማንበብ ብቻ፣ ልዩ) |
| User | 11 | 0-512 bits | የመተግበሪያ-ተኮር ውሂብ (ቺፕ-ጥገኛ) |
SGTIN-96 ዲኮዲንግ ምሳሌ
SGTIN-96 ለችርቻሮ እና አቅርቦት ሰንሰለት ምርቶች በጣም የተለመደው ኢንኮዲንግ ነው። የ24-ቁምፊ ሄክስ EPCን ወደ GTIN-14፣ ተከታታይ ቁጥር እና GS1 ዲጂታል ሊንክ ይቀይሩ።
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// 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 በአንቴና ወደብ ሊስተካከል ይችላል። ከፍተኛ ኃይል የማንበብ ክልልን ይጨምራል ነገር ግን ጣልቃ ገብነትን እና የኃይል ፍጆታን ይጨምራል።
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 readersRSSI እይታ
ከታጎች የተገኙ የ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) ተቆጥረዋል።
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ተገቢ ስካኒንግ የስራ ፍሰት
የአንቴና ወደቦችን እና የኃይል ደረጃዎችን ያዋቅሩ
የስራ ድግግሞሾችን ያዘጋጁ (FHSS ለተጨናነቁ አካባቢዎች)
የተባዛ ማጣሪያን ያዋቅሩ (500ms-3000ms እንደ አጠቃቀም ሁኔታው)
ቀጣይነት ያለው ክምችት ለመጀመር READ_EPC_TAG ይላኩ
የመለያ ማሳወቂያዎችን (PID 0x1231) ሲደርሱ ያስኬዱ
ሲጨርሱ STOP_INVENTORY ይላኩ
// 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");