Un telefono Android NFC può fungere da tag NFC?


101

Da quello che ho capito finora, un telefono NFC fungerà da lettore NFC che leggerà i dati da un tag NFC. La mia domanda è: possiamo cambiare questa situazione? Possiamo fare in modo che un telefono Android NFC si comporti come il tag da cui un lettore NFC riceverà i dati?

Grazie per la tua assistenza.

Risposte:


32

A questo punto, risponderei "no" o "con difficoltà", ma ciò potrebbe cambiare nel tempo con l'evolversi dell'API NFC di Android.

Esistono tre modalità di interazione NFC:

  1. Reader-Writer: il telefono legge i tag e scrive su di essi. Non sta emulando una scheda, ma un dispositivo di lettura / scrittura NFC. Quindi, non puoi emulare un tag in questa modalità.

  2. Peer-to-peer: il telefono può leggere e restituire messaggi ndef. Se il lettore di tag supporta la modalità peer-to-peer, il telefono potrebbe agire come un tag. Tuttavia, non sono sicuro che Android utilizzi il proprio protocollo oltre al protocollo LLCP (protocollo di collegamento logico NFC), che impedirebbe alla maggior parte dei lettori di trattare il telefono come un tag nfc.

  3. Modalità di emulazione della carta: il telefono utilizza un elemento sicuro per emulare una smart card o un altro dispositivo senza contatto. Non sono sicuro che sia stato ancora lanciato, ma potrebbe fornire risultati promettenti. Tuttavia, l'utilizzo dell'elemento secure potrebbe richiedere al fornitore dell'hardware o ad un'altra persona di verificare la tua app / concederle le autorizzazioni per accedere all'elemento secure. Non è semplice come creare una normale app Android NFC.

Maggiori dettagli qui: http://www.mail-archive.com/android-developers@googlegroups.com/msg152222.html

Una vera domanda sarebbe: perché stai cercando di emulare un semplice vecchio tag nfc? C'è qualche applicazione a cui non penso? Di solito, vorresti emulare qualcosa come una carta di transito, una chiave di accesso o una carta di credito che richiederebbe un elemento sicuro (penso, ma non sono sicuro).


Ok. Google annuncia oggi google.com/wallet. In questo scenario, il telefono non fungerebbe da tag?
Joshua Partogi

1
Come @ erich-douglass ha sottolineato sopra: non necessariamente. se il terminale del lettore è peer-to-peer, non dovrebbe agire come un tag.
denbec,

come sopra, puoi scrivere a un lettore dal telefono utilizzando il supporto NDEF push e peer to peer in Android 2.3+, ma devi assicurarti che il codice del lettore sia peer to peer. (deve essere un telefono con chip NFC, ad esempio Galaxy Nexus, Nexus S.)
gamozzii

Il problema è che attualmente la maggior parte dei lettori di schede NFC assume tag passivi. È molto più complesso supportare gli scambi LLCP attivi e, naturalmente, supportare ancora la lettura passiva delle carte. È possibile, ma non ho ancora sentito parlare di un'opzione di pagamento implementata utilizzando LLCP ...
AerandiR

11
Questo è obsoleto. Android 4.4 ha l'emulazione della scheda basata su host, che consente proprio questo: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns,

17

Possiamo creare un NFC Android come tag da cui un lettore NFC riceverà i dati?

Il Nexus S supporta la modalità peer-to-peer , che, come suggerisce il nome, fa sì che un telefono agisca come un tag che un altro telefono può leggere. Quest'anno c'è stata un'ottima sessione di I / O di Google su NFC. Ti consiglio di guardarlo se sei interessato a NFC.


Grazie. Questo mi rende chiaro. Ma un lettore NFC può leggere dal telefono?
Joshua Partogi

@jpartogi Non ne sono completamente sicuro, ma penso che il lettore dovrebbe supportare esplicitamente la modalità peer-to-peer affinché funzioni.
Erich Douglass

la modalità peer-to-peer è quando ENTRAMBI i telefoni o i dispositivi agiscono come lettori. Le informazioni non sono tanto lette quanto spinte (scritte) avanti e indietro.
Ben Ward



3

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

