Part 4 - bluez 5.44
Bluz蓝牙技术的系统结构分为三大部分:底层硬件模块、中间协议层和应用层。
底层硬件模块:底层由蓝牙芯片实现
中间协议层:主机实现到HCI层。HCI层实现的是蓝牙芯片与主机通讯的方式
BlueZ5.x 架构
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