SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
Next Generation BlueZ &
Bluetooth Smart Devices
Johan Hedberg (Intel)
2
Bluetooth – Short Introduction
● Short range wireless technology operating at 2.4 GHz
● Originally announced in 1998 as a replacement for RS-232
● but has evolved way beyond that
● 1.1 in 2001 fixed many issues in the initial version
● 2.0 in 2004 with increased data rate from 1 to 3 Mbit/s
● 3.0 in 2009 with High Speed support together with WiFi
● 4.0 in 2010 with Low Energy (aka Bluetooth Smart)
● Bringing Bluetooth into many new kinds of devices
3
Bluetooth – Common Uses
● File transfer
● Contacts & Message access
● High quality audio streaming
● Media playback control
● Phone call control & audio
● Health care devices
● Human Input Devices
● Networking
● ...and many more
4
Bluetooth Low Energy
● A new 2.4 GHz technology reusing many features of Bluetooth
● Went through several names in its evolution
● Wibree, Ultra Low Power, Low Energy
● Now official branding
● Bluetooth Smart – For single-mode (LE-only) devices
● Bluetooth Smart Ready – For dual-mode (LE + traditional Bluetooth)
● Much lower power consumption – coin-cell battery is enough
● ...with the drawback of having less bandwidth than traditional Bluetooth
● Much faster connection creation
● Smaller penalty for being more often disconnected – saves more power
5
Bluetooth Smart Devices
6
Differences to traditional Bluetooth
● Connection model
● Scanning and Advertising
● All profiles based on the Attribute Protocol
● ATT = Attribute Protocol
● GATT = Generic Attribute Profile
● Device roles in matching pairs
● Central & Peripheral
● Observer & Broadcaster
● Security algorithms on the host side instead of the controller
● Privacy
● Random device addresses in addition to public ones
7
ATT & GATT
● A basis for all LE profiles
● Smallest logical unit – the attribute
● Type
● Value
● Permissions
● Hierarchy
● Profile
● Service
● Characteristic
● Read/write operations, indications & notifications
BlueZ
9
BlueZ - History
● Standard Linux Bluetooth stack since 2.4.6 (2001)
● BlueZ 2 in 2002
● BlueZ 3 in 2006
● First D-Bus release
● BlueZ 4 in 2008
● Refined D-Bus
● Bluetooth 2.1 support
● BlueZ 5 end of 2012
● Refined D-Bus
● Bluetooth 4.0 support
10
BlueZ – Maintainers & Contributors
● Maintainers
● Marcel Holtmann (Intel, Kernel & User Space)
● Johan Hedberg (Intel, Kernel & User Space)
● Luiz Von Dentz (Intel, User Space)
● Gustavo Padovan (Collabora, Kernel)
● Contributors
● 82 AUTHORS entries (people with > 10 commits or bigger patches)
● Intel, IndT, ProFUSION, TI, Qualcomm, Google, CSR, Atheros, etc.
11
BlueZ Contributor Companies
12
BlueZ – Main Features
● Core specification 4.0 (GAP, SDP, L2CAP, RFCOMM, GATT)
● Audio/media profile support (A2DP, AVRCP)
● Networking profile support (PAN)
● Input device profile support (HID)
● Health device support (HDP)
● File transfer (FTP, OPP)
● Message access (MAP)
● Phone Book Access (PBAP)
● ...and many more
13
BlueZ – General Architecture
● Hardware (HCI) drivers and lower level protocols in the kernel
● All standard HCI transports supported (UART, 3-Wire UART, USB, SDIO)
● BSD socket based abstraction to user space
● HCI, L2CAP, RFCOMM, SCO and Management sockets
● Profiles and higher level protocols in user space
● Central user space daemon (bluetoothd) extensible with plugins
● Separate obexd daemon for OBEX profiles
● D-Bus interfaces towards the UI and other subsystems
14
BlueZ Architecture - Visualized
Bluetooth Subsystem Core
bluetoothdobexd
Audio Networking Input Health etcFTP MAP PBAP OPP
User
Space
Kernel
L2CAP RFCOMM SCO MGMT SMPHCI
15
Integration with other subsystems
● ConnMan
● Networking (PAN) support
● oFono
● Hands-Free Profile (HFP) support
● Dial-Up Networking (DUN) support
● PulseAudio
● Audio streaming support (both HFP and A2DP)
● neard
● NFC support (automatic pairing & connection creation)
16
BlueZ – Low Energy Support
● Available since Linux Kernel 3.5 and BlueZ 5.0
● Kernel level features:
● Generic Access Profile (GAP)
● Security Manager Protocol (SMP)
● Interface to user space is mostly the same as for traditional Bluetooth
● User space features:
● Attribute Protocol & Generic Attribute Profile
● Profiles implemented through plugins
● Profile-specific D-Bus interfaces
● (WIP) Generic GATT D-Bus interface for external custom profiles
17
Current Low Energy Profiles in BlueZ
● Proximity (keep track of your things)
● Immediate alert (similar to proximity)
● Health thermometer
● Time (sync time from phone to watch)
● Battery (know when your LE device needs a new one)
● Human Interface Device (mice and keyboards)
● Heart rate (sport heart rate belts, medical)
18
Using & Developing LE profiles with BlueZ
● GATT library available for bluetoothd plugins
● All existing profiles use this
● Both server and client roles
● Existing profiles have D-Bus interfaces to allow implementing UIs
(e.g. a heart rate monitor)
● Custom/proprietary profiles need a custom plugin right now
● Generic GATT D-Bus API on its way
19
Ongoing work and near-future features for BlueZ
● GATT D-Bus API
● AVRCP enhancements (AVRCP 1.5)
● HFP 1.6 with Wide-Band Speech (mSBC)
● MAP enhancements
● LE Connection model re-factoring
● Following up on upcoming (non-public) specifications
20
Low Energy and Tizen
● Enables many new use cases across the different verticals
● Tizen already has a good Bluetooth API
● Proper LE API needs defining and making official
● Generic GATT D-Bus API for BlueZ
● Needed for custom GATT profiles external to BlueZ
● Work on the way
Next Generation Blue Z and Bluetooth Smart Drivers

