Скачать презентацию BLE 101 Bluetooth low energy FOR INTERNAL Скачать презентацию BLE 101 Bluetooth low energy FOR INTERNAL

5a1d5bc90c4cc301196e72b41ce81a44.ppt

  • Количество слайдов: 74

BLE 101 – Bluetooth low energy FOR INTERNAL USE ONLY BLE 101 – Bluetooth low energy FOR INTERNAL USE ONLY

Roger Garvert Field Application Engineer 2445 Flambeau Drive Naperville, IL 60564 Email: roger. garvert@csr. Roger Garvert Field Application Engineer 2445 Flambeau Drive Naperville, IL 60564 Email: roger. [email protected] com Direct: +1 630 355 0331 Cell: +1 630 788 7553 Web: www. csr. com 2

Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – – – Physical Layer Link Layer HCI Layer L 2 CAP Layer Attribute Protocol Generic Attribute Profile Generic Access Profile Applications § Applications 3

Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – – – Physical Layer Link Layer HCI Layer L 2 CAP Layer Attribute Protocol Generic Attribute Profile Generic Access Profile Applications § Applications 4

What is Bluetooth low energy? § Evolution of current Bluetooth standard – Open and What is Bluetooth low energy? § Evolution of current Bluetooth standard – Open and license free standard – Easily integrated within existing Bluetooth technology § Focus on ultra-low power consumption – Ideal for devices with very low battery capacity § Faster connections – “I got it” “I want more” “Here it is” 5

New Technology? § Yes – – efficient discovery / connection procedures very short packets New Technology? § Yes – – efficient discovery / connection procedures very short packets asymmetric design for peripherals client server architecture § No – reuse existing BR radio architecture – reuse existing HCI logical and physical transports – reuse existing L 2 CAP packets 6

Why Bluetooth low energy? • In the home • Remote control • Entertainment • Why Bluetooth low energy? • In the home • Remote control • Entertainment • Assisted living • Consumer medical & health • In the workplace • Factory automation • In the car • Sensors • Displays • On the go • Sports and fitness • Proximity 7

Basic Concepts § Everything optimized for power consumption § Button Cell will be the Basic Concepts § Everything optimized for power consumption § Button Cell will be the main power supply for peripherals – < 15 ma peak current – < 1µa average current 8

Basic Concepts Client Server § Everything has STATE – devices expose their state – Basic Concepts Client Server § Everything has STATE – devices expose their state – these are servers § Clients can use the state exposed on servers – read it – get current temperature – write it – increase set point temperature for room § Servers can tell clients when state updates – notify it – temperature up to set point 9

Basic Concepts § Client Server Architecture – proven architecture for web-infrastructure § Gateways allow Basic Concepts § Client Server Architecture – proven architecture for web-infrastructure § Gateways allow interconnect of internet & low energy – – weighing scales send reports to doctor home security web site shows all windows closed assisted living for your parents allows low cost monitoring sports data immediately uploaded via cellular phone Internet 10

Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – – – Physical Layer Link Layer HCI Layer L 2 CAP Layer Attribute Protocol Generic Attribute Profile Generic Access Profile Applications § Applications 11

Operating States and Roles State Description Standby Advertising Does not transmit or receive packets Operating States and Roles State Description Standby Advertising Does not transmit or receive packets Broadcasts advertisements in advertising channels Scanning Looks for advertisers Initiating Initiates connection to advertiser Connecti on Mast er Role Communicates with device in the Slave role, defines timings of transmissions Communicates with single • Slave device in Master/Slave only Role • No scatternet Master Role • No role switches 12

Operation States and Roles § Bluetooth low energy devices may have more than one Operation States and Roles § Bluetooth low energy devices may have more than one instance of the Link Layer state machine at any one time – However a Bluetooth low energy device cannot be master and slave at the same time Multiple State Advertisin Machine States and g Roles Scannin g Initiating Connection Master Slave Advertising No Yes* Yes * Scanning Yes No Yes Yes Initiator Yes * Yes No Master Yes * Yes Yes No Slave Yes * Yes No No No Connectio n * Only advertising packets that will not result in Link Layer entering a Slave Role 13

