(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf_第1页
(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf_第2页
(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf_第3页
(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf_第4页
(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(计算机应用技术专业论文)蓝牙电话簿访问协议的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

e 塞塞煎太堂亟堂焦丝毫生塞揸 噩 中文摘要 蓝牙通信技术迅速发展,蓝牙技术在手机应用领域迅速扩大,免提已经成为 蓝牙手机的标准应用。在蓝牙手机普及过程中,人们迫切希望手机中的资源 电话簿能够以一种便利方式在不同蓝牙设备间交换和共享。具有蓝牙功能的车载 导航设备,作为蓝牙技术在消费类电子产品中的典型应用,对蓝牙电话簿访问协 议的需求格外明显。 2 0 0 6 年4 月,蓝牙s i g 组织发布了p h o n eb o o ka c c e s sp r o f i l e ( p b a p ) 协议规 范。p b a p 用自然语言描述了蓝牙设备间获取电话簿的过程,p b a p 为不同的蓝牙 设备之间共享电话簿资源提供了统一的方式和逻辑接口。 在研究p b a p 的过程中,本文主要完成了以下四项工作: ( 1 ) p b a p 协议分析。重点从p b a p 的协议框架、协议层次、角色、数据对象、 安全措施、访问特性、需要的o b e x 支持、互操作性要求等方面进行了阐述。 ( 2 ) p b a p 逻辑设计。根据对p b a p 协议的分析,论文对p b a p 的数据表示方 式、虚拟目录结构、使用操作和响应格式进行了设计。 ( 3 ) p b a p 协议实现。论文给出了p b a p 通讯层、编解码层实现,对p b a p 会 话状态和相关模块进行了实现。最后对p b a p 实现的可移植性进行了讨论。 ( 4 ) p b a p 协议互连性测试 文中具体分析了互连性测试的测试结构,实现了p b a p 协议测试工具。在对测 试规范研究的基础上,通过对比分析协议规范和互连性测试规范,完成了p b a p 的 互连测试。 按照本文给出的p b a p 协议实现,已经在基于w i n d o w sc e 平台的蓝牙汽车导 航产品上得到了应用。经过实际开发的检验,该实现方案具有结构清晰,可移植 性好的优点,能够满足实际产品开发的需要。 关键词:蓝牙;蓝牙协议栈;电话簿访问协议 分类号:t p 3 1 1 e 塞奎道厶亟堂僮监塞垦sib ! a b s t r a c t w i t ht h ed e v e l o p m e n to fb l u e t o o t hc o m m u n i c a t i o n st e c h n o l o g y , b l u e t o o t h t e c h n o l o g yi sr a p i d l ye x p a n d i n gi n t h ef i e l d so fm o b i l ep h o n ea n dh a n d s f r e eh a s b e c o m et h es t a n d a r ds e r v i c eo fb l u e t o o t hm o b i l ep h o n e i nt h ec o u r s eo fp o p u l a r b l u e t o o t hp h o n e s ,p e o p l eu r g e n t l yh o p et h a tt h eu s e f u lr e s o u r c e so ft h em o b i l ep h o n e t e l e p h o n ed i r e c t o r i e sc a nb ee a s i l ye x c h a n g e da n ds h a r e db e t w e e nd i f f e r e n tb l u e t o o t h d e v i c e sb yac o n v e n i e n tw a y b l u e t o o t h - e n a b l e dc a rn a v i g a t i o ne q u i p m e n t , a sat y p i c a l a p p l i c a t i o no fb l u e t o o t ht e c h n o l o g yi nc o n s u m e re l e c t r o n i c sp r o d u c t s ,p a r t i c u l a r l y n e e d st h eb l u e t o o t hp h o n eb o o ka c c e s sp r o t o c 0 1 i na p r i l2 0 0 6 ,s i gi s s u e dap h o n eb o o ka c c e s sp r o f i l ef p b 夤a ) s p e c i f i c a t i o n p b a pd e s c r i b e st h ep r o c e s so fa c c e s s i n gp h o n eb o o kb e t w e e nb l u e t o o t hd e v i c e sb y n a t u r a ll a n g u a g e p b a pp r o v i d e sau n i f o r mm a n n e ra n dl o 百c a li n t e r f a c et h a td i f f e r e n t b h e t o o t hd e v i c e sc a ns h a r et h e i rp h o n eb o o kr e s o u r c e s i nt h er e s e a r c ho f p b a p , t h i st h e s i sm a i n l yi n v o l v e sf o u rw o r k sa sb e l o w : ( 1 ) p b a pa n a l y s i s t h e s i sf o c u so nt h ep r o f i l ef r a m e w o r k ,p r o f i l es t r u c t a t i o n ,t h e r o l e so fd e v i c e ,d a t ao b j e c t s ,s e c u r i t ym e a s u r e s ,a c c e s sf e a t u r e s ,o b e xs u p p o r t , i n t e r o p e r a b i l i t yr e q u i r e m e n t sa n do t h e ra s p e c t s ( 2 ) p b a pl o g i cd e s i g n b a s e do nt h ep b a pa n a l y s i s w ed e s i g nt h er e p r e s e n t a t i o n s o f p h o n eb o o ko b j e c t ,v i r t u a lf o l d e r ss t r u c t u r e ,p r o f i l ef u n c t i o n sa n dr e s p o n s e ( 3 ) p b a pi m p l e m e n t a t i o n p a p e r sp r e s e n tt h ei m p l e m e n t a t i o no ft h ee o d e cl a y e r , c o m m u n i c a t i o n sl a y e r , c o n v e r s a t i o n a ls e s s i o na n dt h er e l e v a n tm o d u l e f i n a l l y , t h e p o r t a b i l i t yo f p b a pi m p l e m e n t a t i o ni sd i s c u s s e d ( 4 ) p b a pt e s t b yc o m p a r i n gp r o t o c o ls p e c i f i c a t i o na n dt e s ts p e c i f i c a t i o n w e i m p l e m e n t e dp b a pi n t e r o p e r a b i l i t yt e s t e r t l l i sp a p e rg i v e st h eg e n e r a la r c h i t e c t u r eo f p b a p i n t e r o p e r a b i l i t yt e s t e r a c c o r d i n gt ot h ed e s i g no ft h i sp a p e r , a ni m p l e m e n t a t i o no fp h o n eb o o ka c c e s s p r o f i l eh a sb e e na p p l i e dt oab l u e t o o t bc a rn a v i g a t i o np r o d u c tw h i c hb a s e do nt h e w i n d o w sc ep l a t f o r m i nt h et e s to fa c t u a ld e v e l o p m e n tp r o c e s s ,i tp r o v e st h a tt h i s i m p l e m e n t a t i o nh a sac l e a rs t r u c t u r ea n dt h ea d v a n t a g e so fp o r t a b i l i t y ;i tc a l lm e e tt h e a c t u a lp r o d u c td e v e l o p m e n tn e e d s k e y w o r d s ;b l u e t o o t h ;b h e t o o t hp r o t o c o ls t a c k :p h o n eb o o ka c c e s sp r o t o c o l c l a s s n o :t p 3 l l 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 彰乒 签字日期:伽哆年瑚一日 斜艺 签知期杪咿阳弦日 e 塞銮邋厶堂亟堂焦迨塞独剑丝庄嘎 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位论文作者签名: 签字日期:年月 日 致谢 三年的学习与生活中,我得到了周围许多老师、同事与朋友的帮助,他们的 热情指导与关心我将终生难忘。值此论文完成之际,我衷心的感谢所有曾经帮助 过我的人们。 我的论文得以顺利的完成,在此要深深地感谢我的导师李伟生教授,他在这 期间给了我大量的指导。我也深深地感谢中科院软件所的高强博士对我实践上的 指导,并为我提供了便利的实验环境。 同时,我还要特别感谢刘剑锋博士、叶东翔硕士、鲁东梅硕士,石步云硕士, 他们的无私帮助与悉心指导直接促成了本文的完成。 感谢所有一起开发项目的其他工作人员和研究生的帮助:田丹、王明星、朱 勇、施晋等,与他们一起学习和生活让人非常愉快。 最后,我要深深的感谢多年来我的父母对我在学业和生活上默默无闻的理解 和支持。 e立銮疆盔堂亟堂位迨塞缝i 金 1 绪论 1 1课题研究背景及现状 在电子技术不断发展中,蓝牙芯片价格不断下降,具有蓝牙功能的手机逐渐 得到普及。根据相关报道显示:到2 0 0 8 年,我国手机产量将超过5 6 3 亿部,其中蓝 牙手机数量将达到一半左右。在蓝牙手机功能日趋强大的今天,人们迫切希望利 用蓝牙通信技术实现手机中的数据电话簿能够以一种便利的方式在不同蓝牙 设备中交换,从而实现这些重要数据的存储和共享。为了适用这一应用的要求, 2 0 0 4 年5 月,蓝牙s i g 组织提出p b a p 协议草案,经过大约2 年的修改,2 0 0 6 年4 月 p b a p 正式确定。 p b a p 协议定义了蓝牙设备间获取电话簿对象的过程。它的用户交互模式是基 于客户服务器( c s ) 方式。在c s 模式下,一般由客户端主动发起从服务器端下 载电话簿对象到本地。p b a p 适合于免提设备的使用场景,在免提设备使用环境中, p b a p 提供了许多处理电话簿对象的高级功能。 目前在手机领域,国外只有s i g 组织中的p b a p 倡导者诺基亚公司实现了 p b a p 协议,并基于该协议开发了提供p b a p 服务的蓝牙手机产品。在手机领域之 外,国内外大多数公司都仅实现了蓝牙的核心协议栈和基于蓝牙核心协议栈的通 用应用模型,在通用操作系统( 如w i n d o w s 、l i n u x 等) 平台上还没有p b a p 协议的 商用实现。本课题来源于与t 软件技术有限公司的合作项目蓝牙软件的开发与 应用,课题研究内容是为蓝牙软件的应用进行p b a p 的协议开发。 1 2 研究的工作及意义 在研究过程中我们主要做了以下工作: ( 1 ) p b a p 协议分析。在研究中重点从p b a p 协议框架、协议层次、角色、数 据对象、安全措施、访问特性、需要的o b e x 支持、互操作性要求等方面进 行了分析。 ( 2 ) p b a p 协议逻辑设计。根据对p b a p 协议的分析,对p b a p 的数据表示方 式、虚拟目录结构、使用的操作和响应格式进行了设计。 ( 3 ) p b a p 协议实现。给出了p b a p 通讯层、编解码层实施方案,对p b a p 会 话状态和相关模块进行了实现。最后对p b a p 实现的可移植性进行了探索。 ( 4 ) p b a p 协议的互连性测试 塞銮适厶 堂 亟堂位监塞蟹逾 我们具体分析了互连性测试的测试结构,实现了p b a p 协议测试工具。在对测 试规范研究的基础上,通过对比分析协议规范和互连性测试规范,完成了p b a p 的 互连测试。 p b a p 协议栈是开发蓝牙电话簿访问应用的核心,p b a p 的实现将为基于p b a p 的蓝牙应用程序提供底层蓝牙协议 1 3 论文的章节安排 论文的章节安排如下: 第一章:绪论。介绍了本课题的背景、国内外在该领域的现状,最后介绍了 论文的工作和意义。 第二章:蓝牙技术简介。本章从蓝牙技术的特点、发展历程、蓝牙协议体系 结构、蓝牙协议应用框架方面对蓝牙技术进行了简要介绍和概括。 第三章:p b a p 协议分析。本章对p b a p 的协议框架、协议层次、角色、数据 对象、安全措施、访问特性、需要的o b e x 支持、互操作性要求方面进行了详尽 分析。 第四章:p b a p 协议设计。本章对p b a p 协议中使用的数据对象表示方式、虚 拟目录结构方案、操作和响应代码格式给出了设计。 第五章:p b a p 实现和测试。本章详细介绍了p b a p 的实现过程,对其中的关 键部分实现要点进行了阐述,最后完成了p b a p 的互联测试。 第六章:结论。本章对完成的p b a p 协议进行了总结,分析了其中的不足并 提出了未来工作的方向。 2 j 塞窑道厶堂亟堂位论塞墼复拄垄熊企 2 蓝牙技术简介 2 1蓝牙技术的特点和发展 在计算机网络和移动通信技术的迅猛发展中,人们越来越感到发展微小范围 内无线数据与语音通信的必要性。于是,e r i c c s o n 、m m 、i n t e l 、n o k i a 和t o s h i b a 等公司联合推出了一项新的无线通信技术一蓝牙( b l u e t o o t h ) 技术。随后这五家 公司组建了一个特殊组织( s i g ) 来负责此项技术的开发。蓝牙技术的作用是简化 小型网络设备( 如移动p c 、掌上电脑、手机) 之间以及蓝牙设备与i n t e r n e t 之间的 通信,免除在无绳电话或移动电话、调制解调器、头套式送受话器、p d a s 、计算 机、打印机、幻灯机等之间加装电线、电缆和连接器。而且,这种技术可以延伸 到那些完全不同的新设备和新应用中去。例如,如果把蓝牙技术引入到移动电话 和膝上型电脑中,就可以去掉移动电话与膝上型电脑之间的令人讨厌的连接电缆, 而直接通过无线使其建立通信。打印机、p d a 、桌上型电脑、传真机、键盘、游 戏操纵杆以及所有其它的数字设备都可以成为蓝牙系统的一部分。 蓝牙通信技术目前主要以满足美国f c c ( f e d e r a lc o r m n u n i e a t i o n sc o m m i s s i o n , 美国联邦通信委员会) 要求为目标。蓝牙规范中公布的主要技术指标和系统参数 如表2 1 所示【1 】。 表2 1 蓝牙规格和参数 t a b l e2 1b l u e t o o t hs p e c i f i c a t i o na n dp a r a m e t e r 工作 i s m 频段2 4 - 2 4 8 g h z 工作模式p a r k h o l d s n i f f 频段 双工 数据连接 全双工,t d d 时分双工面向连接业务s c 0 ,无连接业务a c l 方式 方式 业务 支持电路交换和分组交换信道加密 0 b i t ,4 0 b i t ,6 0 b i t 自f l 密字符 类型 数据 版本1 2 支持1f l a p s ;版本2 0 语音编码 p c m 编码或者c 、r s d 编码 速率e d r 以上最多支持3f l a p s方式 功率常用2 类无线电2 5 m wl 类无线 工业应用拥有1 0 0 米作用范围 跳频 7 9 个频点姗z2 类无线通常移动设备拥有1 0 米范围 频数 发射距离 跳频 1 6 0 0 跳s3 类无线 最人范围可达1 米 速率 蓝牙技术工作在全球通用2 4 g h z 的i s m ( 工业、科学、医学) 频段,它不需 j e 丞窑煎盔堂亟土翌僮监塞丝丕撞盔篮企 要向各国无线电管理委员会申请,从而消除了“国界”障碍。任意蓝牙设备一旦 搜索到另一个蓝牙设备,马上就可以建立联系,而无需用户进行任何设置。另外i s m 频段是对所有无线电都开放的频段,为了确保链路的稳定性,确保在遇到不可预 测的干扰情况下都能正常通信,蓝牙技术特别设计了快速确认和跳频方案,与其 他无线通信技术相比,蓝牙跳频快,数据分组短,因此蓝牙技术在这个开放的频 段里能够保持稳定的通信。 蓝牙技术作为一种低功耗的无线技术,主要有以下的优点: 1 ) 可以随时随地的用无线接口代替有线线缆。 2 ) 模块体积很小,可以方便的集成到各种设备中去。 3 ) 功耗很低,对人体伤害最小。 4 ) 开放的技术标准,全世界范围内的任何组织和个人都可以进行蓝牙产品 的开发,只要通过蓝牙产品的兼容性测试,都可以推向市场。 5 ) 成本很低,目前蓝牙芯片的价格大约4 美元左右,随着蓝牙芯片的广泛应 用,价格还有进一步下滑的趋势。 蓝牙特殊利益小组( s l g ) 1 9 9 8 年成立,s i g 主要职责是制定蓝牙规范,着眼 于蓝牙在全球的标准化发展与应用。s i g 所颁布的蓝牙规范规定了蓝牙应用产品应 遵循的标准和达到的要求。蓝牙技术发到目前为止,s i g 颁布的蓝牙规范有: ( 1 ) 1 9 9 9 年7 月蓝牙规范1 0 版 ( 2 ) 1 9 9 9 年9 月蓝牙规范1 o b 版 ( 3 ) 2 0 0 1 年4 月蓝牙规范1 1 版 ( 4 ) 2 0 0 3 年1 1 月蓝牙规范1 2 版 ( 5 ) 2 0 0 4 年8 月蓝牙规范2 0 版 ( 6 ) 2 0 0 4 年1 1 月2 o + e d r 规范 ( 7 ) 2 0 0 7 年3 月蓝牙规范2 1 版 ( 8 ) 2 0 0 7 年7 月蓝牙规范2 1 + e d r 版 自从蓝牙规范1 0 推出之后,蓝牙技术的推广与应用得到了迅猛发展,截至目 前,s i g 的成员已经从初期的几十家发展到了9 0 0 0 多家,几乎覆盖了全球各行各 业,包括通信厂家、网络厂商、外设厂商、芯片厂商、软件厂商,甚至消费类电 器厂商和汽车制造商都纷纷加入s i g 。 2 2蓝牙协议体系结构 蓝牙协议体系结构遵守丌放系统互联参考模型( o p e ns y s t e mi n t e r c o n n e c t i o n r e f e r e n c e dm o d e l ,o s i r m ) ,从低到高地定义了蓝牙协议堆栈的各个层次。蓝牙 4 业塞銮塑叁堂亟堂位逾塞墼左挂丕筮金 的协议结构如图2 1 所两2 】: 图2 1 蓝牙体系结构 f i g u r e2 1b l u e t o o t ha r c h i t e c t u r e s i g 在蓝牙协议堆栈的高层尽量利用已有的成熟协议,还有一些协议是s i g 基于其它协议修改而成的,如串口仿真( r f c o m m ) 和电话控制协议( t e l e p h o n e c o n t r o lp r o t o c o ls p e c i f i c a t i o n ,t c s ) 【4 】。按照蓝牙协议的逻辑功能,整个协议体 系结构分三大部分:传输协议层、中介协议栈层和应用协议层。 ( 1 ) 传输协议层 传输协议层负责蓝牙设备问相互确认对方的位置,以及建立和管理蓝牙设备 间的逻辑和物理链路。传输协议层又分为两部分:低层传输协议层和高层传输协 议层。低层传输协议层包括蓝牙射频( r a d i o ) 部分、基带、链路控制器 ( b a s e b a n d & l i n kc o n t r o l l e r ) 和链路管理协议( l i n km a n a g e rp r o t o c o l ,l m p ) 。低 层传输协议侧重于语音与数据无线传输的物理实现以及蓝牙设备闻的连接与组 网。蓝牙射频( r a d i o ) 、基带与链路控制器( b a s e b a n d & l i n kc o n t r o l l e r ) 和链路管 理部分( l i n km a n a g e rp r o t o c o l ,l m p ) 属于蓝牙的硬件模块,一般由硬件实现该 层的协议。高层传输协议包括逻辑链路控制与适配协议( l o g i c a ll i n kc o n t r o la n d a d a p t a t i o n p r o t o c o l ,l 2 c a p ) 主机控制器接口( h o s tc o n t r o li n t e r f a c e ,h c i ) 。这 层协议为高层协议屏蔽低层传输协议的传输操作,同时为高层协议提供更加有效 和便于实现的数据分组格式。 l 2 c a p 层基于逻辑信道( l c ,l o g i cc h a n n e l ) 进行包的传输,每个信道的 每个端点都可以用一个信道标识符( c i d ,c h a n n e li d e n t i f i e r ) 来表示 3 】。每个逻 辑信道上接收到的l 2 c a p 包都会传输到相应的上层协议。l 2 c a p 接到上层协议 s d p 、t c s 或r f c o m m 的建链请求后,通过h c i 向远端发送建链请求,并进行 参数协商等l c 建链操作【5 】。 h c i 的真正作用是为应用协议堆栈的高层部分提供访问低层传输协议的指令 5 j e 塞窑堑厶堂亟堂僮j 金塞箕茎越盔篮企 接口。也就是说,h c i 是蓝牙协议中软硬件之问的接口,它提供了一个调用下层 基带、链路管理层模块和访问状态和控制寄存器等硬件的统一命令接口。h c i 以 上的协议软件实体运行在主机上,而h c i 以下的功能由蓝牙硬件来完成。通过h c i 传出的信息包括命令、事件。命令由主机端发给硬件,事件由硬件提交给主机。 由主机发给设备的命令按执行方式可分为同步命令和异步命令。同步命令主要用 于本地查询和参数设置,完成后立即返回类似于c o m m a n d 的命令c o m p l e t e e v e n t 完成事件;异步命令一般涉及到双方的通信,比如建立连接等,h c i 固件接收到 命令后,先返回一个命令状态事件c o m m a n ds t a t u se v e n t ,表示命令参数的正确 与否,完成后再返回一个命令完成事件。需要注意的是h c i 并不是严格意义上的 通讯协议,同时它的位置也很灵活,h c i 可以位于l 2 c a p 之上,也可以位于l 2 c a p 之下。 ( 2 ) 中介协议层 中介协议层为高层应用协议或者程序在蓝牙逻辑链路上工作提供了必要的支 持,此外还为应用层提供各种不同的标准接口。这部分协议包括以下几个部分: 串口仿真协议( r f c o m m ) 。它基于欧洲电信标准化协会( e u r o p e a n t e l e c o m m u n i c a t i o ns t a n d a r d i z a t i o ni n s t i t u t e ,e t s i ) 的t s0 7 1 0 标准制定。该协议 用于模拟串口接口环境,基于串口的传统应用程序仅仅需要做少量的修改或者不 做修改就可以直接在这层上运行。 服务发现协议( s e r v i c ed i s c o v e r yp r o t o c o l ,s d p ) 。为实现蓝牙设备之间的相 互查询及访问提供服务。 k d a ( i n f r a r c dd a t aa s s o c i a t i o n ,红外数据协会) 互操作协议。蓝牙规范采用 了i r d a 的对象交换协议( o b e x ) ,使得传统的基于红外技术的对象交换应用( 如 电子名片( v c a r d ) 和电子日历( v c a l ) ) 可以运行在蓝牙无线接口之上。 网络访问协议。该部分协议包括点对点协议( p o i n tt op o i n tp r o t o c o l ,p p p ) 、 网际协议( i n t e r n e tp r o t o c o l ,口) 、传输控制协议( t r a n s f e rc o n t r o lp r o t o c o l ,t c p ) 和用户数据报协议( u s e rd a t a g r a mp r o t o c o l ,u d p ) 等,该协议用于实现蓝牙设备 的拨号上网或通过网络接入点访问i n t e m a t 和本地局域网。 电话控制协议。该协议包括t c s 、a t 命令集和音频。电话控制协议( t e l e p h o n e c o n t r o lp r o t o c o ls p e c i f i c a t i o n ,t c s ) 是基于国际电信联盟一电信组( i n t e r n a t i o n a l t e l e c o m m u n i c a t i o nu n i o n t e l e c o m m u n i c a t i o n ,i t u - t ) 的q 9 3 1 标准制定的,用于 支持电话功能;a t 指令集基于i t u - t v 2 5 0 和欧洲电信标准( e u r o p e a n t e l e c o m m u n i c a t i o ns t a n d u r d ,e t s ) 3 0 09 1 6 标准,用于实现多用户模式下对移动电 话和调制解调的控制。蓝牙直接在基带上处理音频信号( 主要指数字语音信号) 。 蓝牙采用s c o 链路传输语音,可以实现头戴式耳机( h c a d s a ) 和无绳电话( c o r d l e s s 6 e 夏至道厶堂亟堂位望塞丝笈焦垄筮金 t e l e p h o n y ) 等的应用f 6 1 。 ( 3 ) 应用协议层 应用协议层是指那些位于蓝牙传输层和中介层之上的蓝牙协议。它是应用软 件所涉及的除了蓝牙传输层和中介层之外的其它蓝牙协议,包括开发诸如拨号上 网和语音通讯等功能的蓝牙协议。蓝牙规范提供了传输层、中介层、应用协议的 定义,在传输层和中介层之上,不同的蓝牙设备必须采用统一符合蓝牙规范的形 式,而在应用协议的具体实现上,完全由开发人员自主定义。事实上,许多传统 的应用都可以几乎不加修改就在蓝牙协议堆栈之上运行,如基于串口和o b e x 协 议的应用。一般蓝牙技术应用开发人员是利用基于某一平台开发工具所提供的应 用程序接口( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e ,a p i ) 来进行开发工作,s i g 并没 有给出使用蓝牙技术的a p i 规范,具体的a p i 函数的开发由开发工具的设计人员 来完成,这样有利于蓝牙技术与各类应用的紧密结合。 2 3蓝牙协议的应用框架 s i g 为各种应用蓝牙技术的产品制定了相应的应用框架。应用框架主要定义了 实现具体的蓝牙产品或者某些通用功能( 如建立连接和服务发现等) 所用到的协 议栈、各个蓝牙协议栈的互操作性要求和各功能的实现过程等。一个应用框架往 往建立在另一个应用框架的基础上,这种关系称为依附性( d e p e n d e n c y ) 。根据应 用领域和相互间的依赖关系,将不同的应用框架分为五大类应用框架: 通用应用框架通用应用框架是其他所有应用框架的基础,它规定了其他应 用框架普遍用到的功能流程,如查询、建立连接和服务发现。 蓝牙电话应用类框架包括与电话控制和语音应用相关的应用框架: 蓝牙联网应用类框架包括与网络应用相关的应用框架; 对象交换类应用类框架包括一组普遍采用i r d a 互操作性协议和o b e x 协 议的应用框架,用于实现不同数据对象( 电子名片、文件、图象等) 的交换应 用。 蓝牙音频视频应用类框架包括与音频视频应用相关的应用框架。 j e 塞窑适厶堂砸堂位竣塞 垦垃这盆班 3p b a p 协议分析 3 1p b a p 相关协议框架 p b a p 的实现依赖于通用对象交换框架( g e n e r i co b j e c te x c h a n g ep r o f i l e , g o e p ) 、串口框架( s e r i a l p o r t p r o f i l e ,s p p ) 和通用访问框架( g e n e r i c a c c e s s p r o f i l e , g a p ) 下面图3 1 中所列就是p b a p 相关的协议框架。 通用访问框架 二堕亘妇 通用音频视频分发框架 至亟巫巫至互 】匦垂巫亘二 通用访问框架 堑亘巫至互 通用对象交换框架 文件传输框架( f t p ) f 匿。1 语夺蔓向簪橥( 喃a p 2 弱 】垂亟五 图3 1p b a p 的相关框架 f i g u r e3 if r a m e w o r kr e l a t e dt op b a p g a p 通用访问框架 g a p 是其他所有应用框架的基础。g a p 描述了两个蓝牙设备建立通信时必要 的基本操作,包括设备的发现、链路的建立和配置以及安全性设置。g a p 还描述 了蓝牙底层传输层的应用,主要包括链路控制器( l i n lc o n t r o l ,l c ) 和链路管理 器( l i n km a n a g e r ,l m ) ,同时为了安全性起见也会涉及到逻辑链路控制与适配 协议( l o g i c a ll i n kc o n t r o la n da d a p t a t i o np r o t o c o l ,l 2 c a p ) 、串口仿真协议 ( r f c o m m ) 、对象交换协议( o b e x ) 【7 】。 g a p 框架涉及的蓝牙协议堆栈如图3 2 所示: 区基区回 匝亟亟亟习医鬲网 图3 2g a p 框架 f i g u r e3 2g a pf r a m e w o r k 塞銮道盍堂亟堂位途塞垦垃丝筮匠 串口应用框架( s e r i a lp o r tp r o f i l e ,s p p ) s p p 是大多数其他应用框架的基础,s p p 定义了建立这些应用框架所需要的 仿真串行链路的过程以及与串口仿真协议( r f c o o m ) 、逻辑链路控制与适配协议 ( l 2 c a p ) 、服务发现协议( s d p ) 、链路管理器协议( n i p ) 和链路控制层的互 操作性要求。下图3 3 为s p p 的协议堆栈: 设备a 图3 3s p p 框架 f i g u r e3 3s p pf r a m e w o r k 设备b 其中设备a 和设备b 分别对应连接发起方和连接接受方。s p p 数据传输速率 最高为1 2 8 k b p s 。s p p 同时只能支持处理一条连接,但在一台设备上能够同时运行 s p p 的多个进程,所以该设备可以同时充当两种设备角色( 连接发起方和连接接受 方) 。s p p 中可以选择使用授权、鉴权和加密等安全性特征支持,其中鉴权和加密 必须支持。 通用对象交换框架( g o e p ) 通用对象交换框架( g o e p ) 规定了对象交换在应用中的流程和涉及的协议。下 图3 4 是g o e p 的协议栈: 客户端服务器 图3 4 g o e p 的框架 f i g u r e3 4g o e pf r a m e w o r k g o e p 定义了两类设备:客户端和服务器端。客户端向服务器端发送请求并从 服务器端获得对象,其中客户端是行为的发起方。g o e p 应用层完成的功能包括建 立对象交换会话( 在建立会话之前,不能在客户端和服务器端之问进行有效载荷 9 数据的交换) 、“上推( p u s h ) ”数据对象和“下拉( p u l l ) ”数据对象,其中“上推” 数据对象用于客户端向服务器端传送数据,“下拉”数据对象用于服务器向客户端 传送数据【8 】。 3 2p b a p 协议层次 下图3 5 说明了p b a p 协议所用到的底层协议 9 】。 a p p l i c a t i o n v c a r dp a r s e r p b a pc l i e n t o b e x r f c o m ms d p l l 2 c a p b a s e b a n d a p p l i c a t i o n v c a r db u i l d e r p b a ps e r v e r o b e x s d pr f c o m m l 2 c a p j l m p b a s e b a n d p c e 端设备 p s e 端设备 图3 5 p b a p 框架 f i g u r e3 5p b a pf r a m e w o r k 其中在蓝牙协议中的基带协议( b a s e b a n d ) 、链路管理协议( l m p ) 、逻辑链 路控制与适配协议( l 2 c a p ) 对应于开放系统互连参考模型( o s i ) 中的第一层和 第二层。串口仿真协议( r f c o m m ) 是蓝牙系统中用于模拟串口的主要协议层, s d p 是蓝牙系统中用于服务发现的协议。p b a p 会话在底层实际上被定义为一个 o b e x 会话。在o b e x 会话中客户端和服务器端使用代表p b a p 服务的u u i d 标 志。 3 3p b a p 角色和数据对象 为了描述相互作用的两个蓝牙设备,p b a p 分别为它们定义了两个角色:电 话簿服务器设备( p s e ) 和电话簿客户端设备( p c e ) 。在p s e 上一般拥有需要获取的 电话簿对象资源,而对于p c e 来说是需要从p s e 上获取电话簿对象。p s e 和p c e 角色定义是相对于用户操作的,在不同用户操作下同一个蓝牙设备可能既可以作 为p s e 也可以作为p c e 。例如一个蓝牙设备上存储有电话簿对象资源,当它为其 它设备提供电话簿对象资源时它是p s e ,如果该设备需要从其它设备获取电话簿 1 0 k 塞交道厶堂亟堂位逾塞垦垃邀筮蚯 对象资源时他就作为p c e 。对于免提的应用场合来说,通常都是手机作为p s e , 而汽车辅助设备属于p c e 。 p b a p 在具体的使用场景下为用户定义了如下操作: ( 1 ) p c e 检索p s e 上的电话簿条目列表。 ( 2 ) p c e 从p s e 上下载一到多个电话簿条目。 ( 3 ) p c e 访问p s e 上的通话记录。 ( 4 ) p c e 取得p s e 上的机主号码信息。 通常在p s e 上会有多个电话簿的存储库,例如在g s m 手机上,其中一个存储 库保存在手机的内存上,另一个存储库保存在手机s 渥卡上,p b a p 为不同的存 储库进行了标准化命名,这样就能方便对存储库的访问。为了区分电话簿存储库 里的内容,在p b a p 里定义5 种电话簿对象: ( 1 ) 主电话簿对象( p b ) 。p b 对应于用户当前正在使用的电话簿,如果p s e 设备 是一个手机,p b 就是存储在手机上的联系人列表的内容,而对于s i m 卡来说,p b 就是存储在s i m 卡上的联系人列表。 ( 2 ) 接入电话历史记录对象( i c h ) 。i c h 对应于最近接听电话列表。在i e h 中所能 保存的接入通话条数取决于所连接设备的实现。 ( 3 ) 打出电话历史记录对象( o c h ) 。o c h 对应于最近打出电话列表。 ( 4 ) 未接电话历史记录对象( m c h ) 。m c h 对应于最近未接电话列表。 ( 5 ) 混合电话历史记录对象( c c h ) 。c c h 对应于所有的接入电话历史记录对象 ( i c h ) 、打出电话历史记录对象( o c h ) 、未按电话历史记录对象( i n c h ) 。 3 4p b a p 的安全措施 p b a p 中规定p c e 必须与p s e 成功建立一个安全的连接之后,才能够访问p s e 提供的p b a p 服务。p c e 第一次与p s e 连接前要进行绑定。p c e 和p s e 还需要使 用g a p ( g e n e r i ca c c e s sp r o f i l e ) 协议中规定的鉴权过程创建一个安全的连接。连 接的初始化过程包括交换p i n 码( b l u e t o o t h 身份识别号) 、建立连接密钥,对开始 传输的数据进行加密以及发现对方提供的服务。p c e 和p s e 都可以发起绑定请求。 此外p s e 还要支持查询模式,以便能够发起和p c e 的绑定请求。p s e 和p c e 都 需要支持查询扫描模式,从而能够在接到对方的绑定的请求之后接受这个绑定操 作。 对于一些无法输入p i n 码的设备( 该蓝牙设备没有人机交互的输入接口) 或 者为了简化连接的过程,在g a p ( g e n e r i ca c c e s sp r o f i l e ) 协议规定的鉴权过程里 通常会使用一个固定的p i n 码。 p b a p 协议强制要求必须实现以下几种蓝牙安全特性: 绑定呻c e 和p s e 设备在进行电话簿访问之前必须进行绑定操作。p b a p 的连 接必须要支持安全模式2 或者安全模式3 的要求。 加密- p c e 和p s e 设备之间的连接必须要使用蓝牙加密算法进行加密。 蓝牙身份识别码_ p c e 和p s e 设备之间禁止使用长度为零的身份识别码。 此外在应用p b a p 协议的时候,通讯的蓝牙设备问还必须同时遵从以下规定: 连接密钥在p b a p 协议的连接中必须要使用联合密钥。 加密密钥长度加密的密钥长度至少要6 4 比特,为了增加安全的强度,蓝牙 组织支持遵从地区的规定使用最大长度的安全密钥。 用户确认每当一个新的p c e 客户端第一次连接p s e 端访问p b a p 服务的时 候,必须要得到p s e 端用户的确认。 3 5p b a p 的访问特性 p b a p 规定了两个特性:下载和浏览特性。对于遵照p b a p 的设备,必须按照 下列表3 1 中所列出的要求进行实现: 表3 1 电话簿的访问特性 m 出l e3 1a c c c s sf e a t u r co f p b a p 特性p c e 端支持方式p s e 端支持方式 d o w n l o a d d o w n l o a d 或者b r o w s i n g 必须支持其一 必须支持 b r o w s i n gd o w n l o a d 或者b r o w s i n g 必须支持其一必须支持 p b a p 下载特性用于下载整个电话簿对象的内容。它是专为那些有大的存储能 力能够把整个电话簿下载下来并存储到本地p c e 端而设计的。p b a p 规定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论