Discover nothing when using Bluetooth Low Energy on Samsung devices - android

I follow Bluetooth Low Energy guide, and try to test discovery feature on Samsung Galaxy Note 3 and Samsung Galaxy S3.
But they can not find together via my application.
Therefore, I try to download nRF Utility from market place.
But it shows notification :
Device not supported
While in market place, it said that :
Note: Samsung Galaxy S3, Samsung Note 2 and Samsung Note 10.1 are currently supported handsets.
I think it gets the same issues.
I have no idea.
Anyone know this issue?
p/s : It will run good on Google Nexus 4, 5, 7?

From the note you wrote, it doesn't seem like the Note 3 is supported (it probably searches for specific models). You can see supported devices and sources here:
http://www.nordicsemi.com/Products/nRFready-Demo-APPS
There's a different nRF Utility for Nexus devices, as they use a different driver.
The samsung BLE drivers are for Android 4.2.2, while nexus devices run 4.3 and use the Google BLE API.
I haven't tested the Samsung BLE drivers myself, but from my experience, the Google API is not very stable, even on 4.4.
You might have to make some changes to your code if it's based on the Samsung drivers and you want to try the Nexus devices.

Related

Android: Limit of simultaneous BLE connections

we are developing an Android app which can connect to multiple heart rate sensors simultaneoulsy via Bluetooth Low Energy.
We have an implementation which is working quite well, so the code is not the problem.
What drives us crazy is the limitation of parallel BLE-connections which seems to be different from device to device.
We have a few test devices here: Motorola MotoE and MotoG, a Samsung Galaxy Tab A and an HTC Nexus 9. All of them are running Android 5 or 6, original vendor versions. None of them is able to connect to more than 7 BLE HR sensors simultaneously.
Then I have tested with my private Samsung Galaxy S4, which is rooted and has Cyanogen CM12 installed. With this device I can easily connect to 12 HR sensors simultaneously which is the number we want to achieve with our app.
I have tested this both with our own app implementation and with the Nordic Semiconductor nRF Master Control Panel which I think is a pretty good generic BLE app: https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=de
When I try to connect the app to a 7th BLE sensor on any of our devices, the ADB output prints the following error message:
E/BluetoothLeBasicConn: Connection state changing error: 133
I did some pretty intensive googling about that whole problem, but most of the results I've found were quite old. Some people said, that the limitation came from the Bluetooth Chipset itself, others said it was a software limitation through Android.
Could you help me to find out, where the limitation is coming from?
If it is the chipset, then I would like to know, which devices we should use for supporting as many parallel connections as possible. Sadly it is very hard to find out which Bluetooth chipset is built in the different devices. Hardly any of the hardware specs I found tell anything about this.
If the limitation comes from software side, can we change it somehow without rooting phones or install modded OS?
Thank you very much!
In case that you are still interested in it. The limit comes from
BTA_GATTC_CONN_MAX (hardcoded in android)
Which is set to:
4 on Android 4.3 and
7 on Android 4.4
There is by the way also a limit on the amount of characteristics for which you can activate notifications. (BTA_GATTC_NOTIF_REG_MAX)
which is:
4 on Android 4.3,
7 on Android 4.4 and
15 on Android 5.0

Bluetooth Low Energy Discovery on Android

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.

Bluetooth 4.0 / Smart / Low energy on Samsung Galaxy S3

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!

Is Android 4.0 still compatible with the ADK?

I'm thinking about investing in one of the newer android phones, but I am also really involved with developing on the ADK. Does anyone know if Ice Cream Sandwhich works with it? Thanks in advance
According to official site Android ADK, it should be compatible. And here is the List of Supported Android ADK Devices with v2.3.4+ and v3.1+.
Currently, I'm still doing ADK with Samsung galaxy tab 10.1 (with Android 3.2 updated) and still have some problem, check here
Regards,
pak
In general Ice Cream Sandwich works just fine with the ADK. The Galaxy Nexus has no problems with it whatsoever.
Keep in mind though that it's not only a OS version constraint. The device manufacturer has to integrate a supporting USB chip and the corresponding driver. Sadly there is no official list of supported devices but if you have a device which supports the ADK in an old Android version than it should generally work after an ICS update.
For new devices I would recommend buying a Galaxy Nexus as it is a Google supported Developer phone which has the best API support.
The Android 3.1 platform (also backported to Android 2.3.4) introduces Android Open Accessory support, which allows external USB hardware (an Android USB accessory) to interact with an Android-powered device in a special "accessory" mode.
I'm guessing this means anything that is currently running ICS stock will support ADK. I have the Galaxy Nexus and HTC incredible 2 (android 2.3) and it works great.
The only problem I've found is that some phones (e.g. Galaxy S2) don't include the backport for the com.android.future.usb library.
So if you're writing an application to be backwards compatible for gingerbread, it may not work on ICS. You have to rewrite the code using android.hardware.usb, which shouldn't be necessary.
It depends on device because I am not able to run adk mode on micromax tablet which has 4.0.3 and I am able to run adk mode on samsung galaxy S duos which also has 4.0.3 android OS.

Using WiFi Direct on Samsung Galaxy S II on Gingerbread

Is ther a way to use WiFi Direct on Samsung Galaxy S II on yor App,
calling some sort of API's or anything?
Beacuse the feature does work on these mobiles...
There's must be a way...
WiFi Direct is an ICS feature and must be supported by the hardware. You will have to wait for the Galaxy SII to get ICS. Even then, I am not sure if the hardware supports it (for example, Nexus S on ICS does not support it).

Categories

Resources