- liczba obsługiwanych kart RFID/NFC: 100,
- liczba obsługiwanych PIN-kodów: 100,
- zasilanie: 8…10 VDC, 150 mA,
- parametry styków przekaźnika: 250 VAC, 125 VDC, AC: 10 A; DC: 8 A (szczegóły w dokumentacji przekaźnika).
W portfolio moich projektów bez problemu znajdziecie różnego rodzaju systemy dostępu, w których medium autoryzacyjnym były pastylki iButton, karty RFID/NFC czy zwyczajne PIN-kody, jednak przyznać muszę, że zawsze były to systemy, w implementacji których zdecydowałem się na zastosowanie wyłącznie jednej ze wspomnianych technologii. Nie powinno to specjalnie dziwić, gdyż dokładnie w ten sposób implementowane są zazwyczaj komercyjne rozwiązania tego typu, jednak musicie przyznać, że stanowi to swego rodzaju ograniczenie.
Podam prosty przykład. Załóżmy, że korzystamy z systemu kontroli dostępu, który stosuje karty RFID/NFC w celu autoryzacji dostępu. Czy w przypadku, gdy nie mamy przy sobie tego rodzaju karty, istnieje możliwość autoryzowanego dostępu?
Oczywiście, że NIE! Czy tego rodzaju rozwiązanie jest satysfakcjonujące? Oczywiście, że NIE! Jak powinno się rozwiązać tego rodzaju zagadnienie? Moim zdaniem, każdy tego rodzaju system powinien zapewniać kilka mechanizmów kontrolowanego dostępu zawierających różne media autoryzacyjne. Nie ukrywam, że do wniosków takich doszedłem, użytkując jeden z nowszych, komercyjnych systemów kontroli dostępu, gdzie medium autoryzacyjnym były zarówno karty/breloki standardu RFID/NCF, jak i zwykłe PIN-kody… i właśnie tego rodzaju implementację chciałem Wam zaprezentować w ramach niniejszego projektu.
Moduł PN532
Moduł, o którym już wspomniałem, to podzespół pozwalający na wymianę danych (jednokierunkową lub dwukierunkową) z kartami i urządzeniami w standardzie RFID i NFC. Obsługiwane rodzaje kart to: Mifare 1k, 4k, Ultralight, DesFire, ISO/IED 14443-4, Innovision Jewel (IRT5001) oraz FeliCa (RCS_860, RCS_854). Oprócz obsługi kart lub tagów RFID, moduł pozwala również na dwukierunkową komunikację z urządzeniami NFC - np. telefonem komórkowym, a także wymianę danych między dwoma modułami w trybie P2P.
Wspomniany podzespół wyposażono dodatkowo w wygodne interfejsy komunikacyjne, dzięki którym możliwa jest jego konfiguracja i wymiana danych z procesorem hosta. Interfejsy te to: I²C, SPI lub HSU (High Speed UART). Wybór aktywnego interfejsu komunikacyjnego dokonywany jest za pomocą dedykowanych switchy SMD zintegrowanych na obwodzie drukowanym PCB. Aby przygotować moduł do pracy z interfejsem SPI, przełączamy przełącznik oznaczony jako ON w pozycję On (blisko znacznika "1"), zaś przełącznik oznaczony jako KE w pozycję Off (blisko znacznika "KE"). Na tym samym obwodzie drukowanym zintegrowano również antenę poprowadzoną na brzegach płytki, dzięki czemu dostajemy urządzenie gotowe do pracy. Tyle w kwestii samego modułu.
Kilka słów uwagi należy w tym miejscu poświęcić samej metodologii przesyłania danych RFID/NFC. Obie to dwie bardzo zbliżone do siebie technologie bezprzewodowej komunikacji, które używane są praktycznie na każdym kroku w różnych dziedzinach naszego życia - od weryfikacji tożsamości poprzez kontrolę dostępu aż do systemów bezprzewodowych płatności zbliżeniowych. Jakie są główne różnice pomiędzy RFID a NFC? RFID pozwala na jednokierunkową (w sensie inicjowania transferu), bezprzewodową komunikację pomiędzy niezasilonym znacznikiem a zasilonym czytnikiem RFID, przy czym odległość między tym czytnikiem a znacznikiem może dochodzić nawet do 200 m (w wybranych implementacjach) i zależy w dużej mierze od zastosowanych zakresów częstotliwości radiowych oraz protokołów komunikacji.
W odróżnieniu od RFID, technologia NFC pozwala natomiast na dwustronną komunikację pomiędzy dwoma urządzeniami NFC, realizując obsługę bardziej złożonych mechanizmów, a także wymianę danych. Wynika to głównie z idei powstania tej technologii, która w zamierzeniu miała umożliwiać komunikację na małe, bezpieczne odległości (poniżej 20 cm), przez co idealnie nadaje się do zastosowania w telefonach komórkowych do przeprowadzania bezpiecznych transakcji bezgotówkowych lub wymiany danych pomiędzy tymi urządzeniami.
W prezentowanym urządzeniu skupię się wyłącznie na obsłudze kart Mifare 1k oraz urządzeń NFC zgodnych z tym standardem, gdyż naszym zadaniem będzie wyłącznie odczytanie unikalnego numeru seryjnego karty/urządzenia RFID/NFC (tzw. UID). Należy mieć jednak świadomość, że karty tego rodzaju udostępniają dużo większą funkcjonalność. Dla przykładu wyposażono je w 1024 bajty pamięci EEPROM (16 sektorów po 4 bloki o rozmiarze 16 B), która może być zabezpieczona przed zapisem/odczytem za pomocą zdefiniowanego klucza dostępowego (i to indywidualnie dla każdego z tychże sektorów).
Ciekawe, nieprawdaż? I na tym zakończę opis samego modułu i zagadnień związanych z obsługą kart RFID/NFC, mimo że jest to naprawdę dość obszerne i niezmiernie ciekawe zagadnienie. Dlaczego? Otóż dlatego, że tematyka ta została przeze mnie szczegółowo opisana w ramach projektu o nazwie "NFC Lock", który opublikowano na łamach naszego miesięcznika w wydaniu EP 04/22 (KIT AVT 5926) [1], w związku z czym zainteresowanych Czytelników odsyłam do tych materiałów. Jeśli zaś chodzi o nasz niniejszy projekt, to, jak napisałem na wstępie, w celu autoryzacji dostępu używa on alternatywnego sposobu w postaci zwykłego, 4-cyfrowego kodu PIN, którego wprowadzenie możliwe jest dzięki zastosowaniu standardowej klawiatury matrycowej. Tyle tytułem wstępu.