Reputation: 7193
If I have an NFC reader/writer device, can I get it to detect my NFC enabled android phone, so that I may be able to transfer data from my phone to the device? I have found some links on Stackoverflow related to card emulation but they all say that card emulation is not possible or is too difficult
How to make an android phone act as Contactless smart card?
NFC card emulation Android
Can an Android NFC phone act as an NFC tag?
NFC - p2p mode scenario
NFC Peer2Peer Mode - Android Beam - ISO 18092
Galaxy Nexus 4.1.1 and ISO14443 reader
But a pdf document I found online says
Card emulation mode is based on ISO standards ISO 14443-A and ISO 14443-B, which are endorsed by the NFC Forum.
Moreover, it further says that P2P mode is also endorsed by the NFC forum, which, if I understood it correctly, is also like one phone working in reader emulation mode while the other working in card emulation mode
So if I have an NFC enabled phone, and USB reader/write, such as, say, THIS ONE, can I get it to detect my phone as an NFC device and transfer some data from my phone to the reader/writer?
---EDIT---
Note: I am not talking about getting the phone to work as a secure payment system or anything like that, my question is more basic: If I send out some data (say a string "ABC" or some number 1234) from my phone using NFC, can I get the external reader/writer to detect it?
Upvotes: 5
Views: 7221
Reputation: 621
An NFC device running in P2P
mode can receive data from an Android phone using Android Beam
.
The NFC device
has to implement an "NFC Forum Default SNEP Server"
, which is the equivalent of an Android Beam receiverAndroid Beam receiver
.
There are various libraries and tools to do this, the one I can talk about is the Python
based NFCPy, it comes with a beam.py
example program that does it out of the box.
Upvotes: 1
Reputation: 2251
It didn't used to be possible at all without some awkward hacks however things have changed.
You can now access the secure element for example. If you want to have your emulate a Mifare card for example then you can use this I believe (see here).
Or if you want it to emulate a more advanced card (such an NFC credit card) then try following the instructions on this great blog. This will require you to have a rooted phone and run Cyanogenmod.
I haven't tried the first method but the one which requires Cyanogenmod I've tested and written an application that allows my Nexus S to communicate with an ACR122 reader and send arbitrary data.
Upvotes: 0