¿Puede un teléfono Android NFC actuar como una etiqueta NFC?

101

Por lo que he entendido hasta ahora, un teléfono NFC actuará como un lector NFC que leerá los datos de una etiqueta NFC. Ahora mi pregunta es, ¿podemos cambiar esto? ¿Podemos hacer que un teléfono Android NFC se comporte como la etiqueta de la que un lector NFC obtendrá datos?

Gracias por tu ayuda.

Joshua Partogi
fuente

Respuestas:

32

En este momento, respondería "no" o "con dificultad", pero eso podría cambiar con el tiempo a medida que evolucione la API NFC de Android.

Hay tres modos de interacción NFC:

  1. Lector-escritor: el teléfono lee etiquetas y les escribe. No está emulando una tarjeta, sino un dispositivo lector / escritor NFC. Por lo tanto, no puede emular una etiqueta en este modo.

  2. Peer-to-peer: el teléfono puede leer y transmitir mensajes ndef. Si el lector de etiquetas admite el modo peer-to-peer, entonces el teléfono podría actuar como una etiqueta. Sin embargo, no estoy seguro de si Android usa su propio protocolo además del protocolo LLCP (protocolo de enlace lógico NFC), lo que evitaría que la mayoría de los lectores traten el teléfono como una etiqueta nfc.

  3. Modo de emulación de tarjeta: el teléfono utiliza un elemento seguro para emular una tarjeta inteligente u otro dispositivo sin contacto. No estoy seguro de que se haya lanzado todavía, pero podría ser prometedor. Sin embargo, el uso del elemento seguro puede requerir que el proveedor de hardware o alguna otra persona verifique su aplicación / le dé permisos para acceder al elemento seguro. No es tan simple como crear una aplicación de Android NFC normal.

Más detalles aquí: http://www.mail-archive.com/[email protected]/msg152222.html

Una pregunta real sería: ¿por qué está tratando de emular una etiqueta nfc antigua simple? ¿Hay alguna aplicación en la que no esté pensando? Por lo general, querrá emular algo como una tarjeta de tránsito, una clave de acceso o una tarjeta de crédito que requeriría un elemento seguro (creo, pero no estoy seguro).

Haz algo
fuente
Okay. Google acaba de anotar en google.com/wallet hoy. En este escenario, ¿no actuaría el teléfono como etiqueta?
Joshua Partogi
1
Como @ erich-douglass señaló anteriormente: no necesariamente. si el terminal del lector es peer-to-peer, no necesitaría actuar como una etiqueta.
denbec
Como se indicó anteriormente, puede escribir en un lector desde el teléfono usando NDEF push y peer to peer support en Android 2.3+, pero debe asegurarse de que el código del lector sea peer to peer. (debe ser un teléfono que tenga un chip NFC obv, por ejemplo, Galaxy Nexus, Nexus S.)
gamozzii
El problema es que actualmente la mayoría de los lectores de tarjetas NFC asumen etiquetas pasivas. Es mucho más complejo admitir intercambios LLCP activos y, por supuesto, aún admite la lectura pasiva de tarjetas. Es posible, pero aún no he oído hablar de una opción de pago implementada con LLCP ...
AerandiR
11
Esto está desactualizado. Android 4.4 tiene emulación de tarjeta basada en host, que permite precisamente esto: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns
17

¿Podemos hacer una NFC de Android como la etiqueta de la que un lector NFC obtendrá datos?

El Nexus S admite el modo peer-to-peer , que como su nombre lo indica, hace que un teléfono actúe como una etiqueta que otro teléfono puede leer. Este año hubo una muy buena sesión de E / S de Google en NFC. Recomendaría verlo si está interesado en NFC.

Erich Douglass
fuente
Gracias. Eso me lo aclara. Pero, ¿puede un lector NFC leer desde el teléfono?
Joshua Partogi
@jpartogi No estoy completamente seguro, pero creo que el lector tendría que admitir explícitamente el modo peer-to-peer para que funcione.
Erich Douglass
El modo peer-to-peer es cuando AMBOS teléfonos o dispositivos actúan como lectores. La información no se lee sino que se empuja (escribe) de un lado a otro.
Ben Ward
9

sí tu puedes. Android kitkat aumenta esta funcionalidad aquí

iglen_
fuente
3

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

No lo he verificado yo mismo, pero parece que la gente logró incluir el código oculto en Android nuevamente. Parecen ser capaces de emular una tarjeta Mifare Classic (iso-14443). Pronto probaré esto yo mismo, parece muy interesante.

