bluez - the bluetooth stack of your carkit...profilesforyourcar -...

28
BlueZ The Bluetooth Stack of your Carkit Automotive Linux Summit, November 28, 2011 Gustavo Padovan <[email protected]>

Upload: others

Post on 08-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

we’rehere.

BlueZThe Bluetooth Stack of your Carkit

Automotive Linux Summit, November 28, 2011

Gustavo Padovan <[email protected]>

Page 2: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

agenda

1 What is Bluetooth?

2 What is BlueZ?

3 BlueZ features

4 oFono and ConnMan

5 Profiles

6 Bluetooth High Speed

7 Conclusion

Page 3: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

What is Bluetooth?

- Use the unlicensed 2.4GHz ISM band

- Designed for short-distance data exchange

- Designed as a cable replacement

- Many use cases (profiles)

- Specified by the Bluetooth SIG

- Low Power, Low Cost

Page 4: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

The Bluetooth Stack

Page 5: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

What is BlueZ?

- Official Linux Bluetooth Protocol Stack

- Project started in 2001 by Qualcomm

- Not planned for the final user

- DBus API

- Used by Linux Desktops, Android, MeeGo, TomTom,etc.

Page 6: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

BlueZ features

- Complete modular implementation

- Real hardware abstraction

- Support for multiple Bluetooth devices

- Device and service level security support

- Standard socket interface to all layers

Page 7: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

Obexd

- Part of the BlueZ project

- Implement profiles that run over the ObjectExchange Protocol(OBEX)

- Run in user session for security reasons

Page 8: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

Linux and the Bluetooth Stack

Page 9: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

oFono

- Telephony stack for 2G/3G devices

- Full feature set for voice calls, SMS and cellbroadcast

- Multiple Modem support

- Internal AT Chat library

Page 10: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

ConnMan

- Connection Manager for Linux Systems

- Ethernet, Wifi, Bluetooth and 3G

- DHCP, automatic and static configuration

- Automatic and manual proxy setup

- Wireless and Bluetooth Tethering

Page 11: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

Profiles for your Car

- A2DP - Advanced Audio Distribution Profile

- VDP - Video Distribution Profile

- AVRCP - Audio/Video Remote Control Profile

- HFP - HandsFree Profile

- HSP - Headset Profile

- SPP - Serial Port Profile

- SAP - SIM Access Profile

- PAN - Personal Area Network Profile

- DUN - Dial-up Network Profile

- PBAP - Phone Book Access Profile

- MAP - Message Access Profile

- OPP - Object Push Profile

Page 12: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

A2DP - Advanced Audio Distribution Profile

- High Quality Audio

- Sink role

- Latest spec version: 1.2

- BlueZ version: 1.2

- Pulseaudio for audio handling

Page 13: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

VDP - Video Distribution Profile

- Implement Video Streaming

- Need A2DP for Audio streaming

- Sink role

- Latest spec version: 1.0

- BlueZ version: none

Page 14: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

AVRCP - Audio/Video Remote Control Profile

- Handles commands like ’play’, ’pause’, ’forward’, etc

- Controller role

- Version 1.3 adds metadata information (title, artist,album, etc)

- Version 1.4 adds file browsing

- BlueZ version: part of 1.0

Page 15: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

HFP - HandsFree Profile

- One of the most important profiles

- Phone calls via Bluetooth

- HanfsFree role

- Use of oFono for call control

- Use Pulseaudio for audio handling

- Latest spec version: 1.6

- BlueZ version: 1.5

- opendialer concept by BMW Car IT

Page 16: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

HFP - HandsFree Profile - Opendialer

Page 17: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

HSP - HeadSet Profile

- Can also be used for phone calls

- Few control commands

- HFP is much better

- Some old phone only supports HSP

- Latest spec version: 1.2

- BlueZ version: none

Page 18: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

SPP - Serial Port Profile

- General purpose profile

- Useful for Proprietary Application

- Both roles

- Latest spec version: 1.1

- BlueZ version: 1.1

Page 19: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

SAP - SIM Access Profile

- Remote access to your’s phone SIM Card

- Client role

- Uses oFono for SIM handling

- Latest spec version 1.1

- BlueZ version: 1.1

- BlueZ and oFono only supports modems with SAPbuilt-in.

Page 20: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

PAN - Personal Area Network Profile

- Share Internet connection

- PANU role

- Use ConnMan for network handling

- Latest spec version: 1.1

- BlueZ version: 1.1

Page 21: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

DUN - Dial-up Network Profile

- Mimic a Dial-up modem over Bluetooth

- Client Role

- PAN is much better than DUN

- Should be deprecated in the future

- Many phones still implement it.

- Need oFono and ConnMan

- Latest spec version: 1.1

- BlueZ version: 1.1 is under development by BMWCar IT

Page 22: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

PBAP - Phone Book Access Profile

- Access Phone Book contacts via Bluetooth

- PCE role

- Latest spec version: 1.1

- BlueZ version: 1.0

- upgrade to version 1.1 is simple

Page 23: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

MAP - Message Access Profile

- Access Email and SMS over Bluetooth

- MCE role

- Latest spec version: 1.0

- BlueZ version: none

Page 24: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

OPP - Object Push Profile

- Tranfer vCard and vCalendar objects

- Both roles

- Latest spec version: 1.2

- BlueZ version: 1.1

- Upgrade to version 1.2 is simple

Page 25: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

OPP - Object Push Profile

- Tranfer vCard and vCalendar objects

- Both roles

- Latest spec version: 1.2

- BlueZ version: 1.1

- Upgrade to version 1.2 is simple

Page 26: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

Bluetooth High Speed

- Add support to use the 802.11 radio

- Increase the transfer bandwidth

- Complete abstraction for the user

- Still under development

Page 27: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

Conclusion

- It’s open source

- Some parts are ready to use

- Once it’s done, it’s done for everyone

- Choose from who to get support from

- It’s cheaper

- Shareable maintanance costs

Page 28: BlueZ - The Bluetooth Stack of your Carkit...ProfilesforyourCar - A2DP-AdvancedAudioDistributionProfile - VDP-VideoDistributionProfile - AVRCP-Audio/VideoRemoteControlProfile -

we’rehere.

thanks!

Gustavo Padovan

[email protected]://padovan.orghttp://bluez.org

http://profusion.mobi