Czy telefon z systemem Android NFC może działać jako tag NFC?

101

Z tego, co do tej pory zrozumiałem, telefon NFC będzie działał jako czytnik NFC, który będzie czytać dane z tagu NFC. Teraz moje pytanie brzmi: czy możemy to zmienić? Czy możemy sprawić, by telefon z Androidem NFC zachowywał się jak tag, z którego czytnik NFC będzie pobierał dane?

Dziękuję za Twoją pomoc.

Joshua Partogi
źródło

Odpowiedzi:

32

W tej chwili odpowiadałbym „nie” lub „z trudem”, ale to może się zmienić w miarę rozwoju Android NFC API.

Istnieją trzy tryby interakcji NFC:

  1. Reader-Writer: telefon odczytuje tagi i zapisuje do nich. Nie emuluje karty zamiast czytnika / urządzenia zapisującego NFC. Dlatego w tym trybie nie można emulować tagu.

  2. Peer-to-peer: telefon może czytać i przekazywać z powrotem wiadomości ndef. Jeśli czytnik tagów obsługuje tryb peer-to-peer, telefon może działać jako tag. Nie jestem jednak pewien, czy Android używa własnego protokołu oprócz protokołu LLCP (protokół łącza logicznego NFC), co uniemożliwiłoby większości czytelników traktowanie telefonu jako tagu NFC.

  3. Tryb emulacji karty: telefon wykorzystuje bezpieczny element do emulacji karty inteligentnej lub innego urządzenia zbliżeniowego. Nie jestem pewien, czy to już zostało uruchomione, ale może być obiecujące. Jednak użycie bezpiecznego elementu może wymagać od dostawcy sprzętu lub innej osoby zweryfikowania aplikacji / przyznania jej uprawnień dostępu do bezpiecznego elementu. To nie jest tak proste, jak utworzenie zwykłej aplikacji NFC na Androida.

Więcej szczegółów tutaj: http://www.mail-archive.com/[email protected]/msg152222.html

Prawdziwe pytanie brzmiałoby: dlaczego próbujesz emulować prosty stary znacznik NFC? Czy jest jakaś aplikacja, o której nie myślę? Zwykle chciałbyś emulować coś takiego jak karta tranzytowa, klucz dostępu lub karta kredytowa, która wymagałaby elementu zabezpieczającego (myślę, ale nie jestem pewien).

Zrób coś
źródło
Dobrze. Google właśnie dziś ogłasza google.com/wallet. Czy w tym scenariuszu telefon nie działałby jako tag?
Joshua Partogi
1
Jak @ erich-douglass wskazał powyżej: niekoniecznie. jeśli terminal czytnika działa w trybie peer-to-peer, nie musiałby działać jako znacznik.
denbec,
jak wyżej, możesz pisać do czytnika z telefonu za pomocą NDEF push i obsługi peer to peer w systemie Android 2.3+, ale musisz upewnić się, że kod czytnika jest peer to peer. (musi to być telefon z chipem NFC np. Galaxy Nexus, Nexus S.)
gamozzii
Problem w tym, że obecnie większość czytników kart NFC zakłada pasywne tagi. Obsługa aktywnych wymian LLCP jest znacznie bardziej złożona i oczywiście nadal obsługuje pasywny odczyt kart. Jest to możliwe, ale nie słyszałem jeszcze o opcji płatności zaimplementowanej za pomocą LLCP ...
AerandiR
11
To jest nieaktualne. Android 4.4 ma emulację karty opartą na hoście, co pozwala właśnie na to: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns
17

Czy możemy zrobić Android NFC jako tag, z którego czytnik NFC będzie pobierał dane?

Nexus S obsługuje tryb peer-to-peer , który, jak sama nazwa wskazuje, powoduje, że jeden telefon działa jak tag, który inny telefon może odczytać. W tym roku odbyła się naprawdę dobra sesja Google I / O na NFC. Poleciłbym obejrzenie go, jeśli w ogóle interesuje Cię NFC.

Erich Douglass
źródło
Dzięki. To dla mnie jasne. Ale czy czytnik NFC może czytać z telefonu?
Joshua Partogi
@jpartogi Nie jestem do końca pewien, ale myślę, że czytelnik musiałby wyraźnie obsługiwać tryb peer-to-peer, aby działał.
Erich Douglass
Tryb peer-to-peer występuje, gdy OBA telefony lub urządzenia działają jako czytniki. Informacje nie tyle są czytane, ile przesyłane (zapisywane) w tę iz powrotem.
Ben Ward
9

tak, możesz. Android KitKat zwiększa tę funkcjonalność tutaj

iglen_
źródło
3

Przeczytaj tutaj: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527s%23dec4843abd73d

Sam tego nie zweryfikowałem, ale wygląda na to, że ludziom udało się ponownie dołączyć ukryty kod do Androida. Wydaje się, że są w stanie emulować kartę Mifare Classic (iso-14443). Wkrótce sam to przetestuję, wygląda to bardzo interesująco.

