Bluetooth Low Energy Overview
What is BLE Wireless Personal Area Network technology Target for healthcare, fitness, beacons, security and home entertainment Provides considerably reduced power consumption Low Energy requirements, operating for “months or years” on a button cell Small size and low cost Compatibility with large installed base Starting point of automation in nearly all domain
Architecture Application / Profiles APIs Generic Generic Attribute Profile ( GATT ) Security Manager ( SM ) Generic Access Profile ( GAP ) Attribute Protocol ( ATT ) L2CAP Link Layer BLE Radio
BLE Radio Layer Operates in 2.4 GHz ISM ( Industrial Scientific Medical ) band 2402 MHz – 2480 MHz 40 RF Channels with 2 MHz Spacing 3 out of 40 channels are advertising Used for device discovery connection establishment broadcast Advertising channel frequencies are selected to minimize the interference
BLE Radio Layer … All physical channels use GFSK Gaussian Frequency Shift Keying modulation Allows reduced peak power consumption Physical layer data rate is 1 Mbps Range is typically 0 – 50 meters from smart phone
BLE Link Layer First level of control & data structure over raw radio operations Bit stream transmission & Reception State machine & state transitions Data & Advertisement Packet formating Link Layer operations Connections, packet timings, retransmission Link Layer level security
BLE - PDU
BLE L2CAP Advertisement Scanning Connection Establishment
BLE L2CAP - Advertisement Provides a way for devices to broadcast their presence Allows connection to be established Broadcast data like the list of supported services, device name and TX Power Level Device will send advertising broadcast packets to one or multiple advertisement channels, which remote devices will pick up.
BLE L2CAP – Advertisement Passive Scanning
BLE L2CAP – Active Scanning
BLE Advertising Parameters Values Description Advertisement Interval 20 mSec to 10240 mSec Interval between advertisement packets Advertisement channels 37, 38 & 39 RF Channel used to transmit Discoverability Mode Not Discoverable Generic Discoverable Limited Discoverable Broadcast How the advertiser visible to other devices Connect ability mode Not connectable Directly connectable Undirected connectable Defines if advertiser can be connected or not Payload 0 – 31 Byte Data byte can be included in advertisement packet
BLE L2CAP – Connection
BLE L2CAP – Network Topology Advertiser Broadcasts advertisement packets Scanner Only listen for advertisements, can connect to advertiser Slave Device connected to master Master Device connected with one or more slaves Master can connect upto 4 – 8 slaves at a time Hybrid Device advertise and scan at the same time Connected to a master and advertise or scan simultaneously
BLE L2CAP – Connection
BLE L2CAP – Topology Change
BLE Generic Attribute Profile Provides access to the link layer operations related to Device discovery Connection establishment & termination Connection timing control GAP defines roles Broadcaster : Sends advertising & broadcast data Observer : Listens for advertising events Peripheral : Always slave, is connectable & advertising Central : Always master, never advertise Device can have more than one role, only one role can be adopted at a given time
BLE GAP Modes Connectable Discoverable Bondable Can make a connection. Not connectable, connectable Discoverable Can be discovered ( is advertising ) None, limited, general Bondable If connectable, will pair with connected device for a long term connection Bondable, Non Bondable
BLE GAP Procedures Name Discovery Device Discovery Link Establishment Find the name of other device Device Discovery Find address and name of devices Define device role Link Establishment Instruct link layer to send a CONNECT_REQ Service discovery, device authentication Service Discovery Find services available on the peer devices
BLE Attribute Protocol Defines communication between two devices playing the roles of server & client ATT Protocol defines two roles Server : device that stores the data as one or more attributes Client : Collects the information for one or more servers
BLE ATT Data Transfer
BLE GATT Built on top of Attribute Protocol Establishes common framework for data transported & stored GATT defines two roles Server Client
BLE GATT Attributes Service Characteristics Transported by Attribute protocol Formatted as services & characteristics Service Contain collection of characteristics Characteristics Contain single value and any number of descriptors
BLE GATT Data Structure
BLE GATT Characteristics Value used in a service Expose and / or exchange the data Control information Well defined, known format Information about how the value can be passed and security achievement Contain descriptors describe the value or permit configuration or characteristics data indication
BLE Security Manager ( SM ) Ensure the trust, integrity, privacy and encryption of data Security Manager responsible for Pairing Key distribution Generating hashes and short term keys
BLE Security Model Pairing Bonding Device authentication Encryption Process of creating shared keys Bonding Storing the keys created during pairing for later usage Device authentication Verification of stored keys Encryption Data confidentiality Message Integrity Protection against data alteration
Profiles – Health Care BLP – Blood Pressure Profile HTP – Health Thermometer Profile GLP – Glucose Profile CGMP – Continuous Glucose Monitor Profile
Profiles – Sports & Fitness BCS – Body Composition Service CSCP – Cycling Speed and Cadence Profile CPP – Cycling Power Profile HRP – Heart Rate Profile LNP – Location and Negotiation Profile RSCP – Running Speed and Cadence Profile WSP – Weight Scale Profile
Profiles … IPSP – Internet Protocol Support Suite ESP – Environmental Sensing Profile UDS – User Data Service HOGP – HID over GATT Profile