Bluetooth Low Energy on BlueZ
If you are searching for technology details of Bluetooth 4.0 or if you need the answer for “why Low Energy”: wrong post! The SPEC is public, anyone can open an account in the Bluetooth SIG and download the adopted specs.
My objective is to provide an initial directions of how Bluetooth Low Energy(BLE) will work on BlueZ. The implementation is still under development, but we already have a clear picture of how we will support BLE and GATT/ATT.
In a couple of years it will be common to find dual mode Bluetooth capable devices: supporting Basic Rate and Low Energy. BlueZ will run on dual mode devices: devices that doesn’t have strict power consumption constraints. The most common cases for BlueZ devices will be the BLE Central role: managing and collecting data from Peripherals(coin cell devices).
For this project, there are two major pieces: BLE controller abstraction and the attribute protocol.
Our goal is to hide BLE technology details from the applications. BlueZ will expose the same interface for device discovery operations, meaning that the applications doesn’t need to know the hardware capabilities/features. BlueZ will use the same abstraction(D-Bus signals/messages) to report found devices and services. Internally, BlueZ will manage the interleaved scanning/inquiry and the characteristics discovery.
ATT(Attribute Protocol) will be the core of the future profiles over BLE, ATT is a very simple protocol to exchange characteristics. It can be considered transport agnostic. We decided to implement GATT/ATT first over BR/EDR due the BLE hardware availability, extend to BLE is just a minor surgery in the BlueZ code.
For more information access BlueZ source tree: doc/attribute-api.txt
October 19, 2010 at 6:02 pm
Claudio, thanks for the information!
I wonder if there is any chance to beta-test the new bluez software supporting Bluetooth 4.0, currently under development.
October 21, 2010 at 6:28 pm
Hi Javier, all code is available in the bluez git repository. You also need kernel patches for LE support. Join the bluez IRC channel if you need assistance.
October 21, 2010 at 5:39 pm
Thanks Claudio for the information.
you do not talk about the implementation status. Is there a release date planed?
Thanks!
October 21, 2010 at 6:30 pm
Hi Joss, the latest BlueZ release already supports some basic LE features. You will need to apply some kernel patches for LE support. Join the #bluez IRC channel at freenode if you need assistance.
March 31, 2011 at 8:58 am
Hi Claudio.
Thanks for your explanation.
Could you tell me what kind of BT chip I could use for testing BLE? What kind of target did you use?
September 22, 2011 at 3:57 pm
I have the following kits:
- Texas Mini-DK cc2540 (single mode)
- STE (dual mode) kit
- Texas(dual mode) kit
- Nordic
- Qualcomm
However, I think only Texas single mode and STE(http://igloocommunity.org) is available for sales.
May 11, 2011 at 5:08 am
hi, i want to know bnep and l2cap layers in ble stack are the same with bt stack?
Thanks!
September 22, 2011 at 4:00 pm
at the moment BLE doesn’t other protocol than ATT in the L2CAP fixed channel 4. L2CAP for LE is a subset of L2CAP for BR/EDR, but the core code is the same.