版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文)中文题目:蓝牙终端设备与voip软件智能协同工作的设计与实现英文题目: the design and implement of the intelligent collaboration between bluetooth terminal and voip software 学 院:计算机与信息技术学院专 业:计算机科学与技术学生姓名:学 号:指导教师:20xx 年 06 月 11 日51北京交通大学毕业设计摘要 第 1 页摘 要蓝牙是无线数据和语音传输的开放式标准,它将各种通信设备、计算机及其终端设备、各种数字数据系统、甚至家用电器采用无线方式联接起来。voip是一种通过
2、ip网络传出语音信息的技术。蓝牙和voip是当前蓬勃发展的两个技术。蓝牙为用户提供了一种短距离的无线语音和数据传输的方式。而voip为用户提供了一种远距离的廉价的语音通讯的方式。如果能将两者有机地结合起来,就能为用户提供一种全新的无线远距离通讯的廉洁方案。在本设计中,利用蓝牙耳机作为蓝牙无线设备,skype作为voip软件,用一种智能的方式将两者结合起来,实现了上述方案的一个原型demo。具体的实现模式是将一个蓝牙耳机与一个skype帐号进行绑定,当启动一个蓝牙耳机时自动启动并登陆skype。并且能够通过蓝牙耳机对skype进行基本的操作。这种方式,抛开了鼠标键盘这种传统的启动服务的方式,创新
3、地使用蓝牙耳机这个pc配件来启动pc端的应用服务。并且为用户提供了一种无线的voip体验,拥有广阔的发展前景。关键词:蓝牙 voip 蓝牙耳机 skype 智能 协同北京交通大学毕业设计abstract 第 1 页abstractbluetooth is a public standard of data and voice transmission. it connects all kinds of communicate devices, computer and its terminals, digital systems and even family electronic devic
4、es together through the mode of wireless connection. voip is a technology which provides the function of voice transmission through the ip network.bluetooth and voip are both rapidly developing technologies. the bluetooth provides users a way of voice and data transmission wirelessly in short distan
5、ce. and the voip provides users a way of voice communication in remote distance, whose expenditure is very low. if we can find a way to combine them smartly, then we will create a new way of remote wireless communication with low expenditure.in this paper, we will use the bluetooth headset as a blue
6、tooth terminal, and the skype as a voip software. an intelligent method is used to combine them to reach the aim referred before by developing a prototype demo. the detail is binding a bluetooth headset with a specific skype account. when the bluetooth headset starts, the skype will login automatica
7、lly. at the same time user can manipulate the skype through the headset.this way, which discards the traditional way of starting services on pc using the mouse and keyboard, using a bluetooth headset, a pc accessory, to start services on pc is initial. and this mode gives the user an experience of w
8、ireless voip, which will have a wonderful future.key words:bluetooth, voip, bluetooth headset, skype, intelligent, collaboration北京交通大学毕业设计目录 第 2 页目 录第一章 绪论11.1 背景11.2 功能需求21.3 应用前景41.4 论文的组织与安排4第二章 蓝牙与voip概述62.1 蓝牙简介62.2 蓝牙的技术优势82.3 蓝牙的工作原理简介92.4 蓝牙配置文件概述92.5 蓝牙协议栈102.6 voip简介122.7 voip的现实需求122.8 vo
9、ip的发展前景13第三章 开发环境153.1 蓝牙协议栈153.1.1 ivt协议栈简介153.1.2 ivt协议栈sdk163.2 voip软件173.2.1 skype简介183.2.2 skype public api183.3 开发语言与开发环境21第四章 需求分析224.1 总体目标224.2 蓝牙端224.3 skype端224.4 控制的实现23第五章 headsky的设计与实现245.1 总体模块设计255.1.1 初始化265.1.2 蓝牙的监听285.1.3 蓝牙耳机的匹配295.1.4 蓝牙服务的搜索与连接295.1.5 skype的启动、登陆与退出305.1.6 sky
10、pe api的连接、认证与控制305.2 详细设计315.2.1 初始化315.2.2 蓝牙的监听345.2.3 蓝牙耳机的匹配345.2.4 蓝牙服务的搜索与连接355.2.5 skype的启动、登录与退出365.2.6 skype api的连接、认证与控制395.3 设计的实现40第六章 工作总结和展望446.1 总结446.2 展望44参考文献45外文原文47中文翻译58毕业设计正文 第 44 页第一章 绪论1.1 背景人们之间的通讯方式,经历了一个漫长的发展时期,从最初的口头传送,发展到书信、电报、电话,一直到今天的移动电话、互联网上的e-mail、即时通讯等等,使人们的生活变得越来越
11、便捷。但同时,普通电话的昂贵的资费,尤其是长途通话的高昂的话费,也给人们带来了不小的经济负担。寻找一种既便捷又实惠的语音通讯方式成为了人们一直以来追求的目标。在互联网发展普及的今天,通过互联网来承载并发送语音信息是实现这个目标的不二选择。于是,voip就这么应运而生了。voip,即voice over ip,是一种基于ip网络进行语音传输的机制,即“ip承载语音技术”,因此voip电话又常被通俗地称为“网络电话”。和传统的基于电路交换机制的公众语音通信网络(pstn)相比,ip网络最大的转变是在传输层使用了分组交换的机制,由此带来的好处是使带宽更高,并且带宽的使用效率也更高了。voip的核心是
12、软件,完全依靠软件实现业务功能;而原电信业务主要依靠硬件和电路实现功能。正是由于voip的这些特点,使得ip电话相比于普通的电话,显得更加便捷并且实惠,用户不必非得有一根电话线才能打电话,只要能够接入互联网,不管接入方式如何,都能够享受基于ip的服务,包括voip。同时由于使用互联网传输语音数据的费用要远远低于通过pstn来传输的费用,ip电话的通讯费用也就自然远比普通电话要来得便宜实惠。而且,因为voip的核心是软件,这也就说,人们不必非得有一个电话机,只要有一台电脑,并且安装上相应的voip软件就能通过互联网与千里之外的朋友进行语音通讯了。所以,ip电话的发展越来越迅速,其规模也越来越大。
13、但是,ip电话也有它不方便的地方。设想一下,当你每次打算使用电脑来给远方的朋友打一个电话的时候,必须先给电脑接上耳麦,打开voip软件并登陆,然后在打电话的过程中还要受耳麦的线长的限制,不能随意走动,所有这些不便,虽然都是一些小问题,但若能使整个过程更加智能并且解除对用户活动范围的束缚,无疑在用户体验上将有巨大的改进。本设计也正是基于这个目的而做的。具体的方式就是使用现如今也非常流行并且发展迅猛的蓝牙技术。许多蓝牙终端设备提供了无线语音通信的功能,并能够进行简单的控制,比如蓝牙耳机。若能将蓝牙耳机的无线语音通信功能与voip软件在远距离语音通讯上的优势相结合,那么用户在享受ip电话提供的实惠的
14、同时,也必将得到由蓝牙带来的无拘无束的用户体验。使用蓝牙的无线通信的特点,将蓝牙终端设备与voip软件结合起来,并使整个过程更加智能化人性化是本设计的期望目标。1.2 功能需求将蓝牙终端设备与voip软件关联起来,提供一种智能的协同工作模式。在具体实现方案的时候,蓝牙终端设备使用蓝牙耳机,voip软件使用skype。实现的智能协同工作场景最主要的特点就是需要做到尽可能的智能化、人性化。智能协同工作的场景可以描述如下:用户拥有一个蓝牙耳机和一个skype帐号。用户首先在pc端启动监控程序,该监控程序将自动启动蓝牙协议栈,并且进入监听状态,等待蓝牙耳机的到来。当用户打开蓝牙耳机的时候,pc端的监控
15、程序能够主动地发现有一个新的蓝牙耳机设备进入了有效区域,并且自动识别该设备的mac地址、设备名称以及能够提供的服务。若该蓝牙耳机是初次使用,则会要求用户为该特定的蓝牙耳机设置与之关联的特定的skype的帐号和密码。当用户设置完成后,就完成了特定蓝牙耳机与特定skype帐号的绑定,系统将记录该绑定信息。若该蓝牙耳机已经完成了与skype帐号的绑定,则在发现该蓝牙耳机的服务可用之后,将自动启动skype软件,并完成相应帐号的自动登录。同时,在蓝牙耳机这一端,也将自动完成一系列过程,包括与蓝牙耳机的配对、服务的发现、服务的刷新以及服务的连接等。当蓝牙耳机关闭或者离开有效服务区的时候,相应的skype
16、也会自动地退出。不同的蓝牙耳机可以对应不同的skype帐号。这样,就实现了蓝牙终端设备与voip软件的智能关联。当用户需要使用voip服务的时候,只需要打开相应的蓝牙耳机即可,并且可以同时享受无线带来的自在体验。除了完成蓝牙终端设备与voip软件的智能关联,需要完成的另一点就是它们之间的的协同工作。在蓝牙耳机与skype关联之后,若用户被呼叫,则将呼叫音转移到蓝牙耳机,用户可以不必操作鼠标键盘,只要通过蓝牙耳机上的简易按钮就能控制来电的接听与拒听:按一下按钮则接听来电,连按两下按钮则拒听来电。另外,还可以通过蓝牙耳机来拨打最近拨打的最后一个电话,即在空闲状态下,连按两下蓝牙耳机上的按钮就能向最
17、近最后一次呼叫过的联系人发出呼叫。以上描述的功能需求可简单用图1.1表示:图1.1 应用模式如图1.1所示,两台电脑之间通过internet相连,蓝牙耳机与电脑之间通过蓝牙相连。然后,将蓝牙耳机与instant messanger即skype相关联,就可以实现通过蓝牙耳机与好友进行无线的聊天了。1.3 应用前景在信息高度发达,通讯手段越来越灵活的今天,人们的生活节奏也越来越快,对移动和便捷的需求也越来越高。手机和笔记本电脑作为移动和便捷的代表,给人们的生活带来了巨大的便利。若能够将手机的无线语音通讯功能和笔记本电脑的无线信息通信能力相结合,必将给人们带来更加自然便捷的通讯方式。本设计的研究,作
18、为联想研究院的一个研究课题,试图探索一种蓝牙终端设备与voip软件之间的智能协同共工作的模式,并以蓝牙耳机与skype为原型,建立它们之间协同工作的demo。若该工作模式得到认可,在将来的联想的笔记本上,都有可能预装上该智能关联协同软件和相应的蓝牙协议栈,并将蓝牙耳机作为笔记本的一个标准配件与笔记本一同出售。到时候,蓝牙耳机将不仅仅是蓝牙耳机,它甚至可能成为一个简易的电脑遥控器,用于控制所有与音频相关的应用。1.4 论文的组织与安排第一章,绪论。对本设计中涉及到的蓝牙技术以及voip的背景,本设计功能需求与应用前景等进行了简要的说明。第二章,蓝牙与voip概述。介绍了蓝牙和voip的基本知识。
19、描述了蓝牙的技术优势和基本的工作原理。并对蓝牙配置文件以及蓝牙协议栈等知识进行了简要的介绍。并对当前voip的发展及其前景进行了说明。第三章,开发环境。对进行本设计需要的开发环境,包括用到的蓝牙协议栈、voip软件以及开发使用的语言和ide进行了说明。第四章,需求分析。对本设计的总体功能以及需要达到的最终目标进行了阐述。第五章,headsky的设计与实现。详细介绍了本设计的设计过程和实现细节。并对设计中用到的一些关键技术进行了详细的说明。第六章,工作总结和展望。对本设计作了一个简要的总结和概括。并对进一步的工作进行了展望。第二章 蓝牙与voip概述2.1 蓝牙简介在当今的信息时代,计算机设备和
20、通讯设备数量庞大并且还在迅猛增长。人们在考虑单个设备处理能力的同时,也在思考着如何将一个设备与另外一个设备链接起来,因为设备互连之后带来的好处将是无可限量的。将设备互连有许多方式,通常的做法是在设备之间连接电缆,比如串口线、并口线、网线等。但是当设备的数量非常庞大时,用电缆连接的方式将会变得非常复杂,在各个设备互连的时候,都需要各自特定的电缆和相应的驱动程序。另一种方式是无线连接。无线连接将为大量设备提供有效的、廉价的无线连接方案,人们可以方便的将计算机、外围设备等各种产品连接起来,并可以通过无线局域网(wlan)与internet连接,实现多媒体信息的无线传输。随着工程师们开发速度加快,无线
21、世界也在不断地成长,更多强大的技术让我们摆脱电线的束缚,更方便、更舒适和更高效。从短距离到远距离,无线世界在我们的生活中已初具雏形。bluetooth 无线技术是众多无线技术中的一种,但它应用广泛。蓝牙的英文名是bluetooth。bluetooth原为欧洲中世纪丹麦国王harald ii的名字,他为统一四分五裂的瑞典、芬兰、丹麦立下了不朽的功绩。所以,采用bluetooth命名希望使该技术成为全球统一的标准,蕴含一统天下的意义。蓝牙技术是很多大公司共同努力的结果。1998年,由爱立信、ibm、intel、诺基亚和东芝等大公司联合推出了一项最新的无线网络技术,即蓝牙技术。随后,这五家公司组建了
22、一个特殊组织sig(special interest group)来负责此项技术的开发。1999年7月,推出蓝牙协议的1.0版,该蓝牙协议的发布,将其推向了应用阶段。自1999年发布bluetooth规格以来,总共有超过 4000 家公司成为 bluetooth 特别兴趣小组 (sig) 的成员。随着研究的进一步深入和应用需求的进一步拓展,sig于2001年2月发布了蓝牙规范1.1版,2003年11月发布了蓝牙规范1.2版,2004年11月发布了蓝牙规范2.0版,这是目前蓝牙规范的最新版。蓝牙技术作为一种无线数据与语音通信的开放性标准,其目标是实现简单、便宜,低功率的无线互连,全球通用,它属于
23、一种低成本、短距离的无线电连接技术,它的无线收发器可以做在很小的一块芯片上,可以方便地嵌入到各类便携式设备中。蓝牙技术基于无线电缆的概念,实现了设备间的无线连接和接入数据网的功能,具有外围设备接口,可以组成一个特定的个人网络。在bluetooth中,互连设备之间的距离可达到10m,增大功率可以达到100m。同时,只要满足一定的要求,就可以在bluetooth技术的支持下运行各种应用程序。bluetooth是一种开放的技术,不同的厂商的设备都可以利用bluetooth技术互连在一起。蓝牙采用跳频式展频技术(fhss:frequency hopping spread spectrum),跳跃的速率
24、为每秒1600次。蓝牙组件设计的传输功率为1mw(0db)或100mw(20db)。蓝牙共有79个通道,每个通道传输速率定为1mbps(未来将达2mbps),实际速率依传输格式不同而有所差异,有效速率最高可达721kbps。蓝牙的传输距离在1mw发射功率时约为10米,若加大功率至100mw则可达到50至100米。当业务量减小或停止时,蓝牙设备可以进入低功率工作模式。蓝牙设备组网时最多可以有256个蓝牙单元设备连接起来组成微微网(piconet),其中一个主设备单元和7个从设备单元处于工作状态,而其他设备单元则处于待机模式。微微网络可以重叠交叉使用,从设备单元可以共享。由多个相互重叠的微微网可以
25、组成分布网络(scatternert)。蓝牙可以提供电路交换和分组交换两种技术,以提供不同场合的应用。在同步工作状态下,一个组数据包可以占用一个或多个时隙,最多可达5个蓝牙可以同时在异步条件下支持话音和数据传输。2.2 蓝牙的技术优势bluetooth 无线技术是在两个设备间进行无线短距离通信的最简单、最便捷的方法。它广泛应用于世界各地,可以无线连接手机、便携式计算机、汽车、立体声耳机、mp3 播放器等多种设备。由于有了“配置文件”这一独特概念,bluetooth 产品不再需要安装驱动程序软件。此技术现已推出第四版规格,并在保持其固有优势的基础上继续发展小型化无线电、低功率、低成本、内置安全性
26、、稳固、易于使用并具有即时联网功能。bluetooth 无线技术是现在市场上唯一得到认可的主导短距离无线技术,2005 年底,其周出货量已超过五百万件,已安装基站数超过 5 亿个。许多行业的制造商都积极地在其产品中实施此技术,以减少使用零乱的电线,实现无缝连接、流传输立体声,传输数据或进行语音通信。bluetooth 技术在 2.4 ghz 波段运行,该波段是一种无需申请许可证的工业、科技、医学 (ism) 无线电波段。正因如此,使用 bluetooth 技术不需要支付任何费用。蓝牙系统采用gfsk调制,抗信号衰落的性能较好。采用快跳频和短包技术以减少同频干扰,保证传输的可靠性。bluetoo
27、th 技术得到了空前广泛的应用,集成该技术的产品从手机、汽车到医疗设备,使用该技术的用户从消费者、工业市场到企业等等,不一而足。低功耗,小体积以及低成本的芯片解决方案使得 bluetooth 技术甚至可以应用于极微小的设备中。bluetooth 无线技术是当今市场上支持范围最广泛,功能最丰富且安全的无线标准。全球范围内的资格认证程序可以测试成员的产品是否符合标准。在安全方面,从一开始,bluetooth 技术的设计中就融入了安全理念。由于它在开放的 2.4 ghz ism 波段上全球通用,因此一开始就构建入了稳固的特性。通过适应跳频 (afh),信号不断“跳跃”,从而限制了来自其它信号的干扰。
28、另外,bluetooth 技术还内置有安全全特性,如 128 位加密和 pin 码验证。2.3 蓝牙的工作原理简介bluetooth 核心系统包括射频收发器、基带及协议堆栈。该系统可以提供设备连接服务,并支持在这些设备之间交换各种类别的数据。bluetooth 核心系统覆盖 4 个最低层及其关联协议(后者由 bluetooth 规格定义)以及一个通用服务层协议服务发现协议 (sdp),所有的配置文件要求则由通用访问配置文件 (gap) 指定。完整的 bluetooth 应用要求多项附加服务和较高层协议,这些在 bluetooth 规格中定义。规格对所有设备间操作定义了标准交互方式,blueto
29、oth 设备根据 bluetooth 规格交换协议信令。bluetooth 核心系统协议包括射频 (rf) 协议、链路控制 (lc) 协议、链路管理器 (lm) 协议和逻辑链路控制和适配协议 (l2cap),bluetooth 规格后续部分对所有这些协议进行了完整的定义。另外,服务发现协议 (sdp) 是所有 bluetooth 应用必备的服务层协议。2.4 蓝牙配置文件概述为了使用 bluetooth 无线技术,设备必须能够翻译特定 bluetooth 配置文件。配置文件定义了可能的应用。bluetooth 配置文件表达了一般行为,bluetooth 设备可以通过这些行为与其它设备进行通信。
30、bluetooth 技术定义了广泛的配置文件,描述了许多不同类型的使用案例。按照 bluetooth 规格中提供的指导,开发商可以创建应用程序以与其它符合 bluetooth 规格的设备协同工作。根据应用的不同,会对应有各种不同的配置文件,主要有gap(generic access profile)、sdp(service discovery profile)、sdap(service discovery application profile)、spp(serial port profile)、hsp(headset profile)、hfp(hands-free profile)、fax(
31、fax profile)、ftp(file transfer profile)等。在本设计的应用模式下,主要需要用到的配置文件有gap、sdp、sdap、spp、hsp、hfp等。其中,与本设计联系最直接的是hsp和hfp。hsp 描述了 bluetooth 耳机如何与计算机或其它 bluetooth 设备(如手机)通信。连接和配置好后,耳机可以作为远程设备的音频输入和输出接口。hsp 依赖于 sco 负载音频,依赖于 gsm 07.07 的 at 命令子集来进行最低控制,包括响铃、呼叫应答、挂断及音量调整。hfp 描述了网关设备如何用于供免提设备拨打和接听呼叫。典型配置如汽车使用手机作为网关
32、设备。在车内,立体声系统用于电话音频,而车内安装的麦克风则用于发送输出音频。hfp 还可用于个人计算机在家中或办公环境中作为手机扬声器的情况。hfp 使用 sco 负载单声道 pcm 音频信道。2.5 蓝牙协议栈蓝牙协议栈是一个独立于操作系统的软件,不与任何操作系统捆绑,它符合已经制定好的蓝牙规范。蓝牙规范包括两部分:第一部分为核心部分,用以规定诸如射频、基带、连接管理、业务发现、传输层以及与不同通信协议间的互用、互操作性等组件;第二部分为应用规范(profile)部分,用以规定不同蓝牙应用所需的协议和过程。分别完成数据流的过滤和传输、跳频和数据帧传输、连接的建立和释放、链路的控制、数据的拆装
33、、业务质量(qos)、协议的复用和分用等功能。蓝牙协议规范的目标是允许遵循规范的应用能够进行相互间操作。为了实现该互操作性,在远程设备上的对应应用程序必须在同一协议栈上运行。不同应用可运行于不同协议栈。但是,每一协议栈都使用同一公共蓝牙数据链路和物理层。图2.1是互操作应用支持的蓝牙应用模型之上的完整蓝牙协议栈。图2.1 蓝牙协议栈但并不是所有应用程序都利用全部协议。应用程序往往只利用协议栈中的某些部分。图2.1描述:当需要无线传输有效载荷数据时,利用其他协议服务过程中的协议间关系,这些协议应具有与其他协议之间的关联。例如,一些协议(如l2cap、tcs二进制)当需要控制链路管理器时,可以使用
34、lmp(链路管理器协议)。如图2.1所示,整个蓝牙协议栈包括蓝牙核心协议(lmp和l2cap)和蓝牙非核心协议(如对象交换协议obex和用户数据报协议udp)。设计协议和协议栈的主要原则是尽可能利用现有的各种高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互通性,充分利用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的的开放性保证了设备制造商可自由地选用其专利协议或常用的公共协议,在蓝牙技术规范基础上开发新的应用。2.6 voip简介voip是 voice over internet protocol的缩写,指的是将模拟的声音讯号经过压缩与封包之后,以数据封包的形式在ip 网络的环境进行语
35、音讯号的传输,通俗来说也就是互联网电话、网络电话或者简称ip电话的意思。voip技术是目前互联网应用领域的一个热门话题。voip的基本原理是:通过语音的压缩算法对语音数据编码进行压缩处理,然后把这些语音数据按 tcp/ip 标准进行打包,经过 ip 网络把数据包送至接收地,再把这些语音数据包串起来,经过解压处理后,恢复成原来的语音信号,从而达到由互联网传送语音的目的。ip 电话的核心与关键设备是 ip 网关,它把各地区电话区号映射为相应的地区网关 ip 地址。这些信息存放在一个数据库中,数据接续处理软件将完成呼叫处理、数字语音打包、路由管理等功能。在用户拨打长途电话时,网关根据电话区号数据库资
36、料,确定相应网关的 ip 地址,并将此 ip 地址加入 ip 数据包中,同时选择最佳路由,以减少传输时延,ip 数据包经 internet 到达目的地的网关。在一些 internet 尚未延伸到或暂时未设立网关的地区,可设置路由,由最近的网关通过长途电话网转接,实现通信业务。2.7 voip的现实需求当前的voip业务,往往是通过技术手段,将网络电话pc端的语音转移到其服务器端,然后再通过软路由技术将其转移到传统电话服务商提供的享受国际或国内长途电话资费优惠的号码上呼出。因此,voip相比传统电话业务,一直以来保持着较低的费用,这是促使voip市场发展的重要因素。同时,宽带网络的发展也是推进v
37、oip普及的重要因素。 去年9月,信产部开始尝试对网络电话进行试点,中国电信在广东深圳、江西上饶试点,中国网通则在吉林长春、山东泰安进行试点。 毕竟,无论是企业还是个人,希望大幅度降低通讯成本是无可指责的。从这个角度来说,网络电话早晚会获得正式的名分,堂堂正正地进入我们的生活。而voip无疑是最好的选择。在终端的应用方面,对消费者而言,或者对中小企业用户来说,绝对是举双手支持的,毕竟通过网络电话,成本能降很多很多。企业渴望将语音基础设施现代化,voip是一个很好的具有前瞻性的切入点已成为大家的共识。作为这一进程的结果,企业网也将成为voip通信应用的第一个突破点。 而许多运营商出于拓展大客户的
38、角度考虑,往往把ip vpn当作一项打包增值服务赠送给企业用户,这也成功规避了企业应用voip的监管风险,使之大规模应用成为可能。2.8 voip的发展前景目前,ip技术一日千里,voip在全球范围内大放异彩,很长一段时间以来,voip一直以节约通信费用而受到青睐,大有全面替代传统电信网络的趋势。然而随着电信资费的不断降低,voip所带来的节省话费的卖点越来越显得苍白无力。在中国,很多的产品和技术还仅仅停留在voice over ip的层面上。而从voip的发展趋势看,应该不仅仅是语音的一种承载方式,而是语音及所有上层应用的载体,伴随着语音数字化和网络化,提供应用及融合的方式更灵活、融合更容易
39、、成本更低,成为人与人的交流提供更宽广的平台。 现在的voip ip融合通信平台已能够为使用者提供个人化的语音、会议、传真,每个人都可以按自己的需求来定义它,并且可以与所用的业务系统融合,保证随时随地都能与客户保持顺畅的沟通。销售人员可以通过它找到最合时宜的技术协助工作,客户可以通过电话得到公司全部人员的支持,而给他提供服务和支持的人可能在全球任何地方。通信平台、人、部门、信息系统、呼叫中心都可以有机地结合在一起,而不再是一个个孤岛,人与人之间、人机之间、系统与系统之间可以更好地协作。除此以外,在建设、维护方面,人们只需要面对一个简明的图形界面,而不需要再去关心网络层、应用层、通信网、ip网、
40、呼叫中心等不同层次、不同子系统的配置、管理、融合的问题。当然采用voip也存在一些障碍,如预算缺失(40%)、对现有供应商的满足(38%)、室内资源的缺失(33%)、无法了解市场上现有的方案(18%)。尽管存在上述障碍,仍有超过半数以上的受访者表示他们会在近期考虑voip方案。36%的受访者关注安全问题,这些人表示只有在严密的安全措施的保证下才会考虑voip方案。第三章 开发环境3.1 蓝牙协议栈蓝牙规范的核心部分就是协议栈。这个协议栈允许设备定位、互相连接并彼此交换数据,从而在蓝牙设备之间实现互操作性的交互式应用。目前,使用的比较多的蓝牙协议栈主要有微软sp2自带的蓝牙协议栈、ivt blu
41、etooth stack、widcomm bluetooth stack、toshiba bluetooth stack等。由于微软自带的蓝牙协议栈只能支持一些简单的配置文件,并不支持headset profile或者hands-free profile,所以本人选择的是ivt的蓝牙协议栈。3.1.1 ivt协议栈简介ivt的协议栈软件是ivt bluesoleil。基于windows平台的bluesoleil是一个将蓝牙应用程序应用于windows操作系统并且完全符合蓝牙sig组织最新规范的应用软件。它可以实现无线的组成网络并且传递信息。它还能够为pc和移动电话、耳机、pdas、ap、打印机
42、、数码相机和计算机相关外围设备等提供快速稳定的无线连接。bluesoleil支持包含在usb、uart、pcmcia和compact flash中的10余种芯片和不同的hci接口。之所以选择ivt作为本人做设计时使用的蓝牙协议栈主要有以下几个原因:l 通用性强。ivt是在互通性和一致性测试技术方面的佼佼者。ivt的blueanalyzer和bluesoleil-pts广泛被许多的蓝牙硬件厂商和测试企业所采用。bluesoleil软件完全按照蓝牙测试规范设计并且已经成功的通过许多蓝牙产品的协同测试。l 拥有一个voip版本的bluesoleil。ivt协议栈软件除了拥有std版的bluesole
43、il外还有一个更适合本人本设计使用的voip版。voip版与标准版相比,额外实现了hands-free profile,并且内嵌了与skype协同工作的功能,使用该协议栈软件,能够通过蓝牙耳机接听和拨打skype电话,正是本设计所需实现的功能的一部分。l 开放的sdk。bluesoleil sdk提供了一些非常通用并且实用的基础函数,这些函数通过虚拟串口来进行蓝牙操作和数据的传输。在设计过程中,通过学习该sdk提供的一些操作,可以不必关心蓝牙底层的具体操作实现过程,而只需调用相应的sdk函数即可实现对蓝牙设备的控制管理。3.1.2 ivt协议栈sdkbluesoleil api是ivt提供给开
44、发者的一套通过ivt蓝牙协议栈来控制基本的蓝牙操作的api。用户在安装了ivt bluesoleil后,该api就会以dll的方式提供给用户,用户只需要通过相应的动态链接库来调用相应的函数即可。用户利用apis,就能够进行标准的蓝牙操作,包括搜寻蓝牙设备、识别蓝牙设备、查询蓝牙服务以及连接/断开蓝牙服务等。该动态链接库文件是btfunc.dll。该套api是基于windows的,并且在用户的环境中,必须安装有bluesoleil 1.6.0或者更高版本。为了能够使用蓝牙,用户还必须拥有一个与bluesoleil兼容的蓝牙适配器。另外,为了能够使用btfunc.dll当中的函数,还必须额外的从i
45、vt下载最新的两个与api相关的头文件,它们分别是bt_ui.h和bt_def.h。bt_ui.h当中定义了在整套api中可能会用到的常量、数据结构以及函数声明等。在bt_def.h中,定义了所有蓝牙设备的类型,蓝牙设备可能提供的所有服务的类型等。在利用ivt bluesoleil api的时候,一定要将这两个头文件包含进来。在ivt提供的api中,拥有众多的数据结构和函数。与程序密切相关的主要有以下一些结构和函数:bluetooth_device_info结构提供了一个蓝牙设备的基本信息。general_connect_info结构体包含了一个活动的连接的一般信息。general_servi
46、ce_info包含了基本服务的信息。bt_initializelibrary函数用于完成蓝牙协议栈的初始化,为后续的蓝牙操作函数的调用奠定基础。bt_uninitializelibrary函数在系统退出的时候完成蓝牙函数库的卸载。bt_isbluesoleilstarted函数用于判断bluesoleil是否已经启动。bt_isbluetoothready函数检查当前蓝牙是否可用。bt_registercallback函数为每一个不同的蓝牙事件注册一个不同的由程序定义的回调函数。在这里,一旦发生了某一事件,比如发现蓝牙设备、蓝牙设备状态改变等,就将调用相应的被注册的回调函数,用于完成相应的操作
47、。bt_inquiredevices函数将搜寻周围的蓝牙设备或者从bluesoleil的历史记录里获取已经配对的蓝牙设备。bt_pairdevice函数用来与远端的蓝牙设备进行配对。bt_browseservices函数用于显示指定蓝牙设备的所有服务,或从指定蓝牙设备中搜寻特定的服务。bt_connectservice函数用来连接指定蓝牙设备上的指定的服务。更详细的对ivt bluetooth sdk的说明参见相关技术文档。3.2 voip软件当前比较流行且具有voip功能的软件有skype、etalk等。不具有拨打普通电话但也能够通过互联网进行语音通信的还有更多,比较流行的可以有msn、qq
48、等。本设计选择的是skype作为voip软件。3.2.1 skype简介skype是一个语音通讯软件,通过它能够让你与世界各地的其他使用skype的用户进行免费语音通讯。尽管该通话是免费的,它的通话质量却一如既往的优秀。如果你和你的朋友都安装了视频插件,你们就可以通过skype进行视频聊天。你甚至可以使用skype,向普通的固定电话和移动电话发出呼叫,不管你呼叫的朋友身在世界的何地,通话费用都非常的低廉。选择skype的原因如下:l 优秀的通话质量。由于skype采用先进的点对点的模式,并使用了私有的加密解密算法,使得skype即使在不太理想的网络环境下,仍能够保持良好的通话质量。l 庞大的用
49、户群。skype在全球范围的注册用户达到了1.3亿,仅中国内地的注册用户数就超过了2500万,全球同时在线用户数突破了800万。如此庞大的规模,使得在其基础上进行的设计开发拥有庞大的应用潜力。l skype public api。skype提供了一套开放的api,用户可以根据自己的需要,利用该api对skype进行二次开发,定制自己基于skype的应用程序。本设计也正是利用skype的此项特点。3.2.2 skype public api在安装了skype之后,就可以使用skype public api了。应用程序与skype之间通过互相发送消息来进行通信与控制。skype public ap
50、i提供了一种在客户端应用程序通过简单的字符串形式的命令来控制skype的方式。在应用程序试图控制skype之前,先向skype发出控制请求,然后skype将弹出一个带有应用程序名称的对话框来对应用程序进行认证,通过认证后,应用程序就可以通过向skype发送命令来控制skype的行为了。应用程序若想要通过skype public api来控制skype必须首先发起一个连接请求,等待skype的认证。下面简要叙述一下应用程序向skype发起一个连接请求的过程。首先使用windows sdk的registerwindowmessage函数来注册两个全局消息:l skypecontrolapidisc
51、overl skypecontrolapiattack要发起与skype的连接,应用程序首先要向系统的所有窗口广播一个skypecontrolapidiscover消息,并将其自身的窗口句柄作为wparam参数进行传递。若此时skype已经启动,则在收到该广播消息后将以另一个注册消息skypecontrolapiattack来回应。并且在消息的lparam当中给出回应的类别。回应类别:l skypecontrolapi_attach_success = 0表示请求通过认证并且已经成功获得skype的控制权。此时,在消息的wparam参数中,将给出skype的窗口句柄给应用程序,以便应用程序在后
52、续的过程中,通过该句柄来给skype发送命令消息。l skypecontrolapi_attach_pending_authorization = 1表示程序正在被认证的过程中,等待skype用户的认证结果。若用户通过认证,则将继而发送成功消息,否则发送失败消息。应用程序在收到该消息后应继续等待skypecontrolapi_attach_success消息的到来。l skypecontrolapi_attach_refused = 2若用户在接收到应用程序的控制请求后拒绝了用户的控制请求,则skype将以此作为参数告诉应用程序用户拒绝了应用程序对skype的控制请求。l skypecontr
53、olapi_attach_not_available = 3若skype已经启动但是目前并没有任何用户登录,则skype api处于不可用状态(必须在有用户登录的状态下,skype api才是可用的)。此时,skype将以此作为参数将消息传递给应用程序。而应用程序在接收到该消息后,需要做的就是等待skype api转变为可用状态的时候再一次的提出请求。在skype有不可用转变为可用的时候,也将向系统所有应用程序窗口广播一个skypecontrolapiattack消息,只不过,此时该消息的lparam参数为skypecontrolapi_attach_api_available = 0x800
54、1。简要的来说,整个请求连接的过程,就是应用程序在注册了全局消息后,将skypecontrolapidiscover消息广播,直到等待到skypecontrolapiattack消息,并且其lparam参数的值为skypecontrolapi_attach_success为止。此时,应用程序需要做的就是将消息中传递过来的api句柄保存下来即可。下次,在需要向skype发送命令或者接受skype传递过来的消息的时候就可以使用这个句柄。当客户端应用程序获得skype api的控制权后,skype与应用程序之间就可以互相交换命令与数据了。skype与客户端应用程序之间交换的命令或数据均是纯文本的消息
55、。程序将需要发送的命令或数据文本使用utf-8编码后,通过wm_copydata消息发送给skype,即在skype与客户端应用程序两个进程之间交换数据的手段是通过向对方发送wm_copydata命令实现的。在发送wm_copydata命令时,应用程序将自身的窗口句柄作为消息的wparam参数,并将数据封装在一个copydatastruct当中,将其地址作为消息的lparam参数,发送给skype。同样的,skype也将以同样的方式将数据或者对命令的回馈送还给客户端应用程序。以此完成skype与客户端应用程序的交互。注意,在命令字符串中,最后作为结束标志的0也要一同作为命令的一部分发送给sky
56、pe。程序中需要使用到的skype控制命令主要是set audio_in和set audio_out,用于设置skype当前使用的音频输入输出设备。对于命令更详细的说明参看相关技术文档。3.3 开发语言与开发环境本设计选择的开发语言是c+。使用的开发环境是microsoft visual studio 2005。另外,使用的蓝牙协议栈是ivt bluesoleil 3.2 voip release,使用的skype版本是最新的skype3.0。额外需要的硬件环境是一只蓝牙适配器(bluetooth dongle)和一个蓝牙耳机,本设计中使用的是nokia bh-200。第四章 需求分析4.1
57、总体目标实现蓝牙耳机与skype的智能关联与协同工作。需要完成的工作主要有两个方面,一方面是蓝牙端的设备自动搜寻与服务自动连接,另一个方面是skype端的自动登录与自动授权认证。4.2 蓝牙端在系统初始化的时候,检测协议栈是否已经安装,若已经安装,则自动启动协议栈,并进入监听状态。否则退出。在没有设备连接的时候,定时地搜寻周围的蓝牙设备,若发现新的蓝牙耳机进入有效区域(一般为10m之内),则判断该蓝牙耳机是否已经与某一skype帐号绑定,若没有,即该蓝牙耳机是初次被软件检测到,则进入配置界面,以便用户对蓝牙耳机进行配置,将它与某一skype帐号进行绑定。若该蓝牙耳机已经与某一skype帐号绑定,则取出与之绑定的skype帐号与密码,传递给skype自动登录模块。同时,自动连接蓝牙耳机的服务。当蓝牙耳机关掉或者离开有效区域时,自动退出skype。并再一次的进入监听状态,等待新的蓝牙耳机进入有效区域。4.3 skype端在系统初始化的时候,检测是否已经安装了skype,若还没有安装,则给出提示信息,并退出。当发现蓝牙耳机并自动连接上服务后,根据传递过来的skype的帐号密码,自动启动skype,并进行自动登录。然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版内运输合同
- 2025年牛津上海版七年级科学上册阶段测试试卷
- 2024版农副产品购销合同范本简单
- 2025年鲁教新版选修5化学下册月考试卷
- 新苏教版一年级数学下册综合实践活动2《做做比比》教案
- 2025年沪科版高一历史上册月考试卷
- 2025-2030年中国创意设计行业市场竞争格局与前景发展策略分析报告
- 2025年北师大新版七年级地理上册月考试卷
- 2025年沪教新版选择性必修1英语上册月考试卷含答案
- 2025年浙教版选修4地理下册阶段测试试卷
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
- 2025年中国AI学伴行业市场现状及投资态势分析报告(智研咨询)
- 智能安防监控系统设计与实施计划书
- 【高中数学课件】排列数公式的应用
- 2024年河南省公务员录用考试《行测》真题及答案解析
- 2024年国家公务员考试《申论》真题(地市级)及答案解析
- 2024年道路运输企业两类人员安全考核试题库-上(单选、多选题)
- 老年冠心病慢病管理指南(2023版)解读
- 2024年-2025年全民“科学素养提升行动”竞赛考试题库(含各题型)
- 面包烘焙原料供应采购合同案例
- 基于mRNA-LNP技术的(细胞)免疫治疗产品开发指南
评论
0/150
提交评论