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