Questions tagged [bluetooth-lowenergy]

Bluetooth Low Energy ("BLE") is a radio standard introduced in 2006. It is also known as Bluetooth Smart and is a subset of Bluetooth v4.0.

Bluetooth Low Energy is a faster and less energy consuming radio standard, introduced in 2006 and launched to mass production in 2010 as part of the Bluetooth Core specification version 4.0. Version 4.1 was released in December 2013, introducing new network topologies and privacy features.

The first smartphone with Bluetooth 4.0 was the Apple iPhone 4S launched in 2011. Today, most smartphones, for example from Apple, Samsung and Nokia, have BLE capability.

Bluetooth SIG has defined various profiles and guidelines, which have to be respected. Devices can be in either peripheral (advertise data) or central mode (Scan for BLE devices).

Apple provided the central mode support in and added the peripheral mode support in . Google has provided central mode support in with the release of Android OS version 4.3 and added the peripheral mode support in Android 5.0.

8047 questions
191
votes
5 answers

Android 4.3 Bluetooth Low Energy unstable

I am currently developing an application that will use Bluetooth Low Energy (testing on the Nexus 4). After getting started with the official BLE APIs in Android 4.3, I have noticed that after I connect a device for the first time I am rarely able…
152
votes
6 answers

What is the iBeacon Bluetooth Profile

I'd like to create my own iBeacon with some Bluetooth Low Energy dev kits. Apple has yet to release a specification for iBeacons, however, a few hardware developers have reverse Engineered the iBeacon from the AirLocate Sample code and started…
PaulWoodIII
  • 2,542
  • 6
  • 28
  • 33
114
votes
7 answers

Understanding ibeacon distancing

Trying to grasp a basic concept of how distancing with ibeacon (beacon/ Bluetooth-lowenergy/BLE) can work. Is there any true documentation on how far exactly an ibeacon can measure. Lets say I am 300 feet away...is it possible for an ibeacon to…
rambossa
  • 4,654
  • 6
  • 29
  • 45
110
votes
9 answers

Location needs to be enabled for Bluetooth Low Energy Scanning on Android 6.0

After upgrading to Android version 6.0 Bluetooth Low Energy (BLE) scanning will only work if Location services are enabled on the device. See here for reference: Bluetooth Low Energy startScan on Android 6.0 does not find devices Basically, you need…
V-PTR
  • 2,931
  • 2
  • 16
  • 21
82
votes
5 answers

How to connect Android device to an iOS device over BLE (Bluetooth Low Energy)

I'm trying to make an application which uses the new Bluetooth Low Energy API of Android. For this, I started with the BLE sample coming with API level 18. As I read that Android can not act as a Peripheral, I put the Android phone in central mode,…
79
votes
3 answers

Can an Android device act as an iBeacon?

Can an Android device act as an iBeacon and figure out when other Android devices come in its range? Do those other Android devices need to have Bluetooth turned on? If a customer comes into my shop and he doesn't have my app installed on his…
Hardik Joshi
  • 9,259
  • 11
  • 59
  • 110
75
votes
13 answers

Triangulate example for iBeacons

I am looking into the possibility to use multiple iBeacons to do a 'rough' indoor position location. The application is a kind of 'museum' setting, and it would be easier to be able to form a grid with locations for the different objects then…
Luuk D. Jansen
  • 4,120
  • 7
  • 41
  • 86
71
votes
4 answers

Run iPhone as an iBeacon in the background

Is it possible to run an iOS 7 device as a Bluetooth LE peripheral (iBeacon) and have it advertise in the background? I have been able to get it to advertise in the foreground with the code below and can see it from another iOS device but as soon…
jpcoder
  • 1,129
  • 2
  • 9
  • 14
71
votes
10 answers

Android BLE API: GATT Notification not received

Device used for testing: Nexus 4, Android 4.3 Connection is working fine but the onCharacteristicChangedMethod of my callback is never called. However I am registering for notifications using setCharacteristicNotification(char, true) inside…
Boni2k
  • 3,036
  • 3
  • 21
  • 23
56
votes
10 answers

Android: Sending data >20 bytes by BLE

I am able to send data upto 20 bytes by connecting to an external BLE device. How do I send data greater than 20 bytes. I have read that we have to either fragment the data or split characteristic to required parts. If I assume my data is 32 bytes,…
Ankit Aggarwal
  • 707
  • 1
  • 8
  • 15
53
votes
2 answers

Use BlueZ Stack As A Peripheral (Advertiser)

Goal: Use BlueZ and an Bluetooth 4LE dongle to create a peripheral that advertises the bluetooth equivalent of "Hello World". Where I'm At: I've currently got the BlueZ stack setup and downloaded, I can use the hci tool to recognize and see the…
Ceryni
  • 694
  • 1
  • 7
  • 14
52
votes
5 answers

Get MAC address of bluetooth low energy peripheral in iOS

I am currently working on an iOS application based on bluetooth low energy devices. In order to get a unique identifier to compare the peripherals got, I have to get the MAC address of the peripherals. It is observed that the UUID property of a…
Feby Sam
  • 762
  • 1
  • 5
  • 13
50
votes
1 answer

Creating background services for Bluetooth low energy on Android

Background: Ideally I would like my Android device to be scanning for Bluetooth Low Energy devices all the time an the ability to start an application whenever a new device with specific properties appears. So the broadcast packet in BLE will for…
Vegar Westerlund
  • 1,534
  • 3
  • 15
  • 24
49
votes
3 answers

iOS Core Bluetooth : Getting API MISUSE Warning

I am writing a test app in iOS 7 with the Core Bluetooth API. When I am testing the application I found that I am getting the following warning message: TestBluetooth[626:60b] CoreBluetooth[API MISUSE] can only accept commands while in the powered…
49
votes
2 answers

Difference between close() and disconnect()?

Android Bluetooth Low Energy API implements 1 method to connect to the device connectGatt() but 2 methods to close the connection disconnect() and close(). Documentation says: disconnect(): Disconnects an established connection, or cancels a…
Arturs Vancans
  • 4,855
  • 11
  • 42
  • 69
1
2 3
99 100