Um telefone Android NFC pode funcionar como uma etiqueta NFC?

101

Pelo que entendi até agora, um telefone NFC funcionará como um leitor NFC que lerá os dados de uma etiqueta NFC. Agora minha pergunta é, podemos mudar isso? Podemos fazer um telefone Android NFC se comportar como a etiqueta da qual um leitor NFC obterá dados?

Obrigado pela sua assistência.

Joshua Partogi
fonte

Respostas:

32

No momento, eu responderia "não" ou "com dificuldade", mas isso pode mudar com o tempo, conforme a API NFC do Android evolui.

Existem três modos de interação NFC:

  1. Leitor-Escritor: O telefone lê as tags e grava nelas. Não está emulando um cartão em vez de um dispositivo leitor / gravador NFC. Portanto, você não pode emular uma tag neste modo.

  2. Ponto a ponto: o telefone pode ler e devolver mensagens ndef. Se o leitor de tag for compatível com o modo ponto a ponto, o telefone pode funcionar como uma tag. No entanto, não tenho certeza se o Android usa seu próprio protocolo em cima do protocolo LLCP (protocolo de link lógico NFC), o que impediria a maioria dos leitores de tratar o telefone como uma etiqueta nfc.

  3. Modo de emulação de cartão: o telefone usa um elemento seguro para emular um cartão inteligente ou outro dispositivo sem contato. Não tenho certeza se já foi lançado, mas pode ser promissor. No entanto, o uso do elemento seguro pode exigir que o fornecedor do hardware ou outra pessoa verifique seu aplicativo / conceda a ele permissões para acessar o elemento seguro. Não é tão simples quanto criar um aplicativo Android NFC normal.

Mais detalhes aqui: http://www.mail-archive.com/[email protected]/msg152222.html

Uma pergunta real seria: por que você está tentando emular uma tag nfc simples e antiga? Existe algum aplicativo em que não estou pensando? Normalmente, você deseja emular algo como um cartão de trânsito, chave de acesso ou cartão de crédito que exigiria um elemento seguro (acho, mas não tenho certeza).

Fazer algo
fonte
Está bem. O Google acaba de anunciar google.com/wallet hoje. Nesse cenário, o telefone não funcionaria como a etiqueta?
Joshua Partogi
1
Como @erich-douglass apontou acima: não necessariamente. se o terminal do leitor for ponto a ponto, ele não precisará atuar como uma etiqueta.
denbec
como acima, você pode gravar para um leitor a partir do telefone usando push NDEF e suporte ponto a ponto no Android 2.3+, mas você precisa ter certeza de que o código do leitor é ponto a ponto. (precisa ser um telefone com um chip NFC obviamente, por exemplo, Galaxy Nexus, Nexus S.)
gamozzii
O problema é que atualmente a maioria dos leitores de cartão NFC assume tags passivas. É muito mais complexo oferecer suporte a trocas LLCP ativas e, claro, ainda oferecer suporte à leitura passiva de cartão. É possível, mas ainda não ouvi falar de uma opção de pagamento implementada usando LLCP ...
AerandiR
11
Isso está desatualizado. O Android 4.4 tem emulação de cartão baseada em host, o que permite precisamente isso: developer.android.com/guide/topics/connectivity/nfc/hce.html
Trevor Johns
17

Podemos fazer uma NFC Android como a tag da qual um leitor NFC obterá dados?

O Nexus S suporta o modo ponto a ponto , que como o próprio nome indica, faz com que um telefone atue como uma etiqueta que outro telefone pode ler. Houve uma sessão realmente boa do Google I / O sobre NFC este ano. Eu recomendaria assistir se você estiver interessado em NFC.

Erich Douglass
fonte
Obrigado. Isso deixa tudo claro para mim. Mas um leitor de NFC pode ler no telefone?
Joshua Partogi
@jpartogi Não tenho certeza, mas acho que o leitor teria que suportar explicitamente o modo ponto a ponto para que funcione.
Erich Douglass
modo ponto a ponto é quando AMBOS os telefones ou dispositivos atuam como leitores. As informações não são lidas, mas sim empurradas (gravadas) para frente e para trás.
Ben Ward
9

sim você pode. Android kitkat aumenta esta funcionalidade aqui

iglen_
fonte
3

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

