Getting started with Nexus S NFC/RFID. Can anyone provide any guidance?
I'm interested in creating some home brew demos using the nexus s NFC/RFID hardware.
I think I need to find the appropriate tags and how to encode urls into tags that the nexus s can read by it's tags app.
Not sure about iso 14443 tags or mifare etc
Does nexus s support all of libnfc?
If I root the device can I get access to write functionality?
Thanks
The Nexus S will read Mifare tags. I have replayed YouTube videos (http://www.youtube.com/watch?v=eu7fQsPjDls) from a smartcard using the Nexus S. The URL was written with another device (Nokia 6212).
One possibility: I've noticed that the Nexus S can read RFID tags made by touchatag, an Alcatel-Lucent venture that has been around a couple years. They have a web page (google 'touchatag store') where you can order a "starter kit" of 10 tags plus a USB reader.
The tags are hard-coded to URLs at the touchatag mothership, www.ttag.be/[tagid]
So the idea is you register a tag through their web site, scanning it on the reader and associating a desired URL with it. When someone reads the tag with their phone, it will show up as www.ttag.be/[tagid] and from there it redirects to the desired URL.
I had answered this question partially in one of the Nexus S related questions.
Also, you can refer the developer.android.com URL for a demo app. I think, this uses dummy NFC tag.
If you are interested in developing some hardware demos then you need to buy a few actual NFC tags and try out the above app on your Nexus S phone device. I found a few sites (1, 2) who sell NFC tags, kits, etc. BTW, I have not tried any of these sites.
Based on what I came across, for now Nexus S provides only read functionality for NFC tags and support for other modes is planned.
EDIT:
Android blog states following are the new features in Android 2.3.3:
A comprehensive NFC reader/writer API that lets apps read and write to
almost any standard NFC tag in use
today.
Advanced Intent dispatching that gives apps more control over how/when
they are launched when an NFC tag
comes into range.
Some limited support for peer-to-peer connection with other NFC
devices.
I suggest you to but a reader/writer like ACR122U-A2 to read/write tag Topaz and Mifare Card.
In SmartId we are a pair of solution just developed with this twin.
http://www.youtube.com/watch?v=hYFwnc-apnI&feature=fvsr
If you have upgraded your Nexus to Android 4.0 then you might want to check out this Eclipse plugin (disclamer: shameless plug of own project). It uses Android NFC hardware and also supports a few NFC readers like the ACR122U.
Related
I'm exploring the possibilities of using the NFC Antenna on my Nexus 4 to read membership cards at work. The cards are an EM4102 RFID tag.
I found a small app called NFC Reader on the Android Market, but it doesn't react to the card, but it reads another tag (Mifare I think) perfectly fine.
Would this be a miss in the software, or is the antenna unable to read EM4102 tags?
I'm working on a small test app to see if I can get it working, but if anyone here has any experience with this, it'd be much appreciated!
I don't have experience with those tags, but a quick Google search suggests they are 125kHz technology. NFC only supports 13.56MHz technology.
I have seen many questions on SO about NFC, the closest question I have come across is Can an Android NFC phone act as an NFC tag?
However that question was asked over a year ago when the Galaxy Nexus wasn't even announced yet, nor Android 4.0 +, now at the end of 2012 I have a Galaxy Nexus running Android 4.2.1 (Stock). I know how to read NFC tags and get the data etc from them, but is it possible now to replicate the tag and use the phone to act as the tag.
An example of this will be the following:
I have a bus card, which basically just holds an identity, when I scan the card it pays for my bus ticket along with adding cash to it etc.
It would rather handy if I could just copy the data to my phone, then when ever I go onto the bus, instead of using a tag, just use phone and write it to the reader.
4.2.1 as well as earlier versions do not support card emulation or any similar features.
I´ve been reading a lot about NFC, card emulation and etc.... I found two very helpful posts about this issue:
Android and Symbian NFC mobile development questions and answers (FAQ)
http://forum.xda-developers.com/showthread.php?t=1281946
Reading them I realized that it is quite complicated to write an application to make a payment.
Since I just want to see "something" working I'd like to ask the more experienced people if using the patch provided at xda-developers forum (second link above) would be enough just to write an appication that would open some door ou register/authorize someone´s entrance at an event (provided that I have a NFC device to properly interact with my phone, of course).
Thank you all
Payment is mostly impossible since you don't have the keys for the JavaCard card manager, better forget about it. Additionally, to write a Visa, etc compatible payment applet, you
need access to their specs, which means signing NDAs, paying money, etc.
Apparently the Mifare chip has stock keys, so you can modify it. So if you have a reader, and a device (door, etc.) that uses Mifare cards, you might be able to get it work. The thread also mentions that you might be able to clone your transport card. But:
you need to build your own firmware and flash it on a rooted phone
you may need to port the patches to whatever is the current GB version (2.3.7) or use exactly the same (old) tag
You need to do a lot more reading :)
In my opinion, you shouldn't bother with trying the patches on XDA Developers, especially if you are considering using Android 4.0 ICS. Android 4.0 already has built-in functionality on the Nexus S and Galaxy Nexus phones to enable card emulation. Drawback: you need a rooted phone to make it all work (see e.g. How to obtain NFCEE_ADMIN permission on rooted phone? for an example of someone succeeding).
A perhaps simpler approach is using NFC peer-to-peer communication ("Android Beam") with an external reader. This can work with any Android NFC device using a simple app to push the necessary data to the reader. Provided the reader support peer-to-peer communication, this is far the easiest solution. It would require some development work on the reader side, though, see http://code.google.com/p/ismb-npp-java/wiki/NppFromPhoneToACR122 for an example of this approach.
I have nexus s mobile with me. I am working with the smartcard apps on android. As i surffing over net, I came to know that nexus s mobile is able to read the smartcard tags. When i tried to connect the smartcards which i have , I am unable to get the tag information and i have no Response. why is that not connected with nexus s . All i need to know is, Is there any specific needs the smartcards should satisfy to connect with nexus s ?? Or what kind of tags we can connect with nexus s mobile.
Can anyone pls give me your valuable suggestion.
You can read all the tag types specified by TagTechnology with the Nexus S. If you can not read the Tag it could be a matter of malformed content, invalid authentication Keys (in case you are reading protected Tag such as a Mifare Classic or a Mifare Desfire), etc.
Instead of using default Tag read application, I recommend you the NFC Tag Info from NXP application. It gives you much more information about the underlying specification of the read tag.
can nexus s be used as an NFC tag? that stores details such as a users credits etc.
Currently Nexus S can read NFC tag. But its not capable of storing NFC tags as of now. The future OS update of Nexus S will surely have this feature.
Also for your reference,
http://www.mail-archive.com/android-developers#googlegroups.com/msg150101.html
This may give you some good idea.