nfc p2p communication arduino to arduino - android

for my master thesis I am currently working in a project that should exchange
data between two arduino uno by means of a NFC communication p2p using SPI interface.
The shield is a NFC pn532 based, from Elechouse (NFC MODULE V3). Actually it could be the adafruit breakout board but the important thing is the pn532.
I am using this library https://github.com/don/NDEF and it works with arduino to android and android to arduino. According to the creator, It should work also for my purpose.
There's something that initiates the connection between Android and Arduino that is not happening between 2 Arduinos. Unfortunately I think it's something low level in SNEP or LLCP. All that's happening in the PN532 driver.
So here is the point: no one had achieved that, but I donĀ“t think is something huge. I need to know what is missing between two arduino that is happening between arduino and android. The datasheet of PN532/C1 rev. 3.2 should help.
Anyone can help me in that?

Phones have to perform some sort of card emulation to be able to be detected by a reader, as they are not tags. Same story with arduino shields, they are not tags either. I've checked the adafruit shield and it doesn't do card emulation because it requires an external Secure Element from NXP. So I'm not sure about your shield but you should check the documentation.
Another risk might be that your project only worked with NXP technology. Android phones with Broadcom NFC chips might not be compatible with your shield/library if it only reads Mifare cards (which are NXP propietary).

Related

How to send information from RFID-RC522 module to android phone via NFC?

I'm trying to send temperature and humidity data using arduino to a android smartphone via NFC. I set up the circuit using a DHT11 sensor to measure data, and RFID-RC522 module to read data when using an identified tag. I want to be able to see the data from the phone, when I read my NFC supported phone to the module.
I ask for your help in this matter.
Thank you in advance for your answers.
Unfortunately the MFRC522 chip is extremely basic and can only act as a reader, thus probably your only option is to use Host Card Emulation (HCE) on Android so that the Android phone emulates a Type 4 (ISO 7816) Tag.
But you will still have to do a lot of work on the Arduino to implement the the protocols needed, to have the MFRC522 to write data to the Android phone pretending to be a Tag.
If you used a more advanced NFC Chip like the PN532 you could reverse the roles and as the PN532 can emulate a Tag and thus the Android Phone could be the reader and just read values from the PN532 emulated Tag
Note I've not tried this myself, just my research in to a similar problem.

Using Bluetooth to create an RFID Tag

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.

Reading RFID tag using Android Device via Bluetooth

I am currently developing app with target device like Samsung Tablet 3.0 and it does not have NFC feature in it but it has Bluetooth .
I would like to know can I read a RFID tag using Bluetooth if yes , does any one have code .
Have gone through various stack questions and it seems , it requires NFC technology also got a code for it NFC CODE . But can a support for bluetooth communication is possible
I am sorry but this is absolutely not possible:
NFC is sending with a frequency around 13.56 MHZ whereas Bluetooth uses 2.4 GHz to 2.5 GHz. Totaly different standards.
Resource: Wikipedia Wikipedialink

Is it possible to use Android Beam between an android device and another NFC device?

I'd like to implement a NFC communication between my Android app and a NFC-enabled kiosk. I've read the documentation and I understand pushing data can be done in 2 ways:
Via foreground NDEF pushing for API level 10 to 13
Via Android Beam from API level 14
I think I can do what I want to via the first solution but I'd like to know if it's possible to use Android Beam between an android device and a non-android device?
Thanks for your help,
Romain
Although the function calls between API 10 to 13 and APi 14 differ, the actual underlying protocol is nearly the same. In both cases, NFC peer-to-peer communication is done using LLCP. In API 10 to 13, the actual data transfer protocol used is NPP. In API 14, SNEP is added to that, but it will fall back to NPP when the other device does not support SNEP.
So when your non-Android device implements SNEP and/or NPP over LLCP, it can transfer data to and receive data from an Android NFC device. Several implementations of SNEP and LLCP for card reader devices exist, see for example https://github.com/grundid/nfctools.
I looked in to this for a college project.
First please not that there are 3 modes of NFC operation { Card read/write, tag emulation and P2P communication }. Android supports Card read/write and P2P communication.
To communicate with a non Android device via P2P is quite complex as you must use the NPP (Ndef Push Protocol) built on LLCP (logical link control protocol). Your non android platform will need to implement the LLCP to be able to communicate. I'm not sure if this has been done for NFC yet. Information on the NPP/LLCP implementation can be found here
The next approach is to use card read/write mode to communicate with the non Android device running in card emulation mode. This way you can send APDU's to the emulated tag to send and receive data. I did this approach in reverse using BlackBerry for my project. BlackBerry supports card emulation so I used the non Android device (ACR122U) to send APDU's to the BlackBerry.
While the first approach (P2P) is obviously the ideal way to go, the second one could be easier to implement. It worked quite well for me in my application anyway, I created a system that accepts payments via NFC.
Please note that the ACR122U doesn't have good support for NFC Tag Emulation so it is not suitable for you. The LibNFC website is a great start to find a device that supports tag emulation.
I am now finished the project and it works great using the ACR122U device. If you need any help on the second approach please ask.
See belows
Issue 28014: Enable real NFC p2p communication and the option to disable the "Touch to Beam" UI
https://code.google.com/p/android/issues/detail?id=28014
Android Peer to Peer dose not work at all.

How to read passive RFID cards using Android?

I am working on Android application (Droid Incredible).
I am planning to read passive RFID tags using Android phone but I found that there is no slot for Android to connect to RFID reader.
After some research, I found out that I will have to get RFID reader which can send RF data over bluetooth to Android.
But I am not sure which company manufactures it or what will be cost of such RFID reader.
Is there any one who can help me or throw some light on this issue?
Thanks
Siddhesh
http://www.youtube.com/watch?v=COKHnnWRYSg they say it's android compatible
Inorder to read RFID Passive tags using Android devices, Now there are Android devices with RFID integrated in it to read the Passive tags and you can customize your android application according to your requirement
If you want to build your own circuit for reading Passive tags and to get the tag data to your Android device, The best way is to use Arduino Microcontroller Boards. Using EM-18 and RC- 522 RFID modules integrated with Arduino, you can read the LF and HF Passive tags respectively. If tag reads, you can get the data either in serial monitor or display attached to the Arduino.
To get this RFID tag data to the Android device, the circuit which helps you is HC-05 Bluetooth Module which sends/receive to/from Android device.
Thanks
Siddhesh:
RFID is supported since Android 2.3 (GingerBread) but with an exception (if the brand handset has available the hardware to do that). On the most of the cases you can check on handset's cover a label like as NFC and so on.
I understand is established by RF (HF) and its purpose is to replace: bar codes, QR codes and bluetooth and it looks like that is not too fast to permit a big amount of transfer information.
is there any other tips related to implement class and objects to perform on Eclipse Proyect, I will Thank You.

Categories

Resources