Topology Example § Star topology – Master can have multiple link layer connections – Topology Example § Star topology – Master can have multiple link layer connections – Slave can have only one link layer connection Advertiser Slave Master Scanner Advertisement Slave Advertiser 14

Topology Example § Initiation of connection requests – Master can simultaneously be scanner and Topology Example § Initiation of connection requests – Master can simultaneously be scanner and Master – Master can simultaneously be initiator and Master Advertiser Slave Master Scanner Connection Request Slave Advertiser 15

Topology Example § Master and Slave can both act as Advertiser – Only advertising Topology Example § Master and Slave can both act as Advertiser – Only advertising events that will not result in connection as Slave are allowed Advertiser Slave Master Scanner Connected Slave / Advertiser 16

Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – – – Physical Layer Link Layer HCI Layer L 2 CAP Layer Attribute Protocol Generic Attribute Profile Generic Access Profile Applications § Applications 17

Stack Architecture Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Stack Architecture Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 18

Physical Layer Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Physical Layer Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 19

Spectrum Usage § The 2. 4 GHz ISM band is a free for all Spectrum Usage § The 2. 4 GHz ISM band is a free for all for anyone who wants to use it. Direct Radio waves Visible X-rays Current 100 k. Hz – 300 GHz light Extremely Ultraviolet Gamma low frequency FM radio radiation rays (ELF) 88 -108 MHz Very low frequency Microwaves (VLF) 300 MHz – 300 GHz medium wave radio 550 -1600 k. Hz Infrared long wave radio radiation 150 -350 k. Hz • The 2. 4 GHz ISM Band is also used by: • Microwave Ovens • Digital Cordless Phones • 802. 11 b/g Frequency in hertz (Hz) k. Hz MHz GHz 0 102 104 106 108 1010 1012 1014 1016 1018 1020 1022 Bluetooth 20

Bluetooth low energy Frequency Plan 2480 2478 2476 2474 2472 2470 2468 2466 2464 Bluetooth low energy Frequency Plan 2480 2478 2476 2474 2472 2470 2468 2466 2464 2462 2460 2458 2456 2454 2452 2450 2448 2446 2444 2442 2440 2438 2436 2434 2432 2430 2428 2426 2424 2422 2420 2418 2416 2414 2412 2410 2408 2406 2404 2402 MHz 39 38 37 Advertising 11 11 11 1 1 1 1 6 6 6 6 6 10 9 8 7 6 5 4 3 2 1 0 Wi. Fi 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 Data Lower guard band of 2 MHz, upper guard band of 3. 5 MHz 21

Transmitter and Receiver Characteristics § Transmit output power – -20 d. Bm to +10 Transmitter and Receiver Characteristics § Transmit output power – -20 d. Bm to +10 d. BM – No concept of Class 1 / 2 / 3 § Receive sensitivity – -70 d. Bm (-90 d. Bm is expected performance) § Modulation Index – 0. 5 (compared to 0. 25 for Bluetooth BR/EDR) – Easier to distinguish “ 1” from “ 0” – Frequency hopping not required by regulatory agencies • No frequency hopping in advertising/scanning • Frequency hopping only in connections 22

Frequency Hopping Spread Spectrum - FHSS § Bluetooth low energy splits the spectrum up Frequency Hopping Spread Spectrum - FHSS § Bluetooth low energy splits the spectrum up into 37 1 MHz wide channels data channels § FHSS occurs while in a connection § The frequency hops follow a hop-length that is pseudo-random per connection – Communicated in the “Connection Request” – Provides instant adaptive frequency hopping capability – Can be updated using a channel update message Guard Band 2. 4000 2. 4020 Guard Band 2. 4800 Frequency, GHz 2. 4835 23

