USB Bluetooth Low Energy on i.MX6 Android platform
Bluetooth Low Energy (BLE) which is also termed as Bluetooth Smart is designed to provide significantly lower power consumption. BLE is a protocol that allows for long-term operation of Bluetooth devices that transmit short volumes of data. Bluetooth Smart technology is an integral part of the Bluetooth Core Specification from Bluetooth v4.0 onwards.
Android Kitkat provides platform support for Bluetooth Low Energy and provides APIs that applications can use to discover devices, query for services, and read/write characteristics (data packets).This will allow Android applications to communicate with BLE devices that have low power requirements, such as proximity sensors, heart rate monitors, fitness devices, and so on.
iWave has added support for Bluetooth over USB interface on i.Mx6Q Android Kitkat platform. Here i.Mx6 board with USB BLE dongle connected will acts as central/client/master device, Reads the Sensor value from remote BLE peripheral device using GATT protocol.
BLE uses GATT profile for sending/receiving the short data. The GATT profile is a general specification for sending and receiving short pieces of data known as "attributes" over a BLE link. GATT is built on top of the Attribute Protocol (ATT). The attributes transported by GATT/ATT are formatted as services and characteristics. The GATT protocol provides Commands to read (data transfer from server to client) and write (from client to server) the values of characteristics.
For BLE Connection establishment, BLE peripheral device works in the peripheral role and makes the advertisement. i.Mx6 G16D platform will work in the central role scans, looks for advertisement and connects with BLE peripheral device.
Once connection established, GAT profile (GAT Server - Client role) determines how two devices communicate with each other.
BLE peripheral device will be configured as GATT Server / Slave device and G15D board will be configured as GATT Client/Master device, which sends requests to this server through BLE. G15D board will send a request to Server for sensor data and BLE peripheral device will send a sensor data through BLE GATT transaction.
- Low power consumption
- Ability to run for years on standard coin-cell batteries
- Small size
- Connectivity to mobile phones
- Low cost
- Robust, efficient
- Multi-vendor interoperability
- Global availability, license free
AES-128 encryption using CCM to provide strong encryption and authentication of data packets
BLE Features Supported on i.Mx6 Android platform
- Bluetooth/BLE over USB interface
- Scan Bluetooth/BLE devices
- Pair with Bluetooth/BLE devices
- Read the characteristics (like heart rate value) from remote BLE device using GATT protocol.
BLE dongle Plug and play support
With the BLE’s GATT protocol functionality and low power consumption feature, It can be used in following fields
- Health care – For Heart rate, blood pressure measurement , temperature measurement
- Sports and Fitness – BLE sensor can be attached to bicycle to measure wheel speed
- Security – With AES encryption capability, Can be used in Digital Security applications
Home Entertainment – Can be used in remote controller.
- Android Kitkat supports BLE as only Central device. It cannot play peripheral role. Android lollipop version onwards Android have BLE peripheral support.
- BLE has a shorter range than Bluetooth classic and Wifi.
- BLE allows only very small packets to be sent with each transmission, so it is not very good for transferring large files.
KrishnaPrasad KS - Senior Engineer
iWave Systems Technologies Pvt.Ltd.