DOKUMENTACIONI
Manual i Integrimit të Lexuesit RFID
Dokumentacion gjithëpërfshirës që mbulon konfigurimin e komunikimit serik, konfigurimin e antenës, operacionet e kodimit të etiketave (EPC Gen2 / ISO 18000-6C) dhe menaxhimin e energjisë. Përfshin shembuj për vendosjen e antenave të shumta dhe skanimin e inventarit me shpejtësi të lartë.
Konfigurimi i Komunikimit Serik
Lexuesit RFID të protokollit NRN të Nextwaves komunikojnë përmes portit serik (RS-232 ose USB-to-Serial). Parametrat e lidhjes duhet të konfigurohen saktë për të siguruar transmetimin e qëndrueshëm të të dhënave.
Baud Rate
115200
Data Bits
8
Stop Bits
1
Parity
None
Për lidhjet e API-së WebSerial të bazuara në shfletues, përdorni Nextwaves Reader Connect në app.nextwaves.com/reader. Aplikacioni zbulon automatikisht portet COM dhe konfiguron parametrat e lidhjes.
// 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()Struktura e Kornizës së Protokollit NRN të Nextwaves
Çdo komandë e protokollit NRN është e enkapsuluar në një kornizë binare që përbëhet nga: Header (0x5A), PCW (Fjala e Kontrollit të Protokollit), Kategoria, MID (ID e Mesazhit), Gjatësia, Payload e të dhënave dhe checksum CRC16-CCITT.
| Fusha | Madhësia | Përshkrimi |
|---|---|---|
| Header | 1 byte | Gjithmonë 0x5A. shenjuesi i fillimit të kornizës |
| PCW | 2 bytes | Flamujt e protokollit (versioni, adresa) |
| Category | 1 byte | Kategoria e komandës (0x00=Sistem, 0x01=Pajisje, 0x02=RFID) |
| MID | 1 byte | ID e mesazhit brenda kategorisë |
| Length | 2 bytes | Gjatësia e ngarkesës në bajte (big-endian) |
| Data | N bytes | Ngarkesa specifike për komandën |
| CRC16 | 2 bytes | Shuma e kontrollit CRC16-CCITT e bajteve pas kokës |
Shembuj Komandash
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 CRC16Referenca e Komandave Kryesore
| Komanda | Kodi | Përshkrimi |
|---|---|---|
| QUERY_INFO | 0x0100 | Kërkoni numrin serik të lexuesit dhe versionet e firmware-it |
| QUERY_RFID_ABILITY | 0x1000 | Kërkoni aftësitë RFID (varg fuqie, numri i antenës) |
| READ_EPC_TAG | 0x0210 | Filloni inventarin e vazhdueshëm të etiketave EPC |
| WRITE_EPC_TAG | 0x0211 | Shkruani të dhëna në bankën EPC të një etikete |
| STOP_INVENTORY | 0x02FF | Ndalo një inventar të etiketave në funksionim |
| CONFIGURE_READER_POWER | 0x0201 | Vendosni fuqinë e transmetimit (0-33 dBm për antenë) |
| CONFIGURE_ANTENNA_ENABLE | 0x0203 | Aktivizo/çaktivizo portat e antenës (bitmask) |
| SET_WORKING_FREQUENCY | 0x0205 | Vendosni frekuencat specifike të punës |
| SET_FILTER_SETTINGS | 0x0209 | Konfiguroni filtrin e dyfishimit të etiketave (bazuar në kohë) |
| BUZZER_SWITCH | 0x011E | Kontrolloni modalitetin e ziles |
Konfigurimi i Antenës
Lexuesit RFID mbështesin deri në 32 porta antenash. Çdo port aktivizohet ose çaktivizohet përmes një bitmask 4-bajtëshe. Antenat numërohen nga 1 deri në 32, me çdo bit që korrespondon me një port.
Bitmask i Antenës
Aktivizo Antenat 1-4
0x0F, 0x00, 0x00, 0x00
Binary: 00001111 → Ports 1,2,3,4 ON
Aktivizo Vetëm Antenat 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 enabledVendosja me Shumë Antena
Kur vendosni antena të shumta, merrni parasysh polarizimin (linear kundrejt rrethor), hapësirën midis antenave dhe zonat e mbivendosjes së mbulimit. Lexuesi skanon në mënyrë sekuenciale përmes antenave të aktivizuara dhe çdo raport i etiketës përfshin ID-në e antenës për përcaktimin e pozicionit.
Dera e Dokut
2-4 antena për portal, polarizim rrethor, fuqi 30 dBm
Rrip Transportues
1-2 antena për stacion, polarizim linear, 20-25 dBm
Rafti i shitjes me pakicë
Antena me fushë të afërt, fuqi e ulët 15-20 dBm, densitet i lartë
Kodimi i etiketave (EPC Gen2 / ISO 18000-6C)
UHF RFID ndjek standardin EPC Gen2 (ISO 18000-6C). Çdo etiketë ka 4 banka memorie: E rezervuar (fjalëkalimet), EPC (identifikues 96+ bit), TID (ID e çipit të pandryshueshëm) dhe Përdoruesi (të dhëna të personalizuara).
Struktura e Memorjes së Etiketave
| Bankë | ID | Madhësia Tipike | Përdorimi |
|---|---|---|---|
| Reserved | 00 | 64 bits | Fjalëkalimi i vrasjes (32b) + Fjalëkalimi i aksesit (32b) |
| EPC | 01 | 96-128 bits | SGTIN-96, SSCC-96, ose kodim i personalizuar |
| TID | 10 | 96+ bits | ID e prodhuesit të çipit (vetëm për lexim, unike) |
| User | 11 | 0-512 bits | Të dhëna specifike për aplikacionin (të varura nga çipi) |
Shembull Dekodimi SGTIN-96
SGTIN-96 është kodimi më i zakonshëm për produktet e shitjes me pakicë dhe zinxhirit të furnizimit. Konvertoni një EPC heksadecimal me 24 karaktere në GTIN-14, numrin serik dhe GS1 Digital Link.
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]Përdorni mjetin online EPC Encoder në /tools/tds-rfid-converter për të koduar dhe dekoduar SGTIN-96, SSCC-96, GRAI-96 direkt në shfletuesin tuaj.
Menaxhimi i Energjisë
Fuqia e transmetimit të lexuesit është e rregullueshme nga 0 deri në 33 dBm për portin e antenës. Fuqia më e lartë rrit gamën e leximit, por gjithashtu rrit ndërhyrjen dhe konsumin e energjisë.
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 readersMonitorimi i RSSI
Vlerat e RSSI (Treguesi i Forcës së Sinjalit të Marrë) nga etiketat raportohen si bajte ADC të papërpunuara (0-255). Përdorni formulën e konvertimit për të marrë vlera të sakta dBm.
Formula e Konvertimit
dBm = -100 + round((raw × 70) / 255)
Raw 128
-65 dBm
Mirë
Raw 180
-51 dBm
I fortë
Raw 220
-40 dBm
Shkëlqyeshëm
Skanimi i Inventarit me Shpejtësi të Lartë
Për skanimin e inventarit me shpejtësi të lartë, konfiguroni frekuencat e punës, filtrin e etiketave të dyfishuara dhe modalitetin e skanimit të vazhdueshëm. Lexuesit mbështesin deri në 700 etiketa/sekondë me konfigurimin optimal.
Konfigurimi i Frekuencës
UHF RFID funksionon në bandën 920-925 MHz (Azisë Juglindore), me hapësirë kanali 0.5 MHz. Kanalet janë të numëruara nga 0 (920 MHz) deri në 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 MHzRrjedha optimale e skanimit
Konfiguroni portat e antenës dhe nivelet e energjisë
Vendosni frekuencat e punës (FHSS për mjedise të dendura)
Konfiguroni filtrin e dyfishimit (500ms-3000ms në varësi të rastit të përdorimit)
Dërgoni READ_EPC_TAG për të filluar inventarin e vazhdueshëm
Përpunoni njoftimet e etiketave (PID 0x1231) ndërsa ato mbërrijnë
Dërgoni STOP_INVENTORY kur të përfundojë
// 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");