bluez-1.jpg

Bluz蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和应用层。

底层硬件模块:底层由蓝牙芯片实现

中间协议层:主机实现到HCI层。HCI层实现的是蓝牙芯片与主机通讯的方式

 

Pulseaudio-diagram.png

 

 

bluez544.png

 

BlueZ5.x 架构

bluez5x-2.png

Bluez5的分为kernel和user space 两部分。 
BlueZ的kernel模块从Linux 2.6内核开始就已经包含在linux内核中。 
kernel 模块包括: 
(1)底层协议(L2CAP,RFCOMM,BNEP,HIDP等) 
(2)安全性(SSP,SMP) 
(3)硬件驱动程序 
(4)提供给user space的基于socket的接口 
   1)数据接口(L2CAP,RFCOMM,SCO,HCI) 
   2)控制接口(MGMT,HCl,BNEP,HIDP)

 

user space模块包括: 
(1)bluetoothd 
   1)是BlueZ的中央守护进程 
   2)提供用于UI和其他子系统的D-Bus接口 
   3)减少暴露底层细节 
   4)可以通过插件扩展(例如通过neard支持NFC,通过sixaxis支持DS3) 
(2)obexd 
   1)是OBEX协议的守护进程 
   2)提供用于UI的D-Bus接口 
   3)具有与bluetoothd类似的架构 
(3)工具(tools) 
   1)bluetoothctl - bluetooth命令行测试工具 
   2)obexctl - obex命令行测试工具 
   3)btmon - HCl信息跟踪 
   4)其他用于测试,开发和跟踪的命令行工具集 
(4)上层协议 
   1)Audio and media (A2DP, AVRCP) 
   2)Telephony (HFP, HSP) 
   3)Networking (PAN, 6LoWPAN) 
   4)Input device (HID, HoG) 
   5)OBEX (FTP, OPP, MAP, PBAP) 
   6)Others

 

Comments


Comments are closed