基于Bluez的应用程序的开发

基于Bluez的应用程序的开发

ID:24144928

大小:564.00 KB

页数:51页

时间:2018-11-12

基于Bluez的应用程序的开发_第1页
基于Bluez的应用程序的开发_第2页
基于Bluez的应用程序的开发_第3页
基于Bluez的应用程序的开发_第4页
基于Bluez的应用程序的开发_第5页
资源描述:

《基于Bluez的应用程序的开发》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Linux下Bluez的编程实现1、蓝牙的各个协议栈的简介21.1、蓝牙技术21.1、蓝牙协议栈21.2、蓝牙技术的特点41.2.1、蓝牙协议栈体系结构41.2.2、蓝牙协议栈低层模块41.2.3、软件模块51.3、蓝牙的一些Profile62、Bluez和D-Bus72.1、Bluez和D-Bus体系结构72.2、D-Bus介绍92.3、Bluez的安全接口132.4、Bluez适配器接口152.5、Bluez配对162.6、Bluez绑定173、Bluez编程实现183.1、蓝牙开发关键技术剖析183.1.1、连接机制分析183.1.2、自

2、动连接183.1.3、时钟设计193.1.4、配对列表管理203.1.5、蓝牙文件传输模式203.2、hci层介绍203.2.1、hci层介绍203.2.2、hci层编程213.3、L2CAP层编程253.3.1、L2CAP协议简介253.3.2、L2CAP编程方法263.4、SDP协议简介274、Openobex284.1、Openobex简介284.2、Openobex与bluez编程实现295、Obexftp325.1、obexftp简介325.2、基于Obexftp的应用程序开发326、参考资料321、蓝牙的各个协议栈的简介1.1、蓝牙

3、技术 蓝牙(Bluetooth)技术是由Ericsson、IBM、Intel、Nokia和Toshiba公司于1998年5月共同提出开发的,并联合成立了蓝牙特殊利益小组(SIG),负责开发无线协议规范并设定交互操作的需求。其本质是设备间的无线链接,意在于代替有线电缆。1.1、蓝牙协议栈协议栈是指一组协议的集合,举个例子,把大象装到冰箱里,总共要3步。每步就是一个协议,3步组成一个协议栈。把应用层数据包发出去,也要好几步,TCP/UDP头,IP头,ether头,每步也是一个协议。另外每层都有一些特殊的协议。所有这些统称协议栈。蓝牙协议栈就是SIG

4、定义的一组协议的规范,目标是允许遵循规范的蓝牙应用能够进行相互间操作,如图1.1蓝牙协议栈图1.1蓝牙协议栈在蓝牙协议体系中,底层、中间层、应用层按序排列构成了蓝牙协议栈,如左图所示。底层(硬件层)和中间协议层(软件层)之间的接口使用主机控制器接口(HCI)。HCI是软硬件之间必不可少的接口,其功能是解释并传递两层之间的消息和数据。软件通过HCI调用底层LMP/BB和RF等硬件。HCI以下的功能由蓝牙设备实施;HCI以上的功能由软件运行,在主机上实现。HCI对于上、下两层数据的传输都是透明的。在蓝牙协议栈中,最主要的是蓝牙核心协议,包括基带协议

5、(BP)、链路管理协议(LMP)、链接控制和适配协议(L2CAP)、服务发现协议(SDP)等。蓝牙设备基本上都需要核心协议,其他协议则按蓝牙设备的需要而选定。1.2、蓝牙技术的特点1.2.1、蓝牙协议栈体系结构整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大部分。链路管理层(LMP)、基带层(BBP)和蓝牙无线电信道构成蓝牙的底层模块。BBP层负责跳频和蓝牙数据及信息帧的传输。LMP层:负责连接的建立和拆除以及链路的安全和控制,它们为上层软件模块提供了不同的访问人口,但是两个模块接口之间的消息和数据传递必须通过蓝牙主机控制器接

6、口的解释才能进行。也就是说,中间协议层包括逻辑链路控制与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TCS)。L2CAP:完成数据拆装、服务质量控制、协议复用和组提取等功能,是其他上层协议实现的基础,因此也是蓝牙协议栈的核心部分。SDP:为上层应用程序提供一种机制来发现网络中可用的服务及其特性。在蓝牙协议栈的最上部是高端应用层,它对应于各种应用模型的剖面,是剖面的一部分。目前定义了13种剖面。1.2.2、蓝牙协议栈低层模块蓝牙的低层模块是蓝牙技术的核心,是任何蓝牙设备都必须包括的部分。  蓝牙

7、工作在2.4GHZ的ISM频段。采用了蓝牙结束的设备讲能够提供高达720kbit/s的数据交换速率。  蓝牙支持电路交换和分组交换两种技术,分别定义了两种链路类型,即面向连接的同步链路(SCO)和面向无连接的异步链路(ACL)。  为了在很低的功率状态下也能使蓝牙设备处于连接状态,蓝牙规定了三种节能状态,即停等(Park)状态、保持(Hold)状态和呼吸(Sniff)状态。这几种工作模式按照节能效率以升序排依次是:Sniff模式、Hold模式、Park模式。  蓝牙采用三种纠错方案:1/3前向纠错(FEC)、2/3前向纠错和自动重发(ARQ)。

8、前向纠错的目的是减少重发的可能性,但同时也增加了额外开销。然而在一个合理的无错误率环境中,多余的投标会减少输出,故分组定义的本身也保持灵活的方式,因此

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。