Weitere ähnliche Inhalte

Was ist angesagt?

R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth Technologies
Saurav Kumar
 
Bluetooth Intro
Bluetooth IntroBluetooth Intro
Bluetooth Intro
amit_monty
 

Was ist angesagt? (20)

R K 2 Bluetooth Technologies
R K 2  Bluetooth  TechnologiesR K 2  Bluetooth  Technologies
R K 2 Bluetooth Technologies
 
WPAN According To ZIGBEE
WPAN According To ZIGBEEWPAN According To ZIGBEE
WPAN According To ZIGBEE
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Basic to advance protocols
Basic to advance protocolsBasic to advance protocols
Basic to advance protocols
 
Well known protocols port numbers
Well known  protocols port numbersWell known  protocols port numbers
Well known protocols port numbers
 
Bluetooth Intro
Bluetooth IntroBluetooth Intro
Bluetooth Intro
 
Presentation1
Presentation1Presentation1
Presentation1
 
WIRELESS NETWORKS EC6802 BABU unit 1 & 2 PPT
WIRELESS NETWORKS EC6802 BABU unit 1 & 2 PPTWIRELESS NETWORKS EC6802 BABU unit 1 & 2 PPT
WIRELESS NETWORKS EC6802 BABU unit 1 & 2 PPT
 
Bluetooth v3+HS
Bluetooth v3+HSBluetooth v3+HS
Bluetooth v3+HS
 
Bluetooth.ppt
Bluetooth.pptBluetooth.ppt
Bluetooth.ppt
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Bluetooth basic
Bluetooth basicBluetooth basic
Bluetooth basic
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
IP Routing Tutorial
IP Routing TutorialIP Routing Tutorial
IP Routing Tutorial
 
Unit 4 ppt-idc
Unit 4 ppt-idcUnit 4 ppt-idc
Unit 4 ppt-idc
 
Ports and protocols
Ports and protocolsPorts and protocols
Ports and protocols
 
Dynamic routing protocols (CCNA)
Dynamic routing protocols (CCNA)Dynamic routing protocols (CCNA)
Dynamic routing protocols (CCNA)
 
Bluetooth Module
Bluetooth ModuleBluetooth Module
Bluetooth Module
 
