I'm currently looking into an issue where my companys app have some trouble establishing searches and connection to a cadence BLE peripheral.
We're developing using nativescript#6.1.2 {N}6 and for the past long while we've used the nativescript-bluetooth#1.3.1 plugin with no issue. It's been used primarily on tablets with bluetooth 4.x.
Problem started when we tried our app on Samsung Galaxy tab A7 with bluetooth v5.0. The app wouldn't start a search or connect with the usual peripheral Wahoo cadence sensor.
What I can do is see the Wahoo sensor in the Android Bluetooth Manager as well as nRF connect and Wahoo's Fitness app. But using the usual plugin doesn't seem to be able to do anything.
I'm still fairly new to the BLE programming game, so if anybody have any advice as to why the Samsung Galaxy tab A7 with bluetooth 5.0 won't connect, I'd be happy to receive some.
So nativescript-bluetooth 1.3.1 is no longer valid in Android versions 10+. I have to migrate my app to nativescript 7 as well. I'm having trouble with migrating, and if you have any suggestions for some of my questions, I would greatly appreciate it!
Related
We have a custom hardware product that uses bluetooth to communicate with an Android application.
Recently we have been getting reports of issues by users that use LG Velvet phones (LM-G900EM). We bought a Velvet and tested it ourselves. The phone will connect to the device, do a service discovery and then disconnect with an error. Usually codes 133(0x85) or 8(0x8).
To verify the issue we connected using the Nordic NRF Connect app instead of our own code. The behaviour is exactly the same.
Attempting the exact same actions on other phones all work perfectly, including other phones running the same version of Android (10) and the same Bluetooth version (5.1) as well as iPhones.
I'm not sure where to even begin addressing this issue. Does anyone have any insight?
This also seems to be an issue on some of the newer ThinQ series phones from LG though we do not have one to verify.
The issue turned out to be the Bluetooth firmware on our hardware. We use Microchip Technology microcontrollers and Bluetooth chips. Upgrading to version 1.4.1 of their firmware fixed the issue.
Apparently this issue also affected certain Xiaomi phones.
First of all, I spent more than 10 hours of searching for a solution on Google...
I'm working on an app for athletes, doing sports like running or cycling. It should be based on Bluetooth LowEnergy. I have a real heartbeat sensor device to work with and there is the problem.
The Problem is that the sensor doesn't always work if I want to test the scan or something. My phone isn't able to find the sensor all the time, it works just one out of 30 attempts. So what I want to ask is, is there a way to simulate a BLE sensor device like a heartbeat-sensor (over the PC for example)?
I have devices running 4.3 and higher (Samsung, LG and a Sony smartphone), so that shouldn't be the problem. Furthermore I already had a success in connecting to a BLE-Heartbeat sensor, but for testing it's really hard to work with a real sensor device (because of the problem that I can't find it all the time).
Hope my problem is understandable and somebody can help me!
As #bobh says, an old iOS device running a custom app would work as a test BLE peripheral. And I bought an iPod Touch for just that purpose.
Unfortunately Android has only introduced native BLE support as of 4.3 and won't yet work in "peripheral" mode.
There are cheaper alternatives too. There are many BLE dev kits out there:
https://developer.bluetooth.org/DevelopmentResources/DevelopmentPlatforms/Pages/Development-Platforms.aspx
If you don't want to mess around with wires and breadboards then you could try BlueGiga's programmable BLE USB dongle. It's about 26 bucks and they have example code for the Heart Rate Profile so your life would be very easy:
http://www.bluegiga.com/en-US/products/bluetooth-4.0-modules/bled112-bluetooth-smart-dongle/
If you have an old iPhone 4S or iPad 3 and are an iPhone dev (or jailbroken device), you can prog it to be a test device https://github.com/AttackPattern/BlueSim
And tweek the sensor characteristics.
Works on a Mac with old Xcode 5 and BLE dongle but requires some work.
github
I know it had been asked many times about connect Ios and android via bluetooth.
I just want to know if android os update to 4.3 and use the bluetooth four-chip,it is any possible for their connection?
I only need receive some bytes from android device,then display on the Ios device.
for now, the answer is no. And I am talking about the newest bluetooth low energy technology.
Since android 4.3, you can now turn your android device into a central, listening to other peripherals's advertisement. However as of today, android 4.4.2, google still haven't realised any public api which allows you to turn android into a peripheral(like a broadcaster). So you can't advertise or send data. Although I did see a page saying you can do it privately, I haven't tried it yet.
http://blog.cozybit.com/enabling-peripheral-mode-in-android-kitkat-4-4/
On the iOS side, in iOS7, apple added new apis and now you can turn your iPhone into either a peripheral or central(not at the same time). So it is ok for inter-iOS exchanges, while android can only listen and receive data from iOS. You can try searching iKardz on the App Store and see how it's done on 2 iOS devices.
http://www.ikardz.me
However, the story didn't end here. Due to some bugs in google bluetooth apis, you can't actually connect to any smart devices for now, for details please see this link.
Communicating between iOS and Android with Bluetooth LE
SO for the record, this limit DID NOT come from apple.
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.
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!