Dlaczego dwa czytniki RFID pokazują różne numery tej samej karty?
Dwa czytniki RFID mogą wyświetlać różne numery tej samej karty, breloka lub transpondera, mimo że odczytują ten sam identyfikator.
Najczęściej nie oznacza to błędu czytnika ani uszkodzenia karty.
Przyczyną jest inny sposób interpretacji i prezentowania danych odczytanych z karty RFID. Ten sam identyfikator może zostać przedstawiony między innymi jako HEX, DEC, w odwróconej kolejności bajtów albo jako numer wyliczony tylko z części UID.
Dlatego przed wymianą czytnika należy ustalić:
- jaki identyfikator odczytuje urządzenie,
- ile bajtów wykorzystuje,
- w jakiej kolejności interpretuje bajty,
- czy wynik podaje w HEX czy DEC,
- czy wykorzystuje pełny UID,
- czy stosuje format Wiegand lub własny format producenta.
Kalkulator RFID HEX ↔ DEC
Wpisz numer karty lub UID. Kalkulator automatycznie rozpozna format i pokaże najczęściej używane reprezentacje RFID.
Czy numer zapisany na karcie i UID to zawsze to samo?
Nie.
To jeden z najczęstszych powodów nieporozumień związanych z RFID.
Na karcie może być nadrukowany np.:
0014173157
natomiast jeden czytnik może wyświetlić:
2027439077
a inne urządzenie jeszcze inną wartość.
Nie oznacza to automatycznie, że urządzenia odczytują inną kartę.
Nadrukowany numer może być wynikiem określonego przeliczenia identyfikatora, numerem systemowym albo wartością przeznaczoną dla konkretnego systemu kontroli dostępu.
HEX i DEC – dwa sposoby przedstawienia tej samej wartości
Jedną z najczęstszych przyczyn różnicy jest system liczbowy.
HEX oznacza system szesnastkowy.
Wykorzystuje cyfry:
0–9
oraz litery:
A–F.
DEC oznacza system dziesiętny, którego używamy na co dzień:
0–9.
Ta sama wartość może więc wyglądać zupełnie inaczej.
Przykład:
00A6FDD4
jest zapisem HEX.
Po konwersji na system dziesiętny otrzymujemy:
10943956
czyli po zapisaniu wyniku jako dziesięciocyfrowego:
0010943956
Oba zapisy mogą więc oznaczać dokładnie tę samą wartość.
Przykład
| Format | Wartość |
|---|---|
| HEX | 00A6FDD4 |
| DEC | 10943956 |
| DEC 10 cyfr | 0010943956 |
Dlatego porównując dwa czytniki RFID, nie należy porównywać wyłącznie znaków wyświetlonych na ekranie.
Najpierw trzeba sprawdzić format danych.
Co oznacza 8H, 10D i 8H10D?
W opisach czytników RFID można spotkać oznaczenia:
8H
10D
8H10D
Litera H zazwyczaj odnosi się do zapisu szesnastkowego — HEX.
Litera D odnosi się do zapisu dziesiętnego — DEC.
W uproszczeniu:
| Oznaczenie | Znaczenie |
|---|---|
| 8H | 8 znaków HEX |
| 10D | zapis dziesiętny, zwykle do 10 cyfr |
| 8H10D | konwersja wartości 8 HEX do wartości dziesiętnej |
Trzeba jednak pamiętać, że oznaczenia stosowane przez poszczególnych producentów urządzeń nie zawsze są identyczne.
Dlatego w przypadku konkretnego czytnika należy sprawdzić jego dokumentację.
Kolejność bajtów – drugi bardzo częsty problem
Nawet jeżeli dwa urządzenia używają zapisu HEX, wynik nadal może wyglądać inaczej.
Załóżmy, że identyfikator jest przedstawiony jako:
12 34 56 78
Jedno urządzenie może zwrócić:
12345678
a drugie:
78563412
W drugim przypadku została zastosowana odwrócona kolejność bajtów.
Można spotkać określenia:
normal order
reverse
byte reverse
oraz w odpowiednich kontekstach:
Big Endian
i
Little Endian.
Dlatego opcja:
8 no. in HEX reverse
w konfiguracji czytnika może dać zupełnie inny numer niż:
8 no. in HEX
mimo użycia tej samej karty.
Czy odwrócenie kolejności bajtów zmienia UID karty?
Nie.
Zmienia się sposób interpretacji lub prezentacji odczytanych bajtów.
Fizyczna karta pozostaje ta sama.
Można to zobrazować następująco:
BFA5B35D
po odwróceniu kolejności bajtów:
5DB3A5BF
To dwie różne reprezentacje wynikające z kolejności bajtów.
Dlatego przy integracji czytnika RFID z istniejącym systemem bardzo ważne jest ustalenie, jakiego formatu oczekuje oprogramowanie.
Pełny UID a tylko część numeru
Kolejną przyczyną różnic jest liczba bajtów wykorzystywanych przez urządzenie.
Czytnik może korzystać z:
pełnego identyfikatora
albo tylko z:
ostatnich 3 bajtów
ostatnich 4 bajtów
lub innej części danych.
Jeżeli jedno urządzenie wykorzystuje cztery bajty, a drugie tylko trzy, wyniki będą różne nawet po przeliczeniu ich na ten sam system liczbowy.
Dlaczego występuje to w systemach kontroli dostępu?
System kontroli dostępu nie zawsze przechowuje numer karty w postaci identycznej z surowym UID.
Może wykorzystywać np.:
Wiegand 26
Wiegand 34
Facility Code
Card Number
lub format charakterystyczny dla konkretnego kontrolera.
Dlatego:
numer widoczny w systemie kontroli dostępu ≠ zawsze pełny UID karty.
To szczególnie ważne podczas wymiany starego czytnika na nowy.
Co to jest Wiegand 26?
Wiegand 26 jest popularnym formatem transmisji stosowanym w systemach kontroli dostępu.
Ramka zawiera 26 bitów, z których część przeznaczona jest na dane identyfikacyjne, a dwa bity służą do kontroli parzystości.
Typowy podział obejmuje:
1 bit parzystości
8 bitów Facility Code
16 bitów Card Number
1 bit parzystości
Dlatego numer przedstawiony przez kontroler jako Wiegand 26 może wyglądać zupełnie inaczej niż pełny UID odczytany bezpośrednio z transpondera.
Dlaczego czytnik USB pokazuje inny numer niż kontroler drzwi?
To bardzo częsta sytuacja.
Czytnik USB może przekazywać do komputera np.:
pełny UID → HEX
podczas gdy kontroler dostępu interpretuje dane jako:
Wiegand 26 → Facility Code + Card Number.
Oba urządzenia pracują z tą samą kartą, ale wykorzystują dane w inny sposób.
Czy można ustawić dwa czytniki tak, aby pokazywały ten sam numer?
Często tak, ale zależy to od możliwości konkretnego urządzenia.
Czytnik musi umożliwiać zmianę takich parametrów jak:
- HEX/DEC,
- liczba bajtów,
- kolejność bajtów,
- długość wyniku,
- format wyjściowy.
Nie wszystkie czytniki RFID posiadają taką konfigurację.
W prostych urządzeniach USB format może być zapisany na stałe w firmware.
Jak sprawdzić, dlaczego dwa czytniki pokazują różne numery?
Najlepiej wykonać test przy użyciu tej samej karty.
Zapisujemy wyniki:
| Urządzenie | Odczyt |
|---|---|
| Czytnik A | ________ |
| Czytnik B | ________ |
| nadruk na karcie | ________ |
| system kontroli dostępu | ________ |
Następnie sprawdzamy kolejno:
1. Czy jeden wynik jest HEX, a drugi DEC?
2. Czy bajty zostały odwrócone?
3. Czy jeden czytnik wykorzystuje tylko część UID?
4. Czy system stosuje Wiegand?
5. Czy czytnik posiada ustawienia formatu wyjściowego?
Dopiero po takim porównaniu można ustalić rzeczywistą przyczynę różnicy.
Przykład praktyczny – czytnik pokazuje BFA5B35D
Załóżmy, że czytnik RFID zwraca:
BFA5B35D
To jest ośmioznakowy zapis HEX.
Nie należy od razu porównywać go znak po znaku z dziesięciocyfrowym numerem widocznym w innym systemie.
Najpierw trzeba ustalić:
Czy drugi numer jest dziesiętną reprezentacją tej wartości?
Jeżeli nie, sprawdzamy:
Czy zastosowano reverse?
Następnie:
Czy używane są wszystkie cztery bajty?
I dopiero później:
Czy wynik został przekształcony do Wiegand lub innego formatu?
Taka kolejność diagnostyki pozwala uniknąć błędnego wniosku, że karta albo czytnik są uszkodzone.
Jak dobrać odpowiedni czytnik RFID?
Najważniejsza nie jest wyłącznie częstotliwość.
Przed zakupem warto ustalić:
1. Jaką technologię wykorzystuje karta?
Np. UNIQUE/EM 125 kHz albo MIFARE 13,56 MHz.
2. Jaki numer musi otrzymać system?
UID, HEX, DEC, Wiegand itd.
3. Jaki interfejs jest potrzebny?
USB HID, USB Serial, Wiegand itd.
4. Czy format odczytu musi być konfigurowalny?
Jest to szczególnie ważne przy zastępowaniu istniejącego czytnika.
Czy czytnik dualny rozwiązuje problem?
Czytnik dualny umożliwiający obsługę 125 kHz i 13,56 MHz może być dobrym rozwiązaniem, jeżeli w jednym systemie występują różne technologie kart.
Nie oznacza to jednak automatycznie, że każdy czytnik dualny zwróci numer dokładnie w takim formacie, jakiego oczekuje istniejący system.
Dlatego oprócz częstotliwości trzeba sprawdzić format danych wyjściowych.
Najczęściej zadawane pytania
Czy ta sama karta RFID może mieć dwa numery?
Fizyczny identyfikator nie musi się zmieniać, ale jego reprezentacja może być różna. Ten sam identyfikator może zostać pokazany jako HEX, DEC, reverse albo przetworzony do formatu wykorzystywanego przez system kontroli dostępu.
Dlaczego numer na karcie jest inny niż numer z czytnika?
Nadruk nie musi przedstawiać surowego UID. Może być numerem dziesiętnym, numerem systemowym, wartością wyliczoną z części identyfikatora albo numerem przeznaczonym dla konkretnego systemu.
Czy HEX można przeliczyć na DEC?
Tak. Jeżeli obie wartości reprezentują te same bajty, zapis szesnastkowy można matematycznie przeliczyć na dziesiętny.
Czy zmiana HEX na DEC zmienia dane na karcie?
Nie. Zmienia się sposób przedstawienia wartości, a nie zawartość karty.
Czy można zmienić format odczytu czytnika?
Zależy od modelu. Niektóre urządzenia mają program konfiguracyjny pozwalający wybrać format, a w innych format jest ustalony przez firmware.
Czy NFC i RFID 125 kHz to to samo?
Nie. NFC działa w paśmie 13,56 MHz. Typowy telefon wyposażony w NFC nie odczyta transpondera UNIQUE/EM pracującego na 125 kHz.
Podsumowanie
Jeżeli dwa czytniki pokazują różne numery tej samej karty RFID, nie oznacza to automatycznie, że któryś z nich odczytuje kartę nieprawidłowo.
Najczęstsze przyczyny to:
HEX ↔ DEC
normal ↔ reverse
różna liczba wykorzystywanych bajtów
pełny UID ↔ fragment UID
Wiegand
format zdefiniowany przez producenta urządzenia.
Dlatego przy doborze czytnika do istniejącego systemu należy znać nie tylko częstotliwość karty, ale również oczekiwany format numeru.
Masz kartę i dwa różne odczyty?
Jeżeli nie wiesz, dlaczego dwa urządzenia pokazują różne numery, przygotuj:
numer z pierwszego czytnika + numer z drugiego czytnika + typ karty + oczekiwany format.
Na tej podstawie można sprawdzić, czy różnica wynika z HEX/DEC, kolejności bajtów lub sposobu interpretacji UID.