Presentation on router
Presentation on routerPresentation on router
Presentation on router
 
Unit 2 ppt-idc
Unit 2 ppt-idcUnit 2 ppt-idc
Unit 2 ppt-idc
 

Andere mochten auch

Blues Haiku
Blues HaikuBlues Haiku
Blues Haiku
So Mon
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529
Phil www.rzr.online.fr
 
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High GearIntel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
IntelAPAC
 
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
Shinji Kobayashi
 
Citrix XenDesktop and XenApp 7.5 Architecture Deployment
Citrix XenDesktop and XenApp 7.5 Architecture DeploymentCitrix XenDesktop and XenApp 7.5 Architecture Deployment
Citrix XenDesktop and XenApp 7.5 Architecture Deployment
Huy Pham
 

Andere mochten auch (18)

Current trends in open source and automotive
Current trends in open source and automotiveCurrent trends in open source and automotive
Current trends in open source and automotive
 
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇
 
Android bluetooth
Android bluetoothAndroid bluetooth
Android bluetooth
 
Blues Haiku
Blues HaikuBlues Haiku
Blues Haiku
 
Maemo Harmattan Qt And More
Maemo Harmattan Qt And MoreMaemo Harmattan Qt And More
Maemo Harmattan Qt And More
 
Maemo Chinook Software Architecture
Maemo Chinook Software ArchitectureMaemo Chinook Software Architecture
Maemo Chinook Software Architecture
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529
 
Samsung Gear S SM-R750 User Manual
Samsung Gear S SM-R750 User ManualSamsung Gear S SM-R750 User Manual
Samsung Gear S SM-R750 User Manual
 
Bluetooth android application For interfacing with arduino
Bluetooth android application For interfacing with arduinoBluetooth android application For interfacing with arduino
Bluetooth android application For interfacing with arduino
 
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High GearIntel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
Intel APJ Enterprise Day - Intel puts Automotive Innovation into High Gear
 
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会
 
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
Tizen Overview and Architecture - Seokjae Jeong (Samsung) - Korea Linux Forum...
 
Preparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of ThingsPreparing the Data Center for the Internet of Things
Preparing the Data Center for the Internet of Things
 
Citrix XenDesktop and XenApp 7.5 Architecture Deployment
Citrix XenDesktop and XenApp 7.5 Architecture DeploymentCitrix XenDesktop and XenApp 7.5 Architecture Deployment
Citrix XenDesktop and XenApp 7.5 Architecture Deployment
 
Android Bluetooth Introduction
Android Bluetooth IntroductionAndroid Bluetooth Introduction
Android Bluetooth Introduction
 
Bluetooth technology presentation
Bluetooth technology presentationBluetooth technology presentation
Bluetooth technology presentation
 
Samsung Gear Circle SM-R130 User Manual
Samsung Gear Circle SM-R130 User ManualSamsung Gear Circle SM-R130 User Manual
Samsung Gear Circle SM-R130 User Manual
 
Conference geolocalisaiton-indoor-sans-contact-presentation-complete - 09122014
Conference geolocalisaiton-indoor-sans-contact-presentation-complete - 09122014Conference geolocalisaiton-indoor-sans-contact-presentation-complete - 09122014
Conference geolocalisaiton-indoor-sans-contact-presentation-complete - 09122014
 

Ähnlich wie Next Generation Blue Z and Bluetooth Smart Drivers

Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
Fatma Ceylan
 

Ähnlich wie Next Generation Blue Z and Bluetooth Smart Drivers (20)

Fedora 12 Introduction
Fedora 12 IntroductionFedora 12 Introduction
Fedora 12 Introduction
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Kernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusKernel Recipes 2015: Greybus
Kernel Recipes 2015: Greybus
 
Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1 Bluetooth Secure Simple Pairing Using NFC Part 1
Bluetooth Secure Simple Pairing Using NFC Part 1
 
Undestanding Bluetooth
Undestanding BluetoothUndestanding Bluetooth
Undestanding Bluetooth
 
Fosdem 2015 web bluetooth
Fosdem 2015 web bluetoothFosdem 2015 web bluetooth
Fosdem 2015 web bluetooth
 
Bluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPTBluetooth 27 01-12 PPT
Bluetooth 27 01-12 PPT
 
BLUETOOTH _TECHNOLOGY
BLUETOOTH _TECHNOLOGYBLUETOOTH _TECHNOLOGY
BLUETOOTH _TECHNOLOGY
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to Production
 
Hardware hacking
Hardware hackingHardware hacking
Hardware hacking
 
ICIT2013-Keynote-Speech-In-Bali
ICIT2013-Keynote-Speech-In-BaliICIT2013-Keynote-Speech-In-Bali
ICIT2013-Keynote-Speech-In-Bali
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to production
 
Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
Dw1601 dw1702 dw1703_dw1705_and_dw1901_release_notes_rc_win7_combo_07_15_2013
 
BluetoothIM Documentation with Complete Source Code
BluetoothIM Documentation with Complete Source CodeBluetoothIM Documentation with Complete Source Code
BluetoothIM Documentation with Complete Source Code
 
Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
From leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_finalFrom leading IoT Protocols to Python Dashboarding_final
From leading IoT Protocols to Python Dashboarding_final
 
Bluetooth
BluetoothBluetooth
Bluetooth
 

Mehr von Ryo Jin

Mehr von Ryo Jin (20)

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User Manual
 
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data SheetSamsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
Samsung ARTIK 050 (ARTIK ZERO) Modules Data Sheet
 
Introduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen StudioIntroduction to Watch Face Development with Tizen Studio
Introduction to Watch Face Development with Tizen Studio
 
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan DriverTizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
Tizen 3.0's Window System Integration Layer of OpenGLES/EGL & Vulkan Driver
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable Tizen
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone Tizen
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design Guide
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen Store
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen Wearables
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web Apps
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native App
 
Samsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoTSamsung Indonesia: Tizen Platform Overview and IoT
Samsung Indonesia: Tizen Platform Overview and IoT
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen Project
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User Manual
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT device
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman Tizen
 
The Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and WaylandThe Story of Enlightenment, EFL, Tizen and Wayland
The Story of Enlightenment, EFL, Tizen and Wayland
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASS
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