Jeśli chcesz to zrobić dla komercyjnej / bezpłatnej aplikacji, będziesz miał trudności, Twoi użytkownicy nie będą chcieli zmieniać jądra, aby obsługiwał Twoją aplikację.

Aktualizacja: byłaby prosta sztuczka, aby telefon emulował bilet:
możesz zdobyć naklejkę NFC i włożyć ją do telefonu lub na telefon. W ten sposób możesz go czytać i pisać przez cały czas, a inne urządzenia również mogą go czytać i zapisywać.
To tylko pomysł, który miałem, nigdy nie widziałem, że nigdzie go nie wykorzystałem;)

Jan
źródło
Wypróbowaliśmy sztuczkę z emulacją tagów NFC na iPhonie z iCarte. To może zadziałać ... ale zdecydowaliśmy się to anulować, ponieważ jest to naprawdę bezużyteczne ...
STeN
2

Tak, spójrz na NDEF Push w NFCManager - dzięki Androidowi 4 możesz teraz nawet utworzyć NDEFMessage, aby przesłać go do aktywnego urządzenia w czasie, gdy ma miejsce interakcja.

Sven Haiges
źródło
1
To jest tryb p2p, prawda? Nie jest wymagana emulacja tagów na forum NFC.
STeN,
2

W sesji google io o NFC, sekcja qa. Było takie pytanie:

emulacja karty? Brak wsparcia API dla emulacji karty Brak spójnego doświadczenia użytkownika podczas emulacji karty i żadnej fascynującej historii

Jason
źródło
Bu ponownie - powodem, dla którego emulacja karty jest „niedozwolona” jest to, że zwykle trzeba użyć bezpiecznego elementu, ale w przypadku tagów NFC nie ma zabezpieczeń (w rzeczywistości NIE MOGĄ ich mieć). Eliminuje to potrzebę bezpiecznego elementu i może być możliwa jego emulacja za pośrednictwem kodu aplikacji.
STeN,
1

Jeśli masz na myśli sprawienie, aby zasilane urządzenie NFC udawało pasywne (np. Znacznik) ... nie jestem pewien, jak dobrze działa, ale aplikacja NFCClassic na Androida rzekomo rejestruje zawartość tagu, a następnie zezwala na aktywację tagu i wydaje się, że jest skopiowany tag do czytników NFC. Tworzy bibliotekę zapisanych tagów.

mobycoder
źródło
0

W przypadku technologii NFC jest to łatwe. W przypadku Google nie będzie obsługiwać go jako portfela Google.

xding
źródło
0

Nie w tym momencie. Google zwrócił uwagę na Google IO 2011, że emulacja karty nie jest obsługiwana i przez jakiś czas nie będzie obsługiwana. Główny (i łatwy do zrozumienia) problem: która aplikacja powinna mieć prawo do telefonu, aby emulować kartę inteligentną?

denbec
źródło
Właściwym sposobem jest umożliwienie IC akceptacji informacji z każdego info na żądanie ...
Obmerk Kronen,
0

Zdecydowanie możesz sprawić, by telefon z Androidem zapisywał się do czytnika tagów za pomocą funkcji NDEFPush w obsłudze peer-to-peer - ale będziesz musiał napisać kod po stronie czytnika tagów, aby również korzystać z peer-to-peer (llcp) .

gamozzii
źródło
0

Tak, możesz, co jest trybem peer-to-peer

Tryb peer-to-peer


Dwukierunkowe połączenie P2P do wymiany danych między urządzeniami

–Interakcje wyzwalane przez bliskość

–Nexus S: Urządzenia należy układać plecami do siebie

Przykładowe aplikacje

–Wymiana vCard

- Przekazanie biletów i płatność P2P

- Udostępnianie stron internetowych, udostępnianie wideo na Youtube

–Współdzielanie aplikacji

Ranjith Subramaniam
źródło
0

Można sprawić, by urządzenie z Androidem zachowywało się jak tag NFC. Takie zachowanie nazywa się emulacją karty .

  • Emulacja karty może być oparta na hoście (HCE) lub na bezpiecznym elemencie (CE).
  • W HCE aplikacja działająca na głównym procesorze Androida odpowiada czytnikowi. Dlatego telefon musi być WŁĄCZONY.
  • W CE aplet znajdujący się w elemencie Secure odpowiada czytelnikowi. Tutaj wystarczy zasilanie kontrolera NFC, a reszta urządzenia zawieszona.
  • Jedno z tych lub oba podejścia mogą być aktywne jednocześnie.
    Tablica routingu instruuje kontroler NFC, dokąd kieruje polecenia czytnika.
Padmanabha V
źródło
Czy mogę podać odniesienia lub przykłady użycia?
AbhinayMe