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
BLE Radio
Link Layer
L2CAP
Application / Profiles
APIs
Generic Attribute Profile ( GATT )
Attribute Protocol ( ATT )
Security
Manager
( SM )
Generic
Access
Profile
( GAP )
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
• Logical Link Control and Adaptation Protocol
• 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
Parameter 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
– 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
– 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
– 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
– 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 – Generic
Abbreviation Name Assigned Number
GAP Generic Access Profile 0x1800
ANS Alert Notification Service Profile 0x1811
GATT Generic Attribute Profile 0x1801
Profiles – Health Care
Abbreviation Name Assigned Number
BLP Blood Pressure Profile 0x1810
HTP Health Thermometer Profile 0x1809
GLP Glucose Profile 0x1808
CGMP Continuous Glucose Monitoring Profile 0x181F
Profiles – Sports & Fitness
Abbreviation Name Assigned Number
BCS Body Composition Profile 0x181B
CSCP Cycling Speed and Cadence Profile 0x1816
CPP Cycling Power Profile 0x1818
HPP Heart Rate Profile 0x180D
LNP Location and Navigation Profile 0x1819
RSCP Running Speed and Cadence Profile 0x1814
WSP Weighing Scale Profile 0x181D
Profiles…
Abbreviation Name Assigned Number
IPSP Internet Protocol Support Suite Profile 0x1820
ESP Environmental Sensing Profile 0x181A
UDS User Data Service Profile 0x181C
HDGP HID over GATT Profile 0x1812
LNP Location and Navigation Profile 0x1819
RSCP Running Speed and Cadence Profile 0x1814
WSP Weighing Scale Profile 0x181D
Thank You

Introduction to Bluetooth Low Energy

  • 1.
  • 2.
    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
  • 3.
    Architecture BLE Radio Link Layer L2CAP Application/ Profiles APIs Generic Attribute Profile ( GATT ) Attribute Protocol ( ATT ) Security Manager ( SM ) Generic Access Profile ( GAP )
  • 4.
    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
  • 5.
    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
  • 6.
    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
  • 7.
  • 8.
    BLE L2CAP • LogicalLink Control and Adaptation Protocol • Advertisement • Scanning • Connection Establishment
  • 9.
    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.
  • 10.
    BLE L2CAP –Advertisement Passive Scanning
  • 11.
    BLE L2CAP –Active Scanning
  • 12.
    BLE Advertising Parameters ParameterValues 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
  • 13.
    BLE L2CAP –Connection
  • 14.
    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
  • 15.
    BLE L2CAP –Connection
  • 16.
    BLE L2CAP –Topology Change
  • 17.
    BLE Generic AttributeProfile • 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
  • 18.
    BLE GAP Modes •Connectable – 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
  • 19.
    BLE GAP Procedures •Name Discovery – 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
  • 20.
    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
  • 21.
    BLE ATT DataTransfer
  • 22.
    BLE GATT • Builton top of Attribute Protocol • Establishes common framework for data transported & stored • GATT defines two roles – Server – Client
  • 23.
    BLE GATT • Attributes –Transported by Attribute protocol – Formatted as services & characteristics • Service – Contain collection of characteristics • Characteristics – Contain single value and any number of descriptors
  • 24.
    BLE GATT DataStructure
  • 25.
    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
  • 26.
    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
  • 27.
    BLE Security Model •Pairing – 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
  • 28.
    Profiles – Generic AbbreviationName Assigned Number GAP Generic Access Profile 0x1800 ANS Alert Notification Service Profile 0x1811 GATT Generic Attribute Profile 0x1801
  • 29.
    Profiles – HealthCare Abbreviation Name Assigned Number BLP Blood Pressure Profile 0x1810 HTP Health Thermometer Profile 0x1809 GLP Glucose Profile 0x1808 CGMP Continuous Glucose Monitoring Profile 0x181F
  • 30.
    Profiles – Sports& Fitness Abbreviation Name Assigned Number BCS Body Composition Profile 0x181B CSCP Cycling Speed and Cadence Profile 0x1816 CPP Cycling Power Profile 0x1818 HPP Heart Rate Profile 0x180D LNP Location and Navigation Profile 0x1819 RSCP Running Speed and Cadence Profile 0x1814 WSP Weighing Scale Profile 0x181D
  • 31.
    Profiles… Abbreviation Name AssignedNumber IPSP Internet Protocol Support Suite Profile 0x1820 ESP Environmental Sensing Profile 0x181A UDS User Data Service Profile 0x181C HDGP HID over GATT Profile 0x1812 LNP Location and Navigation Profile 0x1819 RSCP Running Speed and Cadence Profile 0x1814 WSP Weighing Scale Profile 0x181D
  • 32.