Eu não verifiquei isso, mas parece que as pessoas conseguiram incluir o código oculto no Android novamente. Eles parecem ser capazes de emular uma placa Mifare Classic (iso-14443). Em breve vou testar isso sozinho, parece muito interessante.

Se você quiser fazer isso para um aplicativo comercial / gratuito, terá dificuldades, pois seus usuários não vão gostar de mudar o kernel para oferecer suporte ao seu aplicativo.

Atualização: haveria um truque simples para fazer seu telefone emular um tíquete:
você pode obter um adesivo NFC e colocá-lo no telefone. Desta forma, você pode ler e escrever a qualquer momento e outros dispositivos também podem ler e escrever.
É apenas uma ideia que eu tive, nunca vi que fosse usada em qualquer lugar, é claro;)

John
fonte
Tentamos o truque com a emulação de tag NFC no iPhone com iCarte. Pode funcionar ... mas decidimos cancelá-lo, já que está realmente inutilizável ...
STeN
2

Sim, dê uma olhada no NDEF Push no NFCManager - com o Android 4 agora você pode até criar o NDEFMessage para enviar ao dispositivo ativo no momento em que a interação ocorre.

Sven Haiges
fonte
1
Este é o modo p2p, não é? Emulação de tag não obrigatória do fórum NFC.
STeN
2

Na sessão google io sobre NFC, seção qa. Houve tal pergunta:

emulação de cartão? Sem suporte de API para emulação de cartão Sem experiência do usuário consistente ao fazer emulação de cartão e nenhuma história convincente

Jason
fonte
Mais uma vez - a razão pela qual a emulação de cartão 'não é permitida' é que geralmente um elemento seguro precisa ser usado, mas as etiquetas NFC não têm segurança (na verdade, NÃO PODEM ter). Isso elimina a necessidade do elemento seguro e pode ser possível emulá-lo por meio do código do aplicativo.
STeN
1

Se você pretende fazer com que um dispositivo NFC alimentado finja ser passivo (por exemplo, uma tag) ... não tenho certeza de como isso funciona bem, mas o aplicativo Android NFCClassic pretende registrar o conteúdo da tag e, em seguida, permitir que a tag seja ativada e pareça ser a tag copiada para leitores NFC. Cria uma biblioteca de tags gravadas.

mobycoder
fonte
0

Para a tecnologia NFC, é fácil. Para o Google, não o suportará como carteira do Google.

xding
fonte
0

Não, não no momento. O Google apontou no Google IO 2011, que a emulação de cartão não é suportada e não será suportada por um tempo. Problema principal (e fácil de entender): Qual aplicativo deve ser o certo no telefone para emular um smartcard?

Denbec
fonte
A maneira certa de fazer é ter a possibilidade de o IC aceitar as informações de cada uma das informações solicitadas ...
Obmerk Kronen
0

Você pode definitivamente fazer um telefone Android gravar em um leitor de tag usando a funcionalidade NDEFPush no suporte ponto a ponto - mas você precisará escrever o código no lado do leitor de tag para usar ponto a ponto também (llcp) .

gamozzii
fonte
0

Sim, você pode, o que é o modo ponto a ponto

Modo Peer-To-Peer


Conexão P2P bidirecional para troca de dados entre dispositivos

–Interações acionadas por proximidade

–Nexus S: Os dispositivos devem ser colocados costas com costas

Exemplo de aplicativos

–Troca de vCards

- Transferência de ingressos e pagamento P2P

–Compartilhamento de página da web, compartilhamento de vídeo do Youtube

–Compartilhamento de aplicativo

Ranjith Subramaniam
fonte
0

É possível fazer o dispositivo Android se comportar como uma etiqueta NFC. Esse comportamento é chamado de emulação de cartão .

  • A emulação de cartão pode ser baseada em host (HCE) ou baseada em elemento seguro (CE).
  • No HCE, um aplicativo em execução no processador principal do Android responde ao leitor. Portanto, o telefone precisa estar ligado.
  • No CE, um applet residente no elemento Secure responde ao leitor. Aqui, é suficiente ter o controlador NFC ligado, com o resto do dispositivo suspenso.
  • Uma dessas ou ambas as abordagens podem estar ativas simultaneamente.
    Uma tabela de roteamento instrui o controlador NFC para onde rotear os comandos do Reader.
Padmanabha V
fonte
Pode fornecer alguma referência ou casos de uso?
AbhinayMe de