SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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
 

Destacado

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 automotiveRyo Jin
 
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇
Everything About Bluetooth (淺談藍牙 4.0) - Peripheral 篇Johnny Sung
 
Blues Haiku
Blues HaikuBlues Haiku
Blues HaikuSo Mon
 
Maemo Harmattan Qt And More
Maemo Harmattan Qt And MoreMaemo Harmattan Qt And More
Maemo Harmattan Qt And Moreqgil
 
Maemo Chinook Software Architecture
Maemo Chinook Software ArchitectureMaemo Chinook Software Architecture
Maemo Chinook Software Architecturejtukkine
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Phil www.rzr.online.fr
 
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 ManualRyo Jin
 
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 arduinosumit chakraborty
 
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 GearIntelAPAC
 
BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会BlueZで遊んでみる - BLE大阪勉強会
BlueZで遊んでみる - BLE大阪勉強会Shinji Kobayashi
 
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...Ryo Jin
 
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 ThingsIntel IoT
 
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 DeploymentHuy Pham
 
Android Bluetooth Introduction
Android Bluetooth IntroductionAndroid Bluetooth Introduction
Android Bluetooth IntroductionErin Yueh
 
Bluetooth technology presentation
Bluetooth technology presentationBluetooth technology presentation
Bluetooth technology presentationKrishna Kumari
 
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 ManualRyo Jin
 
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 - 09122014CITC-EuraRFID
 

Destacado (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
 

Similar a Next Generation Blue Z and Bluetooth Smart Drivers

Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxplarsen67
 
Kernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusKernel Recipes 2015: Greybus
Kernel Recipes 2015: GreybusAnne Nicolas
 
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 NFC Forum
 
Fosdem 2015 web bluetooth
Fosdem 2015 web bluetoothFosdem 2015 web bluetooth
Fosdem 2015 web bluetoothlcuguen
 
IoT Development from Prototype to Production
IoT Development from Prototype to ProductionIoT Development from Prototype to Production
IoT Development from Prototype to ProductionMender.io
 
Iot development from prototype to production
Iot development from prototype to productionIot development from prototype to production
Iot development from prototype to productionMender.io
 
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_2013Fatma Ceylan
 
BluetoothIM Documentation with Complete Source Code
BluetoothIM Documentation with Complete Source CodeBluetoothIM Documentation with Complete Source Code
BluetoothIM Documentation with Complete Source CodeRajesh Karumanchi
 
Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem Bluetooth technology introduction and ecosystem
Bluetooth technology introduction and ecosystem NiclasGranqvist
 
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_finalLukas Ott
 

Similar a 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
 

Más de Ryo Jin

Why is EFL used on Tizen?
Why is EFL used on Tizen?Why is EFL used on Tizen?
Why is EFL used on Tizen?Ryo Jin
 
Samsung Z4 User Manual
Samsung Z4 User ManualSamsung Z4 User Manual
Samsung Z4 User ManualRyo Jin
 
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 SheetRyo Jin
 
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 StudioRyo Jin
 
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 DriverRyo Jin
 
Panduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenPanduan Penggunaan Perangkat Wearable Tizen
Panduan Penggunaan Perangkat Wearable TizenRyo Jin
 
Cara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenCara Menggunakan Smartphone Tizen
Cara Menggunakan Smartphone TizenRyo Jin
 
Gear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideGear Fit2 Watchface Design Guide
Gear Fit2 Watchface Design GuideRyo Jin
 
Samsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreSamsung Indonesia: Tizen Store
Samsung Indonesia: Tizen StoreRyo Jin
 
Samsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesSamsung Indonesia: Tizen Wearables
Samsung Indonesia: Tizen WearablesRyo Jin
 
Samsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsSamsung Indonesia: Tizen Web Apps
Samsung Indonesia: Tizen Web AppsRyo Jin
 
Samsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppSamsung Indonesia: Tizen Native App
Samsung Indonesia: Tizen Native AppRyo Jin
 
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 IoTRyo Jin
 
Russian Tizen Project
Russian Tizen ProjectRussian Tizen Project
Russian Tizen ProjectRyo Jin
 
Samsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualSamsung SM-R360 Tizen User Manual
Samsung SM-R360 Tizen User ManualRyo Jin
 
Tizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceTizen Micro Profile for IoT device
Tizen Micro Profile for IoT deviceRyo Jin
 
Panduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenPanduan Dasar Pemrograman Tizen
Panduan Dasar Pemrograman TizenRyo Jin
 
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 WaylandRyo Jin
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASSRyo Jin
 
Tizen PASS
Tizen PASSTizen PASS
Tizen PASSRyo Jin
 

Más de 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
 

Último

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Último (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

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