Si desea hacerlo para una aplicación comercial / gratuita, lo pasará mal, a sus usuarios no les gustará cambiar su kernel para admitir su aplicación.

Actualización: Habría un truco simple para hacer que su teléfono emule un ticket:
puede obtener una etiqueta NFC y ponerla en el teléfono. De esta manera, puede leerlo y escribirlo en todo momento y otros dispositivos también pueden leerlo y escribirlo.
Es solo una idea que tuve, nunca había visto que se usara en ningún lado, por supuesto;)

Juan
fuente
Hemos probado el truco con la emulación de etiquetas NFC en iPhone con iCarte. Podría funcionar ... pero decidimos cancelarlo, ya que es realmente inutilizable ...
STeN
2

Sí, eche un vistazo a NDEF Push en NFCManager: con Android 4 ahora puede incluso crear el NDEFMessage para enviarlo al dispositivo activo en el momento en que se produce la interacción.

Sven Haiges
fuente
1
Este es el modo p2p, ¿no? No emulación de etiquetas obligatoria del foro NFC.
STeN
2

En la sesión de google io sobre NFC, sección qa. Había tal pregunta:

emulación de tarjetas? No hay compatibilidad con API para la emulación de tarjetas No hay una experiencia de usuario consistente al realizar la emulación de tarjetas y no hay una historia convincente

Jason
fuente
Pero de nuevo, la razón por la que la emulación de la tarjeta 'no está permitida' es que generalmente se necesita usar un elemento seguro, pero las etiquetas NFC no tienen seguridad (de hecho, NO PUEDEN tener ninguna). Esto elimina la necesidad del elemento seguro y podría ser posible emularlo mediante el código de la aplicación.
STeN
1

Si te refieres a conseguir que un dispositivo NFC alimentado pretenda ser pasivo (por ejemplo, una etiqueta) ... no estoy seguro de qué tan bien funciona, pero la aplicación de Android NFCClassic pretende registrar el contenido de la etiqueta y luego permitir que la etiqueta se active y parezca estar la etiqueta copiada a los lectores NFC. Crea una biblioteca de etiquetas grabadas.

mobycoder
fuente
0

Para la tecnología NFC, es fácil. Para Google, no lo admitirá como billetera de Google.

xding
fuente
0

No en este momento. Google señaló en Google IO 2011, que la emulación de tarjetas no es compatible y no será compatible por un tiempo. Problema principal (y fácil de entender): ¿Qué aplicación debería ser la correcta en el teléfono para emular una tarjeta inteligente?

denbec
fuente
La forma correcta de hacerlo es tener la posibilidad de que el IC acepte información de cada información a pedido ...
Obmerk Kronen
0

Definitivamente puede hacer que un teléfono Android escriba en un lector de etiquetas utilizando la funcionalidad NDEFPush en el soporte de igual a igual, pero deberá escribir el código en el lado del lector de etiquetas para usar también de igual a igual (llcp) .

gamozzii
fuente
0

Sí, puede, cuál es el modo Peer-to-Peer

Modo peer-to-peer


Conexión P2P bidireccional para intercambiar datos entre dispositivos

–Interacciones activadas por proximidad

–Nexus S: los dispositivos deben colocarse uno al lado del otro

Ejemplo de aplicaciones

–Intercambio de vCards

–Entrega de boletos y pago P2P

–Compartir páginas web, compartir videos de Youtube

–Compartir aplicaciones

Ranjith Subramaniam
fuente
0

Es posible hacer que el dispositivo Android se comporte como una etiqueta NFC. Este comportamiento se llama Emulación de tarjeta .

  • La emulación de tarjetas puede estar basada en host (HCE) o basada en elementos seguros (CE).
  • En HCE, una aplicación que se ejecuta en el procesador principal de Android responde al lector. Entonces, el teléfono debe estar ENCENDIDO.
  • En CE, un applet que reside en el elemento Secure responde al lector. Aquí, es suficiente tener el controlador NFC encendido, con el resto del dispositivo suspendido.
  • Uno de estos o ambos enfoques pueden estar activos simultáneamente.
    Una tabla de enrutamiento indica al controlador NFC hacia dónde enrutan los comandos del lector.
Padmanabha V
fuente
¿Puede proporcionar alguna referencia o casos de uso?
AbhinayMe