论文部分内容阅读
在信息化的当代,通信技术飞速发展,新技术和新标准不断涌现。而在众多的通信领域中,短距离无线通信在当今社会中的应用越来越广泛,作为一种新型的无线数据和语音通信的开放性标准,以保密性高、使用方便、功能强大、价格低廉,功耗低等优点,受到各行各业的青睐。另一方面,Linux操作系统是开放源代码的代表,拥有卓越的功能和性能,而且它日趋成熟,受到巨大的嵌入式设备市场的重视,许多嵌入式应用产品都是采用Linux为系统平台。所以,本课题的所有的设计和实现工作都是建立在Linux系统的基础上。
本课题以蓝牙规范为基础,Linux系统为平台,常见的蓝牙适配器作为实现工具。首先,分析目前Linux用户空间和内核空间数据交换的方式和网络协议编程,在Linux系统的底层上对蓝牙协议栈BlueZ的结构进行分析,重点对蓝牙核心规范的HCI(主机控制接口)的研究,分析蓝牙基带层和主机的通讯机制以及通讯方法。其次,根据HCI协议的工作特性,分成初始化和连接两个阶段,对应为主机控制模块和连接控制模块。详细地介绍了指令分组、事件分组、数据分组的数据格式,并对每种分组类型都给出了一个具体的实例,最后,通过实际操作解析了HCI协议中对蓝牙设备的初始化、查询其它设备、建立链接、数据传输、断开链接的过程,并给出了软件流程图和HCI一般通信流程的实例。
本文在论述过程中,穿插讨论了在开发过程中遇到的困难和及其解决思路,并给出一些关键的程序代码。
实验证明,通过所设计的HCI协议,使得两台PC主机能通过蓝牙设备建立无线连接,查看对方设备信息和传输ACL数据。