دستاویزی دستاویز

RFID ریڈر انٹیگریشن مینوئل

سیریل کمیونیکیشن سیٹ اپ، اینٹینا کنفیگریشن، ٹیگ انکوڈنگ آپریشنز (EPC Gen2 / ISO 18000-6C)، اور پاور مینجمنٹ کا احاطہ کرنے والی جامع دستاویزات۔ ملٹی اینٹینا تعیناتیوں اور تیز رفتار انوینٹری اسکیننگ کے لیے مثالیں شامل ہیں۔

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

سیریل کمیونیکیشن سیٹ اپ

Nextwaves NRN پروٹوکول RFID ریڈرز سیریل پورٹ (RS-232 یا USB-to-Serial) کے ذریعے مواصلت کرتے ہیں۔ مستحکم ڈیٹا ٹرانسمیشن کو یقینی بنانے کے لیے کنکشن پیرامیٹرز کو صحیح طریقے سے کنفیگر کرنا ضروری ہے۔

براؤزر پر مبنی WebSerial API کنکشن کے لیے، app.nextwaves.com/reader پر Nextwaves Reader Connect استعمال کریں۔ ایپلیکیشن COM پورٹس کو خود بخود پتہ لگاتی ہے اور کنکشن پیرامیٹرز کو کنفیگر کرتی ہے۔

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

Nextwaves NRN پروٹوکول فریم ڈھانچہ

ہر NRN پروٹوکول کمانڈ ایک بائنری فریم میں شامل ہے جس میں شامل ہیں: ہیڈر (0x5A)، PCW (پروٹوکول کنٹرول ورڈ)، زمرہ، MID (میسج ID)، لمبائی، ڈیٹا پے لوڈ، اور CRC16-CCITT چیکسم۔

فیلڈسائزتفصیل
Header
1 byte
ہمیشہ 0x5A۔ فریم مارکر کا آغاز
PCW
2 bytes
پروٹوکول جھنڈے (ورژن، پتہ)
Category
1 byte
کمانڈ کی قسم (0x00=System, 0x01=Device, 0x02=RFID)
MID
1 byte
زمرے کے اندر پیغام ID
Length
2 bytes
بائٹس میں پے لوڈ کی لمبائی (بڑے-اینڈین)
Data
N bytes
کمانڈ سے مخصوص پے لوڈ
CRC16
2 bytes
ہیڈر کے بعد بائٹس کا CRC16-CCITT چیکسم

کمانڈ کی مثالیں

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

کلیدی کمانڈز حوالہ

کمانڈکوڈتفصیل
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 فعال کریں0F 00 00 00Binary 00001111 - ports 1, 2, 3, 4 on
صرف اینٹینا 1 اور 3 کو فعال کریں05 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

ملٹی-اینٹینا تعیناتی

متعدد اینٹینا کی تعیناتی کرتے وقت، پولرائزیشن (لکیری بمقابلہ سرکلر)، اینٹینا کے درمیان فاصلہ، اور اوورلیپنگ کوریج زونز پر غور کریں۔ ریڈر فعال اینٹینا کے ذریعے یکے بعد دیگرے اسکین کرتا ہے، اور ہر ٹیگ رپورٹ میں پوزیشن کے تعین کے لیے اینٹینا ID شامل ہوتا ہے۔

Portal

ڈاک ڈور

پورٹل کے فی 2-4 اینٹینا، سرکلر پولرائزیشن، 30 dBm پاور

Station

کنویئر بیلٹ

اسٹیشن کے فی 1-2 اینٹینا، لکیری پولرائزیشن، 20-25 dBm

Shelf

ریٹیل شیلف

قریب فیلڈ اینٹینا، کم پاور 15-20 dBm، اعلی کثافت

ٹیگ انکوڈنگ (EPC Gen2 / ISO 18000-6C)

UHF RFID EPC Gen2 معیار (ISO 18000-6C) کی پیروی کرتا ہے۔ ہر ٹیگ میں 4 میموری بینک ہوتے ہیں: محفوظ (پاس ورڈ)، EPC (96+ بٹ شناخت کنندہ)، TID (غیر تبدیل شدہ چپ ID)، اور صارف (کسٹم ڈیٹا)۔

ٹیگ میموری ڈھانچہ

بینکشناختعام سائزاستعمال
Reserved
00
64 bits
کل پاس ورڈ (32b) + رسائی پاس ورڈ (32b)
EPC
01
96-128 bits
SGTIN-96, SSCC-96, یا حسب ضرورت انکوڈنگ
TID
10
96+ bits
چپ بنانے والے کی ID (صرف پڑھنے کے لیے، منفرد)
User
11
0-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 (وصول شدہ سگنل کی طاقت کا اشارے) کی قدریں خام ADC بائٹس (0-255) کے طور پر رپورٹ کی جاتی ہیں۔ درست dBm قدریں حاصل کرنے کے لیے تبادلوں کے فارمولے کا استعمال کریں۔

تبدیلی کا فارمولاdBm = -100 + round((raw x 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 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

بہترین اسکیننگ ورک فلو

01

اینٹینا پورٹس اور پاور لیول کو ترتیب دیں

02

ورکنگ فریکوئنسیز سیٹ کریں (گھنے ماحول کے لیے FHSS)

03

ڈپلیکیٹ فلٹر ترتیب دیں (استعمال کے کیس پر منحصر ہے 500ms-3000ms)

04

مسلسل انوینٹری شروع کرنے کے لیے READ_EPC_TAG بھیجیں

05

ٹیگ اطلاعات پر کارروائی کریں (PID 0x1231) جیسے ہی وہ پہنچتے ہیں

06

ہو جانے پر 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");