Trzy rzeczy, które warto wiedzieć o komunikacji NFC
Komunikacja pola bliskiego (Near Field Communication – NFC) jest rodzajem identyfikacji za pomocą fal radiowych (RFID), który w ostatnim czasie zdobył popularność dzięki implementacji w smartfonach sprzedawanych na całym świecie. Na rynku istnieje już ponad miliard urządzeń obsługujących NFC, zatem rośnie potrzeba zapewnienia taniej łączności w produktach codziennego użytku. Typowy smartfon z systemem Android obsługujący NFC może działać w trzech trybach: jako czytnik kart, emulator karty lub peer-to-peer. Pierwszy kontakt z technologią NFC może sprawiać pewne problemy, zatem ten artykuł omawia trzy ważne zagadnienia, które pomogą zrozumieć i wykorzystać technologię NFC:
- Komunikacja NFC między dwoma urządzeniami zachowuje się podobnie, jak dwie puszki połączone sznurkiem
- Telefony Apple mogą pracować jedynie w trybie emulacji karty
- Praktyczny przykład programowania tagu NFC
Sposób komunikacji NFC określa standard ISO 18092 i starsza norma 14433, które definiują częstotliwość pracy 13,56 MHz (pasmo ISM). Maksymalny zasięg NFC jest krótki – od 2 do 10 cm – jednak w typowym zastosowaniu oczekuje się, że użytkownik dotknie czytnika bezpośrednio tagiem. Przepustowość łącza radiowego wynosi 106 kbps, choć szybkość transmisji zależy to od protokołu i standardu – w rzeczywistości uzyskiwane transfery są na poziomie 10 – 30 kbps.
W komunikacji RFID zasilany czytnik, zwany inicjatorem, dostarcza energię do pasywnego elementu zwanego celem (lub tagiem). NFC można przedstawić jako dwie puszki połączone sznurkiem. Puszka pełniąca rolę czytnika dostarcza sznurek, tzn. medium transmisji bezprzewodowej. Puszka tagu odbiera komunikację za pomocą sznurka dostarczonego przez czytnik (obrazek 1) i odpowiada, wprawiając tenże sznurek w drgania (modulując go). Krótko mówiąc, komunikacja NFC polega na zjawisku indukcji magnetycznej. Dwie anteny – czytnika i tagu – działają jak dwa uzwojenia transformatora.
Przedstawiony powyżej sposób komunikacji jest również nazywany „trybem pasywnym”, ponieważ czytnik jako jedyny dostarcza energię do systemu. Energia fali ciągłej jest odbierana przez tag, który dzięki niej uruchamia maszynę stanów. Czytnik utrzymuje falę ciągłą i nasłuchuje, jak tag moduluje ją poprzez zmianę impedancji w swoim polu. Ta metoda jest nazywana „modulacją obciążenia” (obrazek 2.) i jest stosowana w większości rozwiązań.
Tryb aktywny NFC służy do wymiany plików metodą peer-to-peer w takich aplikacjach, jak S-Beam lub Android Beam. Pozwala on na przekazywanie obrazów, filmów i innych plików między dwoma smartfonami. W tym przypadku oba urządzenia komunikują się, wykorzystując multipleksację czasową. Gdy inicjalizacja transmisji NFC zostanie zakończona, urządzenia przechodzą na kanał transmisyjny wysokiej przepustowości, zwykle Bluetooth Classic lub Wi-Fi Direct.
O ciągu ostatnich kilku lat aplikacje wykorzystujące technologię NFC stały się powszechne. Rozwiązania Samsung Pay, Google Pay i Apple Pay zapewniają wygodną metodę płatności za pomocą smartfonu. Oferowana przez NXP rodzina standardów Mifare (Ultralight, Classic, Desfire i Plus) jest wykorzystywana w środkach transportu publicznego i systemach kontroli dostępu (obrazek 3). Sieci hoteli, takie jak Mariott, zaczęły zastępować karty magnetyczne otwierające drzwi kluczami NFC. Gry wideo Nintendo Skylanders, Disney Infinity i Lego Dimensions wykorzystują technologię NFC do odczytywania informacji o postaciach zapisanej w przedstawiających je figurkach. Ponadto NFC może służyć do szybkiego parowania telefonów z termostatami obsługiwanymi przez Wi-Fi czy głośnikami z łącznością Bluetooth.
Zastosowanie i implementacja
Dodając NFC do swojego produktu, należy uwzględnić sześć punktów:
- Tagi
- Czytniki
- Biblioteka oprogramowania
- Projekt anteny i jej umieszczenie w układzie
- Zgodę urzędów regulacji
- Stworzenie odpowiedniej aplikacji dla telefonu.
Wybór najlepszego tagu do danego zastosowania zależy od trzech czynników: protokołu, rozmiaru pamięci i postaci fizycznej tagu.
Istnieje 5 standardowych typów tagów określonych przez organizację NFC Forum. Typ 1 to starszy standard. Typ 2 jest najczęściej spotykany w Ameryce Północnej i w Europie. Typ 3 jest najpopularniejszy w Japonii i bazuje na standardzie Sony Felicia.
Typ 4 to najbardziej zaawansowane rozwiązanie i jest używany, gdy telefony Android lub Apple pracują w trybie emulacji karty. Warto pamiętać o tym, że obecnie dostępne telefony Apple działają tylko w trybie emulacji karty na potrzeby aplikacji Apple Pay i nie maja układów, które pozwalałyby na pracę jako czytniki.
Typ 5 jest znany również jako standard ISO 15693 i zazwyczaj jest wykorzystywany w systemach magazynowania krótkiego zasięgu, na przykład w bibliotekach.
Aby zorganizować wymianę danych między dwoma urządzeniami, stosowany jest standard opisu danych NFC o nazwie NDEF. Rekordy NDEF zawierają informację o nagłówku, flagi wiadomości i dane użyteczne. Nagłówek NDEF mieści informacje, które opisują rodzaj rekordu. Rekord może być na przykład adresem URL, informacją o kontakcie, surowym tekstem lub danymi w formacie obsługiwanym przez konkretną aplikację. Przy takiej organizacji smartfon z systemem Android łatwo określi, którą aplikację należy wykorzystać do obsługi właściwych danych.
Choć większość aplikacji NFC wykorzystuje jako czytnik telefon, w pewnych zastosowaniach potrzebny jest też samodzielny czytnik. To mogą być punkty sprzedaży, system kontroli dostępu w drzwiach lub aplikacja sprawdzająca parowanie. W przypadku projektowania architektury czytnika do wyboru są dwie opcje. Pierwszą jest użycie urządzenia wejściowego, które pełni rolę układu nadawczo-odbiorczego dołączonego do mikrokontrolera. Drugą opcją jest wykorzystanie gotowego rozwiązania zwanego kontrolerem, w którym układy wejściowe i mikrokontroler mieszczą się w jednej obudowie (obrazek 4). W takim wypadku biblioteki protokołów mieszczą się w mikrokontrolerze, natomiast w pierwszym przypadku znajdowałyby się w mikrokontrolerze hosta.