Link Layer Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Link Layer Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 24

Device Filtering § Devices maintain a “white list” – Storage of device addresses for Device Filtering § Devices maintain a “white list” – Storage of device addresses for device filtering § Filter policy can be set to: – Advertiser • • Process scan/connection requests from devices in white list Process all scan/connection requests (default advertiser filter policy) Process connection requests from all devices but only scan requests in white list Process scan requests from all devices but only connection requests in white list – Scanner • Process advertising packets from devices in white list • Process all advertising packets (default scanner filter policy) – Initiator • Process connectable advertising events from devices in white list • Process connectable events only from single device specified by host 25

One Packet Format § Used for Advertising and Data Channel Packets § Preamble (0 One Packet Format § Used for Advertising and Data Channel Packets § Preamble (0 x 55, 0 x. AA) Preamble – Frequency synchronization, symbol timing estimation, AGC training § Access Address – Advertising packets – always 0 x 8 e 89 bed 6 – Data packets – different for each link layer connection § Packet Data Unit – Defined based upon packet types Access Address Not Whitened PDU CRC Whitened Protected by CRC 26

Advertising Scanner Found device (data) Advertiser ADV_IND (data) Adv_Idx= 37 Event started ~0. 5 Advertising Scanner Found device (data) Advertiser ADV_IND (data) Adv_Idx= 37 Event started ~0. 5 ms ADV_IND (data) Adv_Idx=38 Advertising Event Response packet to advertising event ADV_IND SCAN_RE Q Yes CONNECT_RE Q Yes ADV_DIRECT_IND No Yes * ADV_NONCONN_I ND ADV_DISCOVER_I No No Yes ADV_IND (data) Adv_Idx= 39 ~0. 5 ms No ND Event closed * If initiator address matches 27

Active Scanning Scanner T_IFS 150µs Advertising Event Response packet to advertising event ADV_IND SCAN_RE Active Scanning Scanner T_IFS 150µs Advertising Event Response packet to advertising event ADV_IND SCAN_RE Q Yes CONNECT_RE Q Yes ADV_DIRECT_IND No Yes * ADV_NONCONN_I ND ADV_DISCOVER_I No No Yes No Advertiser ADV_IND (data) Adv_Idx= 37 Event started SCAN_REQ Adv_Idx=37 <1. 5 ms SCAN_RSP (data) Adv_Idx=37 ADV_IND (data) Adv_Idx=38 ~0. 5 ms ADV_IND (data) Adv_Idx= 39 Event closed ND * If initiator address matches 28

Connection § CONNECT_REQ includes the following data: – – – – Transmit window size Connection § CONNECT_REQ includes the following data: – – – – Transmit window size Transmit window offset Connection interval Slave latency Connection Timeout Hop sequence Channel Map CRC initialization value T_IFS 150µs Advertising Event ADV_IND No No Event closed No Yes CONNECT_REQ Adv_Idx=37 Yes * ADV_NONCONN_I ND ADV_DISCOVER_I ADV_IND (data) Adv_Idx= 37 Event started CONNECT_RE Q Yes ADV_DIRECT_IND Advertiser Response packet to advertising event SCAN_RE Q Yes Scanner No ND 29

Connection Parameter Minimu m Maximum conn. Interval 7. 5 msec 4 seconds Window. Offs Connection Parameter Minimu m Maximum conn. Interval 7. 5 msec 4 seconds Window. Offs et 0 Scanner conn. Interv al Window. Size 1. 25 Master 10 msec * msec 1. 25 ms < t < Window. Offset+Window. Size T_IFS 150µs Advertiser ADV_IND (data) Adv_Idx= 37 CONNECT_REQ Adv_Idx=37 LL Data/Control packet Channel fn conn. Interval T_IFS 150µs LL Data/Control packet Channel fn+1 Advertising Event started Advertising Event closed Slave Connection Event started Connection Event closed 30

Acknowledgement and Flow Control § Acknowledgements embedded in header of every Data channel PDU Acknowledgement and Flow Control § Acknowledgements embedded in header of every Data channel PDU Master – Single bit Sequence Number (SN) – Single bit Next Expected Sequence Number (NESN) Slave Data (SN=0, NESN=0) Data (SN=0, NESN=1) § Packet is retransmitted until the NESN is different from the SN value in the sent packet – Enables lazy acknowledgement for significant power savings Data (SN=1, NESN=1) Data (SN=1, NESN=0) Data (SN=0, NESN=1) Data (SN=1, NESN=0) 31

Air Interface Packets – Advertising Packets Type 0000 0001 0010 0011 0100 0101 0110 Air Interface Packets – Advertising Packets Type 0000 0001 0010 0011 0100 0101 0110 Packet ADV_IND ADV_DIRECT_IND ADV_NONCONN_IND SCAN_REQ SCAN_RSP CONNECT_REQ ADV_DISCOVER_IND Usage Connectable undirected advertising event Connectable directed advertising event Non-connectable undirected advertising event Scan request for further information from advertiser Response to scan request from scanner Connect request by Initiator Discoverable undirected advertising event § Preamble – frequency synchronization and AGC training (1010) § Access Address – 0 x 8 e 89 bedd 6 § CRC – computed over PDU § Tx. Add, Rx. Add – PDU type-specific information Preamble (1 octet) Access Address (4 octets) Type RFU Tx. Add Rx. Add Length RFU (4 bits) (2 bits) (1 bit) (6 bits) (2 bits) Header (16 bits) Payload (per Length field in header) PDU CRC (3 octets) 32

Air Interface Packets – Initiating PDUs Type Packet 0101 CONNECT_REQ Usage Connect request by Air Interface Packets – Initiating PDUs Type Packet 0101 CONNECT_REQ Usage Connect request by Initiator AA CRCInit Win. Size Win. Offset Interval Latency Timeout Ch. M Hop (4 octets) (3 octets) (1 octets) (2 octets) (5 bits) § § § Init. A –initiator’s public/random address based on Tx. Add Adv. A –advertiser’s public/random address based on Rx. Add AA – contains Link Layer’s connection address CRCInit –initialization value for CRC calculation Win. Size – defines timing window for first data packet Win. Offset – offset of transmit window start Interval – time between connection events Latency – # times slave can ignore connection events Timeout – max time between two correctly received packets before link is considered lost Ch. M – Channel Map Hop – Random number seeding hop sequence SCA – Sleep Clock Accuracy range Preamble (1 octet) Access Address (4 octets) SCA (3 bits) Adv. A Init. A LLData (6 octets) (22 octets) Header (16 bits) Payload (per Length field in header) PDU CRC (3 octets) 33

Air Interface Packets – LL Data Channel § Preamble – frequency synchronization and Field Air Interface Packets – LL Data Channel § Preamble – frequency synchronization and Field Purpose and Encoding LLID 0 x 01 = Continuation/empty L 2 CAP packet 0 x 02 = Start of an L 2 CAP packet 0 x 03 = LL Control packet NESN Next Expected Sequence Number SN Sequence Number MD More data AGC training (0101) or (1010) § Synchronization word – 32 bit link layer connection access address § CRC – computed over PDU § MIC – Message Integrity Code, for use with encrypted links LLID NESN SN MD RFU Length RFU (2 bits) (1 bit) (3 bits) (5 bits) (3 bits) Header (2 octets) Preamble (1 octet) Synchronization word (4 octets) Payload (0 -27 octets) PDU MIC (4 octets) CRC (3 octets) 34

Air Interface Packets – LL Control Packets Opcode Control packet name 0 x 00 Air Interface Packets – LL Control Packets Opcode Control packet name 0 x 00 LL_CONNECTION_UPDATE_REQ 0 x 01 LL_CHANNEL_MAP_REQ 0 x 02 LL_TERMINATE_IND 0 x 03 LL_ENC_REQ 0 x 04 LL_ENC_RSP 0 x 05 LL_START_ENC_REQ 0 x 06 LL_START_ENC_RSP 0 x 07 LL_UNKNOWN_RSP 0 x 08 LL_FEATURE_REQ 0 x 09 LL_FEATURE_RSP 0 x 0 a LL_PAUSE_ENC_REQ 0 x 0 b LL_PAUSE_ENC_RSP 0 x 0 c LL_VERSION_IND 0 x 0 d LL_REJECT_IND Preamble (1 octet) Ctr. Type (1 octet) Ctr. Data LLID NESN SN MD RFU Length RFU 1 1 (2 bits) (1 bit) (3 bits) (5 bits) (3 bits) Header (2 octets) Synchronization word (4 octets) Payload (0 -27 octets) PDU MIC (4 octets) CRC (3 octets) 35

Packet Timings § Peer device transmits 150 μs after last packet § Minimum size Packet Timings § Peer device transmits 150 μs after last packet § Minimum size packet = 80 μs (Preamble + Access Address + Header + CRC) § Maximum size packet = 328 μs (Preamble + Access Address + Header + Payload + MIC + CRC) Tx Rx 36 T

Maximum Data Rate § Asymmetric Tx/Rx Packet Sequence 328 + 150 + 80 + Maximum Data Rate § Asymmetric Tx/Rx Packet Sequence 328 + 150 + 80 + 150 = 708 μs Transmitting 27 octets of application data ~305 kbps Tx Rx 37 T

HCI Commands and Events Generic Events Command Complete Command Status Hardware Error Device Setup HCI Commands and Events Generic Events Command Complete Command Status Hardware Error Device Setup Reset Controller Flow Control Read Buffer Size Number of Completed Packets LE Read Buffer Size Controller Information Read Local Version Information Read Local Supported Commands Read Local Supported Features Read BDADDR LE Read Local Supported Features LE Read Supported States Controller Configuration LE Set Advertise Enable LE Set Advertising Data LE Set Advertising Parameters LE Set Random Address LE Set Scan Response Data LE Set Random Address Black – existing commands Black italicized – existing events Red – new commands Red italicized – new events Device Discovery LE Advertising Report LE Set Scan Enable LE Set Scan Parameters Connection Setup Disconnect Command Disconnection Complete LE Create Connection Cancel LE Create Connection Remote Information Read Remote Version Information Complete LE Read Remote Used Features Complete Connection State LE Connection Update Complete Physical Links LE Set Host Channel Classification Test LE Receiver Test LE Transmitter Test LE Test End Host Flow Control Host Buffer Size Set Event Mask Set Controller To Host Flow Control Host Number of Completed Packets Data Buffer Overflow LE Add Device to White List LE Clear White List LE Read White List Size LE Remove Device from White List LE Set Event Mask Link Information Read Transmit Power Level Read RSSI LE Read Advertising Channel TX Power LE Read Channel Map Authentication and Encryption Change Encryption Key Refresh Complete LE Encrypt LE Long Term Key Requested Reply LE Long Term Key Requested Negative Reply LE Rand LE Start Encryption 38

Logical Link Control and Adaptation Protocol Apps Applications Generic Access Profile Generic Attribute Profile Logical Link Control and Adaptation Protocol Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 39

Attribute Protocol Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Attribute Protocol Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 40

Attribute Protocol (ATT) § Client Server Architecture – servers have data – clients request Attribute Protocol (ATT) § Client Server Architecture – servers have data – clients request data to/from servers § Servers expose data using Attributes Client Server Requests Data Responses Data 41

The Attributes of Attributes § Attributes have values – Array of up to 512 The Attributes of Attributes § Attributes have values – Array of up to 512 octets, fixed or variable length § Attributes have handles – Used to address an individual attribute by a client § Attributes have a type – <>, determines what the value means – Defined by GAP, GATT, “Characteristic Specifications” § Attributes have permissions – Read, Write – May require authentication or authorization to read or write Handle Type Value Meaning 0 x 0009 «Device Name» 0 x 54656 d 70657261747572652053656 e 736 f 72 “Temperature Sensor” 0 x 0022 «Battery State» 0 x 04 Discharging 0 x 0098 «Temperatur 0 x 0802 20. 5 ºC 42

Protocol Methods Protocol Sent PDU Type by Description Request Client requests something from server Protocol Methods Protocol Sent PDU Type by Description Request Client requests something from server – always causes a response Client Response Server sends response to a request from a client Command Client commands something to server – no response Notificatio n Server notifies client of new value – no confirmation Indication Server indicates to client new value – always causes a confirmation • Confirmati Client Confirmation to an indication Client can only send one request at a time – request completes after response received • on. Server can send only one indication at a time – indication completes after confirmation • Commands and Notifications can be sent at any time 43

Attribute Commands Name Description Error Response Something was wrong with a request Exchange MTU Attribute Commands Name Description Error Response Something was wrong with a request Exchange MTU Request / Response Exchange new ATT_MTU Find Information Request / Response Find information about attributes Find By Type Value Request / Response Find specific attributes Read By Group Type Request / Response Find specific group attributes and ranges Read By Type Request / Response Read attribute values of a given type Read / Response Read an attribute value Read Blob Request / Response Read part of a long attribute value Read Multiple Request / Response Read multiple attribute values Write Command Write this – no response Write Request / Response Write an attribute value Prepare Write Request / Response Prepare to write a value (long) Execute Write Request / Response Execute these prepared values Handle Value Notification Notify attribute value – no confirmation Handle Value Indication / Confirmation This attribute now has this value 44

Generic Attribute Profile Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Generic Attribute Profile Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 45

Generic Attribute Profile (GATT) §Defines framework for using Generic Attribute Protocol Generic Access Profile Generic Attribute Profile (GATT) §Defines framework for using Generic Attribute Protocol Generic Access Profile §Configurations and Roles – Client • Initiates commands and requests toward server • Receives responses, indications, and notifications from server – Server • Accepts commands and requests from client • Sends responses, indications, and notifications to client Generic Attribute Profile Example Application Request Client Response Server 46

Client Server Architecture § Same client server architecture as Attribute Protocol – except that Client Server Architecture § Same client server architecture as Attribute Protocol – except that data is encapsulated in “Services” – data is exposed in “Characteristic” Client Server Requests Service Char. Responses Service Char. 47

GATT Definitions § Service – set of related characteristics and how these are used GATT Definitions § Service – set of related characteristics and how these are used – Primary Services – exposes primary usable functionality of device • Can be included by another service – Secondary Services – intended to be referenced by primary services § Characteristics – related attributes that describe state of device – Features available (readable, indicatable, etc. ) – Handle – Representation (units, exponent, data type) – i. e. data dictionary 48

GATT uses Attribute Protocol § Attribute Protocol defines a server with a set of GATT uses Attribute Protocol § Attribute Protocol defines a server with a set of attributes – – addressable with a handle typed using a UUID Includes data in an attribute value Includes permissions 2 octets 2 or 16 octets variable length (0 to 512 octets) Attribute Handle Attribute Type Attribute Value implementation specific Attribute Permission s 49

GATT Attribute Grouping Handle Type Value Permissions 0 x 0001 «Primary Service» «GAP» R GATT Attribute Grouping Handle Type Value Permissions 0 x 0001 «Primary Service» «GAP» R 0 x 0002 «Characteristic» {r, 0 x 0003, «Device Name» } R 0 x 0003 «Device Name» “Temperature Sensor” R 0 x 0004 «Characteristic» {r, 0 x 0006, «Appearance» } R 0 x 0006 «Appearance» «Thermometer» R 0 x 000 F «Primary Service» «GATT» R 0 x 0010 «Characteristic» {r, 0 x 0012, «Attribute Opcodes Supported» } R 0 x 0012 «Attribute Opcodes Supported» 0 x 00003 FDF R 0 x 0020 «Primary Service» «Temperature» R 0 x 0021 «Characteristic» {r, 0 x 0022, «Temperature Celsius» } R 0 x 0022 «Temperature Celsius» 0 x 0802 R* 50

Generic Access Profile Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Generic Access Profile Apps Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 51

Generic Access Profile - GAP § Defines profile roles – – Broadcaster Observer Peripheral Generic Access Profile - GAP § Defines profile roles – – Broadcaster Observer Peripheral Central § Defines procedures for: – – – Discovering identities, names, and basic capabilities Creating bonds Exchange of security information Establishing connections Resolvable Private addresses § Defines Advertising and Scan Response Data formats § All profiles are built upon GAP 52

Profile Roles Broadcaster Observer Sends advertising events Can include characteristics and service data Doesn’t Profile Roles Broadcaster Observer Sends advertising events Can include characteristics and service data Doesn’t need receiver Can be discoverable if it does have receiver Receives advertising events Listens for characteristics and service data Doesn’t need transmitter Can discover devices if it does have transmitter Scanning Advertising Standby Connection Initiating Advertising Standby Initiating Connection 53

Profile Roles Peripheral Central Has transmitter and receiver Always slave Connectable advertising Has transmitter Profile Roles Peripheral Central Has transmitter and receiver Always slave Connectable advertising Has transmitter and receiver Always master Never advertises Scanning Advertising Standby Connection Initiating Advertising Standby Initiating Connection 54

BTle Applications § Client Server Architecture – Services – expose behaviors that have characteristics BTle Applications § Client Server Architecture – Services – expose behaviors that have characteristics – Use Cases– define how to use services on a peer Client Use Case Server Requests Service Char. Responses Service Char. 55

Use Cases and Services § There is not a one-to-one link between services and Use Cases and Services § There is not a one-to-one link between services and use cases § Clients implement use cases, Servers implement services § Use cases can use multiple services Client Server Device Selection Use Case Immediate Alert Service Char. Proximity Use Case Transmit Power Service Char. 56

Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Applications Generic Access Profile Generic Attribute Profile Attribute Protocol Security Manager Host Logical Link Control and Adaptation Protocol Host Controller Interface Link Layer Direct Test Mode Controller Physical Layer 57

Applications § An Application uses a set of Use Cases – Use Cases use Applications § An Application uses a set of Use Cases – Use Cases use a set of Services on a peer device • Services expose Characteristics • Services define behavior exposed by Characteristics § Bluetooth SIG creates Use Case, Requirements, and Design Documents (UCRDD) – Specifies User Scenarios – Defines Profiles • Includes roles for the Client and Server • Services required – Defines Services • Includes Characteristics and associated data formats 58

Example: Proximity UCRDD § User Scenarios – – – Leaving a phone behind Leaving Example: Proximity UCRDD § User Scenarios – – – Leaving a phone behind Leaving keys behind Child straying too far Hospital patient from bed Automatic PC Locking & Unlocking Automatic PC Locking & Authenticated Unlocking § Roles – Proximity Monitor – Proximity Reporter § Proximity Profile – Specifies services used – Specifies GAP requirements for discoverability/connectability § Services – Link Loss Service – Immediate Alert Service – Tx Power Service 59

Profiles and Services Profiles Network Availability Proximity Find Me Soft Button Battery Glucose Meter Profiles and Services Profiles Network Availability Proximity Find Me Soft Button Battery Glucose Meter Heart Rate Belt Weight Scale Device Power Light Switch HID Watchdog Services Network Availability Immediate Alert Tx Power Link Loss Alert Generic Control Battery Glucose Meter Manufacturer Time Heart Rate Weight Scale HID Watchdog 60

Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – Agenda § Bluetooth low energy defined § Architectural Overview § Stack Architecture – – – – Physical Layer Link Layer HCI Layer L 2 CAP Layer Attribute Protocol Generic Attribute Profile Generic Access Profile Applications § Applications 61

Ble in HID Devices § A single HID device for multiple platforms § Low Ble in HID Devices § A single HID device for multiple platforms § Low power long battery life peripherals 62

Ble in Consumer Electronics and Remote Controls § TV is evolving § Advanced interfaces Ble in Consumer Electronics and Remote Controls § TV is evolving § Advanced interfaces demand advanced controls 63

Ble in Watches and Displays § A new ecosystem of connectivity 64 Ble in Watches and Displays § A new ecosystem of connectivity 64

Ble in Sports and Fitness Products § Direct to phone, PC or music player Ble in Sports and Fitness Products § Direct to phone, PC or music player options – Training upload and web service integration – Advanced mapping 65

Ble in Proximity and Access Bluetooth low energy low cost tags that last for Ble in Proximity and Access Bluetooth low energy low cost tags that last for many years on a coin cell § Proximity – Two devices alarm when moved out of signal range – e. g. Key fob alerts when mobile phone out of range § Access – Tablet logs you in when key fob is detected § Personalization – Car adjusts seat to favorite position when you get in 66

Ble in Advertising Low cost advertising tag can provide local and relevant information § Ble in Advertising Low cost advertising tag can provide local and relevant information § Indoor Location – broadcast GPS location in packet, or look up device ID in online database § Local Product or Service discovery – advertise local service information, or URL for online exploration § App discovery – advertise an ID that can be used to identify apps to connect and interpret data from an accessory or service – Choose apps to interpret aisle tag information – Choose apps to describe the painting in a gallery – Choose apps to let you control the AV system in your hotel room 67

Example of a Continua compliant service Bluetooth HDP profile Health device Internet Protocol Mobile Example of a Continua compliant service Bluetooth HDP profile Health device Internet Protocol Mobile Handset Health management Internet Protocol Health Service Coaching Medical records server Healthcare integration 68

What is the Continua Health Alliance § The alliance have selected and supported the What is the Continua Health Alliance § The alliance have selected and supported the standards § § that are most suitable to the health applications they support Version 1 selected Bluetooth as the wireless standard Version 2 will use Bluetooth Low Energy The alliance is supporting efforts to roll out health technology on mobile phone platforms Bluetooth low energy devices will support Continua and non-continua data collection for medical or non medical applications Mobile connectivity for health 69

Ble in Health Care Devices § The Continua Health Alliance have selected Bluetooth Low Ble in Health Care Devices § The Continua Health Alliance have selected Bluetooth Low Energy as the personal area transport for the version 2 guidelines Health devices Bluetooth Low Energy Tablet / Mobile Handset TV or Set top box 70

Ble in Health Care Devices Small lightweight sensors with long battery life and connectivity Ble in Health Care Devices Small lightweight sensors with long battery life and connectivity to powerful web based services § Years of battery life from a coin cell § Minimal e. Bo. M enables compact devices § Powerful connectivity to online services § Many applications – wearable sensors including ECG & continuous glucose, insulin pumps, weight scales, blood pressure, thermometer, glucose meters, activity monitors, medication monitors, electronic diagnostic tests 71

Ble Extends the Apps Store Model Internet • Today’s smartphones and tablets enable application Ble Extends the Apps Store Model Internet • Today’s smartphones and tablets enable application markets • Today, that stops at the phone • Ble allows this model to extend to other devices • Extends the reach of apps • Generate revenue without touching the keypad • Ble devices make apps selection easy 72

Additional Information and Training § Bluetooth low energy specification can be found on the Additional Information and Training § Bluetooth low energy specification can be found on the Bluetooth website, www. bluetooth. org/Technical/Specifications/adopted. htm § Online training is also available on the Bluetooth website, www. bluetooth. org/Events/Training/Low. Energy. Training. htm 73

Thank you! Thank you!