Non l'ho verificato da solo, ma sembra che le persone siano riuscite a includere di nuovo il codice nascosto in Android. Sembra che siano in grado di emulare una carta Mifare Classic (iso-14443). Presto lo proverò io stesso, sembra molto interessante.

Se vuoi farlo per un'app commerciale / gratuita avrai difficoltà, ai tuoi utenti non piacerebbe cambiare il loro kernel per supportare la tua app.

Aggiornamento: ci sarebbe un semplice trucco per far emulare un biglietto dal tuo telefono:
puoi ottenere un adesivo NFC e metterlo dentro o sul telefono. In questo modo puoi leggerlo e scriverlo in ogni momento e anche altri dispositivi possono leggerlo e scriverlo.
È solo un'idea che ho avuto, non l'ho mai vista usata da nessuna parte ovviamente;)


Abbiamo provato il trucco con l'emulazione di tag NFC su iPhone con iCarte. Potrebbe funzionare ... ma abbiamo deciso di annullarlo, dal momento che è davvero inutilizzabile ...
STeN

2

Sì, dai un'occhiata a NDEF Push in NFCManager: con Android 4 ora puoi persino creare il NDEFMessage da inviare al dispositivo attivo nel momento in cui avviene l'interazione.


1
Questa è la modalità p2p non è vero? Emulazione di tag non richiesta dal forum NFC.
STeN

2

Nella sessione google io su NFC, sezione qa. C'era una domanda del genere:

emulazione della carta? Nessun supporto API per l'emulazione delle carte Nessuna esperienza utente coerente durante l'emulazione delle carte e nessuna storia avvincente


Bu di nuovo - il motivo per cui l'emulazione della carta è "non consentita" è che di solito deve essere utilizzato l'elemento sicuro, ma per i tag NFC non hanno alcuna sicurezza (in realtà NON POSSONO averne). Ciò elimina la necessità dell'elemento sicuro e potrebbe essere possibile emularlo tramite il codice dell'applicazione.
STeN

1

Se intendi ottenere un dispositivo NFC alimentato per fingere di essere passivo (ad esempio un tag) .. non sono sicuro di come funzioni ma l'app Android NFCClassic pretende di registrare i contenuti dei tag e quindi consentire l'attivazione del tag e sembra il tag copiato sui lettori NFC. Crea una libreria di tag registrati.



0

Per la tecnologia NFC, è facile. Per Google, non lo supporterà come portafoglio Google.


0

No, non al momento. Google ha sottolineato al Google IO 2011 che l'emulazione della carta non è supportata e non sarà supportata per un po '. Problema principale (e di facile comprensione): quale app dovrebbe avere il diritto sul telefono per emulare una smartcard?


Il modo giusto è avere la possibilità per l'IC di accettare informazioni da ogni informazione su richiesta ...
Obmerk Kronen

0

Puoi sicuramente fare in modo che un telefono Android scriva su un lettore di tag utilizzando la funzionalità NDEFPush nel supporto peer-to-peer, ma dovrai scrivere il codice sul lato del lettore di tag per utilizzare anche peer-to-peer (llcp) .


0

Sì, puoi qual è la modalità Peer-To-Peer

Modalità peer-to-peer


Connessione P2P bidirezionale per lo scambio di dati tra dispositivi

–Interazioni attivate dalla prossimità

–Nexus S: i dispositivi devono essere posizionati uno dopo l'altro

Esempio di applicazioni

–Scambio di vCard

–Consegna dei biglietti e pagamento P2P

–Condivisione di pagine web, condivisione di video su Youtube

–Application sharing


0

È possibile fare in modo che il dispositivo Android si comporti come un tag NFC. Questo comportamento è chiamato Card Emulation .

  • L'emulazione della carta può essere basata su host (HCE) o su elementi sicuri (CE).
  • In HCE, un'applicazione in esecuzione sul processore principale di Android risponde al lettore. Quindi, il telefono deve essere acceso.
  • In CE, un'applet che risiede nell'elemento Secure risponde al lettore. Qui è sufficiente avere il controller NFC alimentato, con il resto del dispositivo sospeso.
  • Uno di questi o entrambi gli approcci possono essere attivi contemporaneamente.
    Una tabella di instradamento indica al controller NFC dove instradare i comandi del lettore.

Può fornire qualche riferimento o casi d'uso?
AbhinayMe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.