Kann ein Android-NFC-Telefon als NFC-Tag fungieren?

101

Nach meinem bisherigen Verständnis fungiert ein NFC-Telefon als NFC-Lesegerät, das Daten von einem NFC-Tag liest. Meine Frage ist nun, können wir das umschalten? Können wir dafür sorgen, dass sich ein Android-NFC-Telefon wie das Tag verhält, von dem ein NFC-Lesegerät Daten erhält?

Danke für deine Hilfe.

Joshua Partogi
quelle

Antworten:

32

Zu diesem Zeitpunkt würde ich mit "Nein" oder "mit Schwierigkeiten" antworten, aber das könnte sich im Laufe der Zeit ändern, wenn sich die Android-NFC-API weiterentwickelt.

Es gibt drei Arten der NFC-Interaktion:

  1. Reader-Writer: Das Telefon liest Tags und schreibt darauf. Es wird keine Karte emuliert, sondern ein NFC-Lese- / Schreibgerät. Daher können Sie in diesem Modus kein Tag emulieren.

  2. Peer-to-Peer: Das Telefon kann ndef-Nachrichten lesen und zurückgeben. Wenn der Tag-Reader den Peer-to-Peer-Modus unterstützt, kann das Telefon möglicherweise als Tag fungieren. Ich bin mir jedoch nicht sicher, ob Android zusätzlich zum LLCP-Protokoll (NFC Logical Link Protocol) ein eigenes Protokoll verwendet, das die meisten Leser daran hindern würde, das Telefon als NFC-Tag zu behandeln.

  3. Kartenemulationsmodus: Das Telefon verwendet ein sicheres Element, um eine Smartcard oder ein anderes kontaktloses Gerät zu emulieren. Ich bin mir nicht sicher, ob dies noch gestartet ist, könnte aber vielversprechend sein. Für die Verwendung des sicheren Elements muss der Hardwarehersteller oder eine andere Person möglicherweise Ihre App überprüfen / ihr die Berechtigung zum Zugriff auf das sichere Element erteilen. Es ist nicht so einfach wie das Erstellen einer normalen NFC-Android-App.

Weitere Details finden Sie hier: http://www.mail-archive.com/[email protected]/msg152222.html

Eine echte Frage wäre: Warum versuchen Sie, ein einfaches altes NFC-Tag zu emulieren? Gibt es eine Anwendung, an die ich nicht denke? Normalerweise möchten Sie so etwas wie eine Transitkarte, einen Zugangsschlüssel oder eine Kreditkarte emulieren, für die ein sicheres Element erforderlich ist (glaube ich, aber nicht sicher).

Etwas machen
quelle
OK. Google kündigt heute nur google.com/wallet an. Würde das Telefon in diesem Szenario nicht als Tag fungieren?
Joshua Partogi
1
Wie @ erich-douglass oben ausgeführt hat: nicht unbedingt. Wenn das Reader-Terminal Peer-to-Peer ist, muss es nicht als Tag fungieren.
Denbec
Wie oben können Sie vom Telefon aus mit NDEF Push- und Peer-to-Peer-Unterstützung in Android 2.3+ auf einen Reader schreiben. Sie müssen jedoch sicherstellen, dass der Reader-Code Peer-to-Peer ist. (muss ein Telefon sein, das einen NFC-Chip hat, zB Galaxy Nexus, Nexus S.)
gamozzii
Das Problem ist, dass derzeit die meisten NFC-Kartenleser passive Tags annehmen. Es ist viel komplexer, aktiven LLCP-Austausch zu unterstützen und natürlich weiterhin passives Kartenlesen zu unterstützen. Es ist möglich, aber ich habe noch nichts von einer Zahlungsoption gehört, die mit LLCP implementiert wurde ...
AerandiR
11
Das ist veraltet. Android 4.4 hat eine hostbasierte Kartenemulation, die genau dies ermöglicht: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns
17

Können wir einen Android-NFC als Tag erstellen, von dem ein NFC-Reader Daten erhält?

Das Nexus S unterstützt den Peer-to-Peer- Modus. Wie der Name schon sagt, fungiert ein Telefon als Tag, das ein anderes Telefon lesen kann. In diesem Jahr gab es eine wirklich gute Google I / O-Sitzung zu NFC. Ich würde empfehlen, es anzuschauen, wenn Sie überhaupt an NFC interessiert sind.

Erich Douglass
quelle
Vielen Dank. Das macht es mir klar. Aber kann ein NFC-Leser vom Telefon lesen?
Joshua Partogi
@jpartogi Ich bin mir nicht ganz sicher, aber ich denke, der Leser müsste den Peer-to-Peer-Modus explizit unterstützen, damit er funktioniert.
Erich Douglass
Im Peer-to-Peer-Modus fungieren BEIDE Telefone oder Geräte als Lesegeräte. Informationen werden nicht so sehr gelesen, sondern hin und her geschoben (geschrieben).
Ben Ward
9

Ja, du kannst. Android Kitkat erweitert diese Funktionalität hier

iglen_
quelle
3

Lesen Sie hier: http://groups.google.com/group/android-developers/browse_thread/thread/d5fc35a9f16aa467/dec4843abd73d9e9%3Flnk%3Dgst%26q%3Dsecure%2Belement%2Bdiff%2527sab23c?

