NFC: What is the difference between S-beam and Android beam? Can someone explain the exact flow of Wifi-Direct/Bluetooth getting activated and transferring the data?
Explained on stackexchanged....
Even though Android Beam and S Beam serve similar purposes, they
actually work very differently and are not compatible with one
another.
Android Beam uses NFC to pair your devices over Bluetooth, then
transfers files over the Bluetooth connection. I believe it can also
transfer very small pieces of data (contacts, links, etc) directly
over NFC, as the Ice Cream Sandwich version highlights page implies:
For larger payloads, developers can even use Android Beam to initiate
a connection and transfer the data over Bluetooth, without the need
for user-visible pairing. S Beam, however, uses Wi-Fi Direct to
perform data transfers instead of Bluetooth. Their reasoning for doing
this is that Wi-Fi Direct offers faster transfer speeds (they quote up
to 300 Mbps). Therefore, this will only work with other S Beam enabled
devices, currently limiting it to communication between two Galaxy
S3s.
However, the SGS3 also supports Android Beam, so you can use that to
transfer something between a GNex and an SGS3. Here is a tutorial on
Sprint's website (should be essentially the same for other versions of
the SGS3).
Related
I have a feature in the app I'm developing. It requires broadcasting of data. Now I have implemented the functionality to advertise the data using the support of new BLE feature. I want this app to be legacy supportive. I want this feature to be usable by broader set of devices (Even devices without BLE & below android 5.0). Can it be done using classic bluetooth. If no, why not? If yes, how to do that?
Thanks,
Kedar
Yes we know that Bluetooth 5 can advertise data more than you described 32 bytes.
However for classic Bluetooth, it may not possible since there are no advertisement mechanism at classic Bluetooth and even for CSB(Connectionless Slave Broadcast), I wonder there are not too much device support it.
One work around method would be you can set your parameters to the Bluetooth local name dynamically...... once your classic device searched the device can parse the name. how tricky it is.
I am trying to send NFC data from one Android device to another. I was able to do it successfully using the 'Touch to Beam' functionality. But I would like the data transfer to take place automatically as soon as both the devices are together.
I saw this question answered in StackOverflow multiple times. Unfortunately, while some say its not possible to send NFC data from one Android device to another this way, some others suggest to try "foreground-dispatching" (which the official documents say is now deprecated). I wasn't successful with "foreground dispatching" though I am not entirely sure if its due to my mistake. Almost all the questions were answered 1 year back, so I was wondering if Google changed something to achieve this. Both my devices are on Android 4.0 or later, but not 4.4.
When using NFC peer-to-peer communication (aka Android Beam) between two Android (4.0+) devices, there is no way to avoid the Beam UI. So it is not possible to transfer data without the "Touch to Beam".
Before Android Beam (effectively Android 2.3.3-2.3.7), this was possible through foreground NDEF push (which is now (a) deprecated and (b) on Android 4.0+ implemented through Beam). In that case NDEF messages where immediately transfered without the "Push to Beam" window.
Only starting with Android 4.4, there is the possibility to communicate between two Android devices over NFC without the Beam UI (actually without using Android Beam and peer-to-peer mode at all): If both devices are 4.4+, one device can use Android HCE to emulate a contactless smartcard and one device can use the reader-mode API (this only works with the reader-mode API introduced in 4.4, so both devices need to be 4.4+) to communicate with the emulated smartcard.
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.
I have been searching for a while now and decided to post a question here to see if someone had already traveled down this specific road.
I am developing a bluetooth enabled device, using the Bluegiga BLE112 chip. They announce this chip to be easily used with iOS devices (and this was our main reason for choosing it)
The device will need to communicate with an App, that we need to be developed for iOS, Android, Windows Phone, and Blackberry. Due to this need, I've decided to use Rhomobile, as it seems to be the only one that supports developing BT apps for iOS without having to develop further plugins.
I only need to send small messages (like commands, small strings) and sometimes a bigger file to the device's internal memory.
On Rhomobile's BT documentation, they state that for iOS it is only possible to comunicate between iOS devices ( i'm thinking that they say this because of the MiFi limitations imposed by Apple, but that using Bluegigas chip are not a problem...)
My question is:
Since Bluegiga's documentation has examples of devices communicating with iOS using their chip, i should be able to develop using Rhomobile and not suffer from the limitation stated above. I wanted to be as sure as possible before making my company spend money ordering the chips and development board and what not..
Has anyone tried this, is my thinking missing something?
Thank you all for your time.
Daniel
Good Question, I think I can understand the reason for your confusion.
The main reason is many people/products/frameworks does not clearly mention if they are talking about Bluetooth Classic or Bluetooth Low Energy (BLE).
These are both 2 different things and even thougfh they are called "Bluetooth" one cannot talk to the other.
(Some devices can be both Classic and Bluetooth Low Energy, which allows it to connect to either types)
Ok now comming to your Question :
THE bluegiga dongle is BLE
The Rhomobile is refering to the Bluetooth Classic version of the API.
On iOS the BLE APIs are open to applications, but Classic is limited on iOS , one way for Apps to use Classic Bluetooth on iOS is via the Gamekit APIs but that is possible only when talking with iOS devices, so it wont connect to another Android or Win device that is also Classic.
Needless to say with BLE APIs you cannot connect to calssic anyways.
The bluegiga examples are BLE examples, and apple also has good documentation and examples / samples on how to use BLE so yes it is easy to build a device and app using BLE on iOS.
There is nothing special abut any particular chip yo ucan use any BLE chip - there are many vendors today.
BUT Android (and I guess Windows as well) does not yet have BLE APIs for applications to use :( (Bit I think is is comming soon :))
So I hope this clears things up a bit.
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.