I'm trying to develop a bluetooth 4.0 app for S3. The problem is, the phone behaves like it doesn't even have bluetooth 4.0. It doesn't discover 4.0 devices, and isn't discoverable with 4.0 devices. I tried both in the settings of the phone and in an app, using the Broadcom-ble API. The Broadcom API doesn't have any extra functionality for finding/discovering 4.0 devices, rather it uses the regular BluetoothAdapter functionality and claims that it will be augmented in 4.0 phones to also discover 4.0 devices.
Has anybody tried using bluetooth 4.0 on the S3? Has anyone succeeded in using the Broadcom API?
Thanks in advance.
This is now a confirmed bug, that will be fixed "in future releases".
See this forum thread at Samsung.
A beta for Samsung BLE SDK has been released here. I am going to study this SDK and hopefully it solves some of my problems.
It has been reported by Andrew Dodd, a senior XDA developer, that the Galaxy S3 doesn't actually support Bluetooth Low Energy
The Galaxy S3 has been marketed as Bluetooth 4.0 Low Energy (aka Bluetooth Smart) since its release - but it is not actually BTLE capable -http://developer.samsung.com/forum/board/thread/view.do?boardName=GeneralB&messageId=157757 - Samsung is STILL advertising the device as BTLE capable when it is NOT, despite the fact that they have been aware of this false advertising for months.
Samsung have a page at:
http://developer.samsung.com/ble
where you can download a Bluetooth LE SDK and sample code (registration is required, but otherwise it's automatic).
For what it's worth, there's an HTC page at:
http://www.htcdev.com/devcenter/opensense-sdk/partner-apis/bluetooth-low-energy/
where you can request access to their 'Partner APIs'. This needs license agreements to be signed (which for me means lots of lawyering) so I've not actually got code from them yet..
Ian
Refer this link
http://e2e.ti.com/support/low_power_rf/f/538/p/240097/879328.aspx
http://e2e.ti.com/cfs-file.ashx/__key/communityserver-discussions-components-files/538/8880.S3-BLE.zip,
attachment package can run on Samsung S3, now it limit with discover BLE devices and pairing. Some recent days, i try to find out how to send/receive data. But still not any luck.
I hope it can help.
Update your phone to Jelly Bean, then download nRf Utility from the Play Store, it can scan BLE devices around you!
Related
Android BLE code is not properly working on Samsung devices whereas it works with other android devices .
Some time we are able to get values doing some work around but it is not works as smooth as we required.
I wonder about the Samsung device behavior any one help me to know about what is the main reason behind the same and what is the permanent solution of the same.
You are using the Bluetooth 4.0, you must update the Samsung mobile phone system to more than 4.3 .
Android 4.3 (API Level 18) introduces built-in platform support for Bluetooth Low Energy in the central role and provides APIs that apps can use to discover devices, query for services, and read/write characteristics
See https://developer.android.com/guide/topics/connectivity/bluetooth-le.html for details.
Has anybody used Samsung's Bluetooth LE APIs to make a Samsung Android device advertise as an iBeacon? This should be possible, but I do not have access to a device to try it.
If anybody has used it to make a Samsung Android device advertise as any other Bluetooth LE peripheral, I would like to know that, too.
EDIT: This is now possible on Android L. See here.
EDIT: this answer is about older Samsung phones with Android 4.2. Samsung devices with Android 5.0+ can advertise beacons successfully.
Unfortunately, #reTs and #duncan-c are right (+1 for each of them). The Samsung BLE SDK cannot send out real BLE advertisements as is required for iBeacons.
I was holding out hope because their documentation says "allowing applications to create and advertise Bluetooth smart services and characteristics". I wrote an app to prove whether this actually worked, and learned that their documentation is simply misleading. The Samsung BLE SDK will not make Samsung devices transmit advertisements over the radio.
See full details in this blog post.
http://developer.samsung.com/ble
You can view the official "Samsung BLE SDK Guide and Hints" on the above link.
On page 12, point 10, it said :
"The current version of the SDK supports only the GATT central role. Peripheral roles may
be supported in future releases."
I'm told that with the current firmware it's not possible. (I'm not an Android developer so I haven't confirmed this first-hand.)
I am currently working on an Android project that requires Bluetooth Low Energy Peripheral mode. As of now, just targeting the Galaxy S4 with 4.2.2 on it Samsung BLE SDK at http://developer.samsung.com/ble
I followed their API docs and programming guide very closely, however broadcasting characteristics or services over Bluetooth Low Energy just doesn't seem to work. Has anyone else had any luck with getting this to work yet? If so, any help would be greatly appreciated!
Thanks a lot.
Because Samsung BLE SDK only supports the central role, “advertising” a service as a central server means sitting their quietly, only revealing (or “advertising”) its service characteristics to another device in peripheral mode after a connection is already established. This connection establishment requires another device to do the actual radio advertising first. Samsung’s SDK isn’t going to do it.
What we need is an Android BLE API that allows creation of a peripheral server. Lots of folks were hoping that peripheral role support would be added in 4.4, but it wasn’t. Maybe we can hope for its addition in Android 4.5 or 5.0. There is a feature request asking for this. Add your name to the list!
Source
I am having the exact same issue. I can discover BLE devices and get their rssi values, but when I try to discover services or connect, I never receive a callback. I am using a Verizon Galaxy S4 running 4.2.2. I am using the Samsung BLE SDK 2.0. Apparently some heart rate monitors are working, but I get nothing using my ez430-rf256x TI development kit. I've tried the Keyfob demo and Heart Rate Profile demo in the Bluetopia v1.3 sdk.
Phones/tablets/pc's support(usually) Bluetooth dual mode chip. According to Bluetooth specification dual mode devices can't be a peripheral, but single mode devices do.
It seem Bluetooth Low Energy (aka Bluetooth Smart) has no official support on Android, even version 4.2. Anyone know if the standard Android API can discovery BLE devices? (I don't need pairing just discovery would be good)
It is correct that Android took a switch from Bluez -> Broadcom Bluetooth. This switch was causing lots of problems for Android users. Missing BT classic profiles and Wifi v.s. BT coexistence (one probably reset the other since they are in the same chipset in most phones). iPhone and MAC computers suffer a lot from the same problem (BT v.s. Wifi).
The Broadcom Open Source Low Energy API was not included in 4.2.
HTC One X+ got slightly modified (?) Broadcom BLE API on top of Bluez in 4.1.x and it works reasonably good though I have to retry connection sometimes. The package name is htc not broadcom but sometimes Eclipse error messages tells that it is missing some broadcom references.
Also Samsung got a "secret" API for BT BLE with their own package name which can discover devices but seems to be not really robust (which may be why it is "secret")
Google have officially said that "BLE is the next big thing we will release". So maybe in Android 5.0? but hopefully before so Galaxy S2 (which have such a big marketshare and uses the same chipset as iPhone 4s) can get BLE support. (Just speculations and hopes from my side). If Android 5.0 get's BLE API's then Samsung Galaxy S3 should get it as Samsung has listed this as getting Android 5.0.
Only time or Google will tell... It's way overtime getting this old Nokia Research Center technology out in other than Meego and iOS devices.
EDIT 2: Seems like my lucky day is today ;) : new link
EDIT: Seems like today is your lucky day: Open Source API
I guess this answer is not adequate, but it is: on some devices yes, on others no.
A company I worked for did some testing with it and they could pair in on a Galaxy S3 while my HTC One S didn't even discover it.
So if a manufacturer has implemented this feature it will work, but most times it won't.
Some discussion about this: Texas Instruments
Sounds like a standard api will be coming to Android api 18 http://www.androidpolice.com/2013/05/15/bluetooth-low-energy-and-avrcp-1-3-coming-to-android-with-api-level-18/
Devices with the relevant hardware will work with Android 4.3.x support. I just put a Galaxy S2 GT-I9100 to 4.3.1 Slimbean and can now pair it with a Bluetooth 4.0 LE/Smart heart rate monitor. This, in spite of the stock hardware only ever supporting BT 3.0+, according to Samsung.
In my App I need to connect a smartphone with an 4.0 low power Bluetooth-module. Then the module sends frequenly data to the phone.
Do you know some good tutorials for programming Bluetooth connection
with Android?
Can you give me some links where the basics of Bluetooth are
explained? (german if possible)
How can I test it? (I have to programm the Bluetooth device too
and it's not finished jet)
Google havn't understood that sometimes they have to actually create and DRIVE something themselves, not just piggybacking on open source stuff and marketing it as their own.
Unfortunately there are no standardised BT 4.0. Low Energy API's for Android yet. Maybe Google just decided to only go for NFC for Google Wallet or something and then let BLE die. (We really need BOTH!)
Broadcom tried to make an open source API but somehow (maybe Broadcom wanted money from them?) no phones included the ".so" file in their Android build so this API is useless.
TI and Motorola made another API for the RAZR series running on old Android 2.3.3 or something. This actually works but Motorola removed the documentation and source-code from their site.
HTC ONE X+ and newer HTC phones will support a new API "soon" with special HTC libraries according to HTC. (At least it seems they are doing something)
Samsung Galaxy S3 have some "secret" API's that some people can use for discovering devices, scanning services and characteristics (there is an app in google play "semilink Bluetooth Smart Scanner" which on the Galaxy S3 can do those things).
Google asked Broadcom to make a replacement for Bluez in Android 4.2. Unfortunately this release broke a lot of functionality and peripheral compatibility. Maybe because one or more of Wifi/GPS/Bluetooth Classic/Bluetooth Low Energy shares the same HW resources but the drivers doesn't handle that very well. Lot's of people got problems with the newest Android Bluetooth functionality.
So I would expect Broadcom to focus on fixing the mess and THEN with Google move on to add Bluetooth 4.0. Low Energy. Google have said "Low Energy is the next BIG thing we will integrate". At least 1 year too late.
Personally I had to buy an iPhone4S and iPad retina to get platforms which supports low energy. With those we could finish the BLE peripheral sw and get the protocols working. Now we are waiting for Google and Broadcom to clean up the mess. Hopefully with some backwards compatibility so all the old phones with BT4.0. capable chipsets will also open up to the wonderful world of coincell battery driven peripherals ;-) (got to dream).
In reality we must wait for HTC to release their APIs and for Google to choose/drive the standard API.
Windows Phone 8 was supposed to get BLE but it has been postponed for an update. (Lumia 920 is certified but without API's (AGAIN!!) we developers are helpless)
There are nice GATT API's for Windows 8 as well as for MAC "OS"x.
You really should invest in the TI BLE development kit which costs like $50-$100 for a dongle which can be used for BLE sniffing. It comes SOOO handy when you develop your BLE Peripheral SW.