Next Generation Blue Z and Bluetooth Smart Drivers

  • 1. Next Generation BlueZ & Bluetooth Smart Devices Johan Hedberg (Intel)
  • 2. 2 Bluetooth – Short Introduction ● Short range wireless technology operating at 2.4 GHz ● Originally announced in 1998 as a replacement for RS-232 ● but has evolved way beyond that ● 1.1 in 2001 fixed many issues in the initial version ● 2.0 in 2004 with increased data rate from 1 to 3 Mbit/s ● 3.0 in 2009 with High Speed support together with WiFi ● 4.0 in 2010 with Low Energy (aka Bluetooth Smart) ● Bringing Bluetooth into many new kinds of devices
  • 3. 3 Bluetooth – Common Uses ● File transfer ● Contacts & Message access ● High quality audio streaming ● Media playback control ● Phone call control & audio ● Health care devices ● Human Input Devices ● Networking ● ...and many more
  • 4. 4 Bluetooth Low Energy ● A new 2.4 GHz technology reusing many features of Bluetooth ● Went through several names in its evolution ● Wibree, Ultra Low Power, Low Energy ● Now official branding ● Bluetooth Smart – For single-mode (LE-only) devices ● Bluetooth Smart Ready – For dual-mode (LE + traditional Bluetooth) ● Much lower power consumption – coin-cell battery is enough ● ...with the drawback of having less bandwidth than traditional Bluetooth ● Much faster connection creation ● Smaller penalty for being more often disconnected – saves more power
  • 6. 6 Differences to traditional Bluetooth ● Connection model ● Scanning and Advertising ● All profiles based on the Attribute Protocol ● ATT = Attribute Protocol ● GATT = Generic Attribute Profile ● Device roles in matching pairs ● Central & Peripheral ● Observer & Broadcaster ● Security algorithms on the host side instead of the controller ● Privacy ● Random device addresses in addition to public ones
  • 7. 7 ATT & GATT ● A basis for all LE profiles ● Smallest logical unit – the attribute ● Type ● Value ● Permissions ● Hierarchy ● Profile ● Service ● Characteristic ● Read/write operations, indications & notifications
  • 9. 9 BlueZ - History ● Standard Linux Bluetooth stack since 2.4.6 (2001) ● BlueZ 2 in 2002 ● BlueZ 3 in 2006 ● First D-Bus release ● BlueZ 4 in 2008 ● Refined D-Bus ● Bluetooth 2.1 support ● BlueZ 5 end of 2012 ● Refined D-Bus ● Bluetooth 4.0 support
  • 10. 10 BlueZ – Maintainers & Contributors ● Maintainers ● Marcel Holtmann (Intel, Kernel & User Space) ● Johan Hedberg (Intel, Kernel & User Space) ● Luiz Von Dentz (Intel, User Space) ● Gustavo Padovan (Collabora, Kernel) ● Contributors ● 82 AUTHORS entries (people with > 10 commits or bigger patches) ● Intel, IndT, ProFUSION, TI, Qualcomm, Google, CSR, Atheros, etc.
  • 12. 12 BlueZ – Main Features ● Core specification 4.0 (GAP, SDP, L2CAP, RFCOMM, GATT) ● Audio/media profile support (A2DP, AVRCP) ● Networking profile support (PAN) ● Input device profile support (HID) ● Health device support (HDP) ● File transfer (FTP, OPP) ● Message access (MAP) ● Phone Book Access (PBAP) ● ...and many more
  • 13. 13 BlueZ – General Architecture ● Hardware (HCI) drivers and lower level protocols in the kernel ● All standard HCI transports supported (UART, 3-Wire UART, USB, SDIO) ● BSD socket based abstraction to user space ● HCI, L2CAP, RFCOMM, SCO and Management sockets ● Profiles and higher level protocols in user space ● Central user space daemon (bluetoothd) extensible with plugins ● Separate obexd daemon for OBEX profiles ● D-Bus interfaces towards the UI and other subsystems
  • 14. 14 BlueZ Architecture - Visualized Bluetooth Subsystem Core bluetoothdobexd Audio Networking Input Health etcFTP MAP PBAP OPP User Space Kernel L2CAP RFCOMM SCO MGMT SMPHCI
  • 15. 15 Integration with other subsystems ● ConnMan ● Networking (PAN) support ● oFono ● Hands-Free Profile (HFP) support ● Dial-Up Networking (DUN) support ● PulseAudio ● Audio streaming support (both HFP and A2DP) ● neard ● NFC support (automatic pairing & connection creation)
  • 16. 16 BlueZ – Low Energy Support ● Available since Linux Kernel 3.5 and BlueZ 5.0 ● Kernel level features: ● Generic Access Profile (GAP) ● Security Manager Protocol (SMP) ● Interface to user space is mostly the same as for traditional Bluetooth ● User space features: ● Attribute Protocol & Generic Attribute Profile ● Profiles implemented through plugins ● Profile-specific D-Bus interfaces ● (WIP) Generic GATT D-Bus interface for external custom profiles
  • 17. 17 Current Low Energy Profiles in BlueZ ● Proximity (keep track of your things) ● Immediate alert (similar to proximity) ● Health thermometer ● Time (sync time from phone to watch) ● Battery (know when your LE device needs a new one) ● Human Interface Device (mice and keyboards) ● Heart rate (sport heart rate belts, medical)
  • 18. 18 Using & Developing LE profiles with BlueZ ● GATT library available for bluetoothd plugins ● All existing profiles use this ● Both server and client roles ● Existing profiles have D-Bus interfaces to allow implementing UIs (e.g. a heart rate monitor) ● Custom/proprietary profiles need a custom plugin right now ● Generic GATT D-Bus API on its way
  • 19. 19 Ongoing work and near-future features for BlueZ ● GATT D-Bus API ● AVRCP enhancements (AVRCP 1.5) ● HFP 1.6 with Wide-Band Speech (mSBC) ● MAP enhancements ● LE Connection model re-factoring ● Following up on upcoming (non-public) specifications
  • 20. 20 Low Energy and Tizen ● Enables many new use cases across the different verticals ● Tizen already has a good Bluetooth API ● Proper LE API needs defining and making official ● Generic GATT D-Bus API for BlueZ ● Needed for custom GATT profiles external to BlueZ ● Work on the way