2003.10 电子设计应用
www.eaw.com.cn52
引言
Linux蓝牙协议栈主要有三个:OpenBT、BlueDrekar、BlueZ,其中OpenBT被认为在性价比上超过BlueDrekar和BlueZ,可运行于X86、ARM、MIPS、PowerPC等硬件平台,与任何2.x版本的Linux内核兼容,支持JAVA。本文介绍了OpenBT的
体系结构及其对互操作性的影响,并以客户机/服务器(C/S)实例说明如何在OpenBT上开发蓝牙应用程序。
OpenBT的体系结构
使用不同蓝牙协议栈的设备在通信时往往会遇到互操作性问题。开发者需要了解各种协议栈的体系
结构并考虑其差异。通过分析源
码,本文给出了如图1所示的OpenBT的体系结构。OpenBT包括HCI、L2CAP、SDP、SP、Networking、OpenBT Utility、后台
程序、内核接口8个模块,分别解释如下:
* HCI模块由Driver、Transport子模块构成。Driver负责HCI命令、HCI事件和HCI数据接口;Transport提供USB、RS-232、UART的驱动。
* L2CAP模块由State Handle、Security子模块构成。State Handle负责运行L2CAP的状态机和数据的分段组装;Security负责L2CAP级别安全管理。
* SP模块由RFCOMM、串口仿真子模块组成。RFCOMM负责完成蓝牙RFCOMM协议中所描述的内容,核心是一个RFCOMM状态机;串口仿真负责提供接口。
* SDP模块负责完成蓝牙SDP协议中所描述的内容,在功能上分为XML文件管理、SDP查询处理和SDP响应处理三部分。
* Networking模块由PPP、Modem Emulation、TCS子模块构
Linux蓝牙协议栈OpenBT
及其应用程序开发
■ 西安交通大学电信学院 马毅华 冯恩信
摘 要:本文分析了OpenBT软件体系结构,根据客户机/服务器模型的实例,介绍了OpenBT应用程
序的开发,并提出了一种实用的开发模式。
关键词:蓝牙技术;Linux;OpenBT