Ich habe das selbst nicht überprüft, aber es sieht so aus, als hätten es die Leute geschafft, den versteckten Code wieder in Android aufzunehmen. Sie scheinen in der Lage zu sein, eine Mifare Classic-Karte (iso-14443) zu emulieren. Ich werde das bald selbst testen, es sieht sehr interessant aus.

Wenn Sie dies für eine kommerzielle / kostenlose App tun möchten, fällt es Ihnen schwer. Ihre Benutzer möchten ihren Kernel nicht ändern, um Ihre App zu unterstützen.

Update: Es gibt einen einfachen Trick, um Ihr Telefon dazu zu bringen, ein Ticket zu emulieren:
Sie können einen NFC-Aufkleber erhalten und ihn in oder auf das Telefon kleben. Auf diese Weise können Sie es jederzeit lesen und schreiben, und andere Geräte können es auch lesen und schreiben.
Es ist nur eine Idee, die ich hatte und die ich natürlich noch nie gesehen habe;)

John
quelle
Wir haben den Trick mit der NFC-Tag-Emulation auf dem iPhone mit iCarte ausprobiert. Es könnte funktionieren ... aber wir haben beschlossen, es abzubrechen, da das wirklich unbrauchbar ist ...
STeN
2

Ja, sehen Sie sich NDEF Push in NFCManager an. Mit Android 4 können Sie jetzt sogar die NDEFMessage erstellen, um sie zum Zeitpunkt der Interaktion auf das aktive Gerät zu übertragen.

Sven Haiges
quelle
1
Das ist der P2P-Modus, nicht wahr? Keine vom NFC-Forum vorgeschriebene Tag-Emulation.
STeN
2

In der Google Io-Sitzung über NFC, Abschnitt qa. Es gab eine solche Frage:

Kartenemulation? Keine API-Unterstützung für die Kartenemulation Keine konsistente Benutzererfahrung bei der Kartenemulation und keine überzeugende Geschichte

Jason
quelle
Bu nochmal - der Grund, warum die Kartenemulation "nicht erlaubt" ist, ist, dass normalerweise ein sicheres Element verwendet werden muss, aber für NFC-Tags keine Sicherheit haben (tatsächlich können sie keine haben). Dadurch entfällt die Notwendigkeit sicherer Elemente, und es kann möglich sein, diese über den Anwendungscode zu emulieren.
STeN
1

Wenn Sie ein NFC-Gerät mit Stromversorgung dazu bringen möchten, sich als passives Gerät auszugeben (z. B. ein Tag), sind Sie sich nicht sicher, wie gut es funktioniert, aber die Android-App NFCClassic gibt vor, Tag-Inhalte aufzuzeichnen und dann zuzulassen, dass das Tag aktiviert wird und angezeigt wird das kopierte Tag an NFC-Reader. Erstellt eine Bibliothek mit aufgezeichneten Tags.

Mobycoder
quelle
0

Für NFC-Techniker ist es einfach. Für Google wird es nicht als Google Wallet unterstützt.

xding
quelle
0

Nein, nicht in diesem Moment. Google hat auf der Google IO 2011 darauf hingewiesen, dass die Kartenemulation nicht unterstützt wird und für eine Weile nicht unterstützt wird. Hauptproblem (und leicht zu verstehen): Welche App sollte das richtige Telefon haben, um eine Smartcard zu emulieren?

denbec
quelle
Der richtige Weg ist, die Möglichkeit zu haben, dass der IC auf Anfrage Informationen von jeder Information akzeptiert ...
Obmerk Kronen
0

Mit der NDEFPush-Funktion in der Peer-to-Peer-Unterstützung können Sie ein Android-Telefon definitiv dazu bringen, auf einen Tag-Reader zu schreiben. Sie müssen jedoch den Code auf der Seite des Tag-Readers schreiben, um auch Peer-to-Peer verwenden zu können (llcp). .

gamozzii
quelle
0

Ja, das ist der Peer-to-Peer-Modus

Peer-to-Peer-Modus


Bidirektionale P2P-Verbindung zum Datenaustausch zwischen Geräten

–Näherung löste Interaktionen aus

–Nexus S: Geräte müssen hintereinander platziert werden

Anwendungsbeispiel

–Austausch von vCards

–Hand-Over von Tickets & P2P-Zahlung

–Web-Page-Sharing, Youtube-Video-Sharing

–Application Sharing

Ranjith Subramaniam
quelle
0

Es ist möglich , Android-Geräte als NFC-Tag zu verhalten. Ein solches Verhalten wird als Kartenemulation bezeichnet .

  • Die Kartenemulation kann hostbasiert (HCE) oder sicherelementbasiert (CE) sein.
  • In HCE reagiert eine Anwendung, die auf dem Android-Hauptprozessor ausgeführt wird, auf den Leser. Das Telefon muss also eingeschaltet sein.
  • In CE antwortet ein Applet im Secure-Element dem Leser. Hier reicht es aus, den NFC-Controller mit Strom zu versorgen, während der Rest des Geräts ausgesetzt ist.
  • Einer dieser oder beide Ansätze können gleichzeitig aktiv sein.
    Eine Routing-Tabelle weist den NFC-Controller an, wohin die Befehle des Readers geleitet werden sollen.
Padmanabha V.
quelle
Können Sie Referenz- oder Anwendungsfälle bereitstellen?
AbhinayMe