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.

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/android-developers@googlegroups.com/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).


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.


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



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;)


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.


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


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.



0

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


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ą?


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) .


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


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.

Czy mogę podać odniesienia lub przykłady użycia?
AbhinayMe
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.