Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I did enough research on reading RFID tags using Android phones(smart phones).
My understanding of this is that for NFC-enabled smart phones (Nexus S) it is possible to read RFID tags, but there are restrictions.
For non-NFC-enabled Androids we need a RFID reader to which we can communicate from Android using Bluetooth.
My question is:
What are the SDK which we use for reading RFID tag from Android Phone(NFC enabled)?
If I have to read using Non NFC enabled phone, is there any standard reader available who provides SDK for development purpose?
NFC enabled phones can ONLY read NFC and passive high frequency RFID (HF-RFID). These must be read at an extremely close range, typically a few centimeters. For longer range or any other type of RFID/active RFID, you must use an external reader for handling them with mobile devices.
You can get some decent readers from a lot of manufacturers by simply searching on google. There are a lot of plug in ones for all device types.
I deal a lot with HID readers capable of close proximity scans of HID enabled ID cards as well as NFC from smart phones and smart cards. I use SerialIO badge readers that I load a decryption profile onto that allows our secure company cards to be read and utilized by an application I built. They are great for large scale reliable bluetooth scanning. Because they are bluetooth, they work for PC/Android/iOS/Linux. The only problem is, HID readers are very expensive and are meant for enterprise use. Ours cost about $400 each, but again, they read HID, SmartCards, NFC, and RFID.
If this is a personal project, I suggest just using the phone and purchasing some HF-RFID tags. The tag manufacturer should have an SDK for you to use to connect to
and manage the tags. You can also just use androids NFC docs to get started https://developer.android.com/guide/topics/connectivity/nfc/. Most android phones from the last 8 years have NFC, only iPhone 6 and newer apple phones have NFC, but only iOS 11 and newer will work for what you want to do.
You can hijack your Android audio port using an Arduino board like this. Then, you have two options (as far as I'm concerned):
1) Buy another Arduino Shield that supports RFID. I haven't seen one that supports UHF so far.
2) Try to connect your Arduino hijack with a USB RFID reader and build some embedded hardware kit.
Right now, I'm working in the second option but with iPhone.
First is understanding that RFID is very generic term. NFC is subset of RFID technology. NFC is used for prox card, credit cards, tap and go payment system. Your phones can read and emulate NFC (Apple pay, Google pay, etc.), if they support NFC. NFC is very short distance and low power - which is why you see tap and go type usage.
The more common RFID are the tags you see here and there. They come in a wide ranges of styles, uses and frequency.
HF - high frequency tags are what they use for "chipping" animals - cattle, dogs, cats. Read range is about 12 inches and requires an external antenna that is powered the bigger the antenna the more power it needs and the further it can read.
UFH tags look similar to HF tags but have a read range of several feet.
Also HF tags come single read and multi read.
UFH is exclusviely multi read.
Mutiread means when a reader is active, you can litterally read about 1700 tags in under 10 seconds.
But this is a function of the size of the antenna and how much power you can push through the reader.
As to the direct question about Android and RFID - the best way to go is to get an external handheld reader that connects to your mobile device via Bluetooth.
Bluetooth libraries exist for all mobile devices - Android, Apple, Windows.
From there its just a matter of the manufacturer documentation about how to open a socket to the reader and how to decode the serial information.
The TSL line of readers is very popular because you don't have to deal with reading bytes and all that low level serial jazz that other manufactures do. They have a nice set of commands that are easy to use to control the reader.
Other manufactures are basic in that you open a serial socket and then read the output like you would see in terminal app like PuTTY.
I recently worked on a project to read the RFID tags.
The project used the Devices from manufacturers like Zebra (we were using RFD8500 ) & TSL.
More devices are from Motorola & other vendors as well!
We have to use the native SDK api's provided by the manufacturer, how it works is by pairing the device by the Bluetooth of the phones and so the data transfer between both devices take place! The programming is based on subscribe pattern where the scan should be read by the device trigger(hardware trigger) or soft trigger (from the application).
The Tag read gives us the tagId & the RSSI which is the distance factor from the RFID tags!
This is the sample app:
We get all the device paired to our Android/iOS phones :
You can use a simple, low-cost USB port reader like this test connects directly to your Android device; it has a utility app and an SDK you can use for app development:
https://www.atlasrfidstore.com/sls-rfid-smartmicro-android-micro-usb-reader/
A UHF RFID reader option for both Android and iOS is available from a company called U Grok It.
It is just UHF, which is "non-NFC enabled Android", if that's what you meant. My apologies if you meant an NFC reader for Android devices that don't have an NFC reader built-in.
Their reader has a range up to 7 meters (~21 feet). It connects via the audio port, not bluetooth, which has the advantage of pairing instantly, securely, and with way less of a power draw.
They have a free native SDK for Android, iOS, Cordova, and Xamarin, as well as an Android keyboard wedge.
The NFC-enable able to read a NFC tag ,if the android smartphone with our NFC , you have to buy a small NFC reader for your phone. it is rfid reader for mobile phones.
Related
Currently using React Native and attempting to use react-native-nfc-ios and react-native-nfc so I can have cross-device communication between ios and Android. I'm finding that they cannot communicate, however I think it's due to a broader issue (as other existing apps also don't work).
If I download a NFC reader app on iPhone 7, and an NFC writer app on Android they cannot communicate. Why is this?
Instructions to Duplicate
Turn on NFC Reader on iPhone 7
Put some arbitrary data in NFC write mode on Android
Bringing devices together has no effect.
Not understanding the intricacies of NFC, it's hard for me as a casual programmer to understand what the actual problem is.
I understand that IOS11 on iPhone 7 (plus) supports NFC read, and generally speaking there are card emulation, peer to peer, and read write modes.
Should they not communicate? The iPhone is not able to pick up the
Android writer. Why is this?
How does card emulation (I assume to be Apple Pay), differ from a write mode?
The reason is because Apple's iOS 11 update only allows reading from NFC tags (writing is only permitted for Apple Pay). At the moment, their software does not share the same enjoyment afforded by Android phones which enable card emulation, peer-to-peer, and reader/writer NFC usage. So our only hope is to wait for a software update that will finally enable this existing feature for developers to use.
I have read several articles that claim that it is not possible to emulate an RFID tag using a cell phone. I am curious if it is possible to use bluetooth to send out a beacon that is compatible with an existing RFID tag reader. It is said that RFID tags work on specific frequencies making it impossible to imitate with a cell phone using wifi or bluetooth. I would like to know if it is possible to write software to turn a cell phone into a passive RFID tag without attaching any new hardware.
RFID and BLE are different protocols requiring different hardware.
No, you can't turn a cellphone into an RFID tag unless it has RFID hardware. BLE hardware is not RFID hardware, and can't be made to act like it, just like you can use your Motorola Walkabout walkie-talkie send and receive ham radio signals.
I believe that the hardware that supports ApplePay is RFID, so if you could gain access to that, you might be able to make your Apple Pay compatible iPhone act like an RFID tag, but Apple keeps that stuff locked down tight, and I might be wrong in my understanding in any case.
What you are asking about Wifi/Bluetooth and RFID using the same hardware is not possible.
On a smartphone you can achieve this RFID tag emulation using NFC technology if your phone has a NFC chip. Today NFC is mainly about ISO14443 so the target RFID reader must also support this protocol.
Don't confuse RFID and NFC. Both technologies evolved from a common base with passive versions of both technologies using radio energy sent by a reader to either a RFID Tag (just a very simple chip containing unique identifiers with an antenna attached) or a NFC device, which sends information back to the reader using the reflected energy.
They use different protocols as #Maxime-C mentions. Most importantly, the range is quite different, with NFC it is just a few inches, where as with RFID it is several meters or more. While some RFID readers may also support NFC, I don't believe mobile phones support RFID.
In theory, it actually is possible. An RFID tag operates in radio freqs of 125khz to about 14 Mhz while Bluetooth operates at 2483.5 Mhz. The difference in bandwidth of over 2000 Mhz is enough to modulate an imitated signal of an RFID.
The problem however is how good you are in assembly programming. Although Android or linux does not require drivers to drive the Bluetooth hardware, no software/firmware technology currently exists to hammer your phone's Bluetooth adapter to give out a lower frequency by Modulation- or rather, everybody has been lazy enough to just buy a $1 to $5 RFID tag than to use a $250 phone as a convenient replacement.
I'm guessing not, but just in case, are there any Android devices enabled for reading RFID microchips with no need of external hardware?
Yes, RFID is a form of NFC. Check out this list for devices supporting NFC or the similar wikipedia page.
Not commercial handsets available at major retailers, but certainly on the Enterprise side and in multiple band channels depending on the need.
Some RFID (not NFC) tags can be emulated and read by the NFC interface on the device, it just has to match the spectrum and not be one with a particularly large or complicated memory. See Here: http://blog.trendmicro.com/trendlabs-security-intelligence/hacking-rfid-payment-cards-made-possible-with-android-app/
You might be best served by using a commercial USB reader and USB host adapter on many regularly available devices. Most of those actually communicate with USB serial, which is supported in teh kernel on most popular phones or tablets as long as it uses the FT232RL or PL203 USB Serial adapter chipsets. It will show up as the /dev/USBtty0 interface on the phone or tablet of choice.
Are you looking for other, specific capabilities as well?
Is there a way to create communication between devices (phones) that have bluetooth 4.0 and different RFID tags like EPS tags on products, without using extra hardware?
I search for an API that allows to use devices that have BLE (like the last android and apple phone) to scan products RFID tags and get information from them.
I know that bluetooth 4.0 uses RFID so I think that this kind of API exists, but I couldn't find it.
Also, if you used any API like this and you have the experience, please write some pros and cons, because I also search for the best that exists.
thanks very much!
Completely different wireless technology.
tl;dr
No
Bluetooth is an active transfer wireless socket protocol, and RFID is a short wave IDentification system, they do not operate on the same frequency.
I am unsure what hardware the newest iWare has, but many new Android phones have an RFID / Contactless Smart Card devices built into them, in addition to one for BLE.
Can everyone know how to build android nfc application which can send some information to reader device ISO 14443 A / B?
Thanks
P2P is possible. The most challenging is to find out the right libraries/SDK and the commercial quality reader. So far we have tried already 3 open-source solutions (nfclib, ISMB, etc.) and none of them is really ready for commercial system roll-out.Now we have ordered 2 other NFC readers and SDKs - we waiting for them to be delivered for them to test them:(
Also the problem is the phone side - so far we have tested 5 NFC Android phones and each of them is behaving differently... For us the best will be reader that emulates NFC tags or MIFARE chips...
Petr