(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf_第1页
(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf_第2页
(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf_第3页
(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf_第4页
(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf_第5页
已阅读5页,还剩74页未读 继续免费阅读

(通信与信息系统专业论文)蓝牙obex的优化与应用.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 摘要:o b e x 协议作为交换数据对象的会话层协议,是蓝牙协议框架里一个重要 的组成部分,它没有限定传输对象的数据类型,这就使得它的应用范围十分地宽 广,因此蓝牙协议针对不同的应用场景,开发了多个基于o b e x 的上层应用框架 协议。所以,o b e x 的实现代码的性能在蓝牙协议栈中至关重要。 论文首先研究了蓝牙协议和o b e x 协议,然后对m 实现的o b e x 协议c 源 代码分别从代码逻辑结构、可移植性、可发展性、互联性等方面的性能逐一进行 了考察和分析。发现了如下一些问题:代码结构不够清晰;在某些使用场景下代 码运行时会发生严重的错误;现行的o b e x 代码不具备与多种语言的文字或平台 互操作的能力;不能识别标准的1 2 8 位u u i d ;依赖临时文件,不能适应非文件系 统。这些都是制约t 协议栈发展的严重问题,为了解决这些问题,论文针对每 一个问题出现的原因和场景做了部分代码结构和细节上的优化设计,并完成了代 码工作。为了检验优化工作的有效性,还设计、编写了测试程序,并且针对优化 前的代码缺陷设计了多个场景的测试案例,逐一进行了测试、记录、分析和比较。 最后得出的测试结果完整地验证了本次o b e x 优化研究工作的合理性和正确性。 在对o b e x 进行了优化设计的基础上,论文展开了对同步应用协议实现的研 究,这其中包含了对g o e p 协议接口的实现:对o b e x 的接口进行了整合与封装, 和实现向上层提供消息确认函数。然后对同步协议( s p 协议) 的同步引擎算法进 行了深入钻研,精心设计了同步过程中慢同步、快同步和多次同步等三种模式的 实现模型和架构。并且在w i n d o w s 平台下通过m i c r o s o f to u t l o o k 的接口完成了s p 协议的实现。完成了w i n d o w s 平台中信息的同步。 同步协议的实现进一步完备了t 协议栈,也为应用层平台蓝牙产品的开发提 供了一个新的发展点,通过在不同设备、不同平台下的同步应用的研发,t 公司 将在蓝牙领域拥有更广阔的市场。 关键词:蓝牙;o b e x ;g o e p ;s p 。 分类号:7 n 9 1 5 7 2 ;7 n 9 1 9 北京交通大学硕士学位论文 a bs t r a c t a b s t r a c t :o b e xp r o t o c o li sa l li m p o r t a n tp o r t i o no fb l u e t o o t hs t a c k i tt a k e s c h a n g eo ft r a n s m i t t i n go b j e c ta sac o n v e r s a t i o n a lp r o t o c 0 1 o b e xd o e s n tr e s t r i c tt h e o b j e c tt y p e s ot h a t ,t h eb l u e t o o t hs i gd e f i n e saf e wp r o f i l e sb a s e do b e x t h e r e f o r e , t h eq u a l i t yo ft h ec o d eo fo b e xp r o t o c o li ss i g n i f i c a n ti ni v tb l u e t o o t hs t a c k t h i sp a p e rs t u d i e dt h ee x i s t i n gci m p l e m e n t a t i o no fo b e xf r o m t - d i s c o v e r e d s o m ep r o b l e m sb yr e s e a r c h i n gi t sl o g i c a ls t r u c t u r e ,t r a n s p l a n t a t i o na n di n t e r o p e r a b i l i t y : p a r t so ft h el o g i c a ls t r u c t u r ei sr e d u n d a n t ;e r r o r sm a yo c c u rw h e nc l i e n ta n ds e r v e r c l o s ea tt h es a m et i m e ;t h e r ei sr e s t r i c t i o nf o rc u r r e n to b e xc o d ef r o mo p e r a t i n gw i t h m u l t i - l a n g u a g e ss y s t e m s ;c a n n o ti n t e r o p e r a t ew i ms o m ed e v i c e s ;d e p e n du p o nt e m p f i l ew h i c hc a s e sn o n - s u p p o r to fn o n - f i l es y s t e m a l lt h e s ep r o b l e m sl i m i tt h e d e v e l o p m e n to fi v t s t a c k t or e s o l v et h e s ep r o b l e m sid e s i g n e das c h e m et o o p t i m i z et h e c u r r e n t i m p l e m e n t a t i o nc o d eo fo b e x t h e n ,1w r o t eat e s tp r o g r a ma n db u i l ds o m et e s tc a s e s a g a i n s tt h ea b o v em e n t i o n e dp r o b l e m st oc h e c ku pt h eo u t c o m eo fo p t i m i z a t i o n t h e t e s tr e s u l t si n d i c a t e dt h a tt h ew o r ko fo p t i m i z a t i o nw a se f f e c t i v ea n di td i da c h i e v et h e o b j e c t i v e a f t e rt h eo p t i m i z a t i o no fo b e x ,t h i sp a p e rs t u d i e dt h es pp r o f i l e ,w h i c hm u s t i m p l e m e n tt h eg o e pi n t e r f a c ef u n c t i o n sf i r s t a f t e ra c c o m p l i s h i n gt h ecc o d eo ft h e g o e pi n t e r f a c ef u n c t i o n s ,is t u d i e dt h es pp r o f i l e , r e s e a r c ht h ea r i t h m e t i co fs y n c e n g i n e , a n dt h e nd e s i g nt h ei m p l e m e n t a t i o no fs l o ws y n c ,f a s ts y n c ,t i m ea f t e rt i m es y n e t h e n , ia c c o m p l i s h e dt h ecc o d eo fs pu n d e rw i n d o w ss y s t e m a tt h ee n do ft h i sp a p e r , t h ee x p e r i e n c ea n dt h eh a r v e s ta f t e rt h i sw o r kw a ss u m m e du p t h ei m p l e m e n t a t i o no fs pp r o f i l eh e l pt h em a t u r i t yo fi v ts t a c k ,a n dc a np r o v i d ea w i d e rf o u n d a t i o nf o rt h ee x p l o i t a t i o no fb l u e t o o t hp r o d u c t i o n w h i c hg a l lh e l pt h e t c o r p o r a t i o no c c u p ym o r eq u o t i e n to fb l u e t o o t hm a r k e t k e y w o r d s :b l u e t o o t h ;o b e x ;g o e p ;s p c l a s s n o :7 n 9 1 5 7 2 ;7 n 9 1 9 5 北京交通大学硕士学位论文 图清单 图1 1 :蓝牙协议体系结构。2 图2 1 :o b e x 协议的平台结构1 5 图2 2 :o b e x 实现的有限自动状态机1 6 图2 3 :o b e x 有限自动状态机跳转图2 0 图3 1 :优化前的建链逻辑2 3 图3 2 :优化后的建链逻辑2 4 图3 3 :客户端与服务器端同时断链示意图2 6 图3 4 :u n i c o d e 接口优化演示图一2 8 图3 5 :x m l 文件的链表存储方式2 9 图3 6 :优化前的f i n d t a r g e t 函数实现示意图3 0 图3 7 :优化后的f i n d t a r g e t 函数实现示意图3 2 图3 8 :测试程序流程图3 4 图3 9 :测试程序功能图3 5 图3 1 0 :优化后的t c 0 1 测试过程演示图一3 8 图3 1 l :优化后的t c 0 1 测试过程演示图二3 9 图3 1 2 :优化前的t c 0 1 测试过程演示图一一4 0 图3 1 3 :优化前的t c 0 1 测试过程演示图二4 0 图3 1 4 :优化前的t c 0 1 测试过程演示图三4 1 图3 1 5 :t c 一0 2 测试过程演示图4 1 图3 1 6 :t c 0 3 测试过程演示图4 2 图3 1 7 :t c 0 4 客户端文件夹展示图4 3 图3 1 8 :t c 一0 4 服务器端文件夹展示图4 3 图3 1 9 :t c 0 5 服务器端文件夹展示图4 4 图3 2 0 :t c 0 5 客户端文件夹展示图4 4 图3 2 1 :t c 0 6 测试结果演示图4 5 图4 1 :蓝牙应用框架结构图4 6 图4 - 2 :非认证o b e x 建立连接过程4 7 图4 3 :认证的o b e x 建立连接过程4 8 图4 - 4 :p u s h 一个数据对象4 9 图4 5 :p u l l 一个数据对象5 0 图4 6 :蓝牙同步应用原理图5 4 图清单 图4 7 :客户端发起同步请求。5 5 图4 8 :同步命令5 6 图4 - 9 :自动同步5 7 图4 1o :同步引擎算法5 9 图4 1 1 :慢同步过程6 0 图4 - 1 2 :快同步过程6 l 图4 1 3 :多次同步过程6 2 图4 1 4 :蓝牙同步的实现( 客户端) 6 3 图4 1 5 :蓝牙同步的实现( 服务器端) 6 4 北京交通大学硕士学位论文 表2 1 : 表2 2 : 表2 3 : 表2 4 : 表2 5 : 表2 6 : 表2 7 : 表2 8 : 表2 9 : 表2 1 0 表2 1 1 表2 1 2 表2 1 3 表2 一1 4 表2 1 5 表3 1 : 表3 2 : 表4 1 : 表4 2 : 表4 3 : 表清单 h i 高2 位的意义7 h i 低6 位的意义7 r e q u e s t 数据包结构9 响应数据包结构9 操作码9 响应码9 o b e x 链接请求包格式1 0 o b e x 建链响应包格式l o o b e x 断链请求包格式1o o b e xp u t 请求包格式1o o b e xp u t 响应包格式1 0 o b e xg e t 请求包格式1 l o b e xg e t 响应包格式ll o b e xa b o r t 请求包格式1 1 o b e xs e t p a t h 请求包格式11 f t p 句柄结构。2 5 测试案例3 5 g o e p 客户端接口。5 0 g o e p 服务器端接口51 g o e p 层确认消息5 2 x 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 签字日期:么馏年 级羁荔导师签名:南弓丢 石月e t 签字日期:瑚年乡月歹日 独创性声明 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除 了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京交通大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:笈舅磊 签字日期:锄年月 日 7 1 北京交通大学硕士学位论文 致谢 本论文的工作是在我的导师高强教授的悉心指导下完成的,高强教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢三年来高强 老师对我的关心和指导。 高强教授悉心指导我们完成了实验室的科研工作,在学习上和生活上都给予 了我很大的关心和帮助,并且对于我的科研工作和论文都提出了许多宝贵的指导 意见,在此向高强老师表示衷心的谢意。 朱刚教授对我的论文研究工作提出了许多建设性的意见,在此表示由衷的感 谢。 在实验室工作及撰写论文期间,叶东翔、石步云等同事对我论文中o b e x 的 优化和实现的研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 最后感谢各位专家教授在百忙之中审阅我的论文、参加我的答辩,并提出宝 贵的意见。 谢谢大家! 序 序 n 呵公司是蓝牙解决方案的提供商,提供p c 和嵌入式平台的蓝牙解决方案。 蓝牙协议栈代码是蓝牙技术应用到各种平台的基础,它的质量是决定t 的蓝牙 应用方案是否能在蓝牙领域保持领先的一个关键性因素。随着蓝牙技术的发展, s i g 组织对蓝牙技术和应用的各种协议不断更新,m 蓝牙协议栈一些原有的协议 实现代码已经无法达到上层多种形式的应用的要求,并且随着多年使用时间的考 验暴露出一些潜在的隐患。 o b e x 协议作为交换数据对象的会话层协议,是蓝牙协议框架里一个重要的组 成部分,它没有限定传输对象的类型,这就使得它的应用范围十分地宽广,可以 传输从文件到商业电子卡片,从命令和控制字到数据库等任何类型的对象。因此, 蓝牙协议针对不同的应用场景,开发了多个基于o b e x 的上层应用框架协议。所 以,o b e x 的实现代码的性能在蓝牙协议栈中至关重要。 本次硕士论文工作的第一个目标是针对m 公司的蓝牙o b e x 代码实现进行 深入研究,力争解决其在使用或发展上存在的缺陷或是瓶颈,对其进行优化,使 得现行的代码在稳定性、发展性、移植性和适应性上得到进一步的发展。 s p 协议是基于o b e x 的一个应用协议,它提供了在蓝牙上使用o b e x 的功能 进行同步的一个交互过程和模型。它主要用于电子名片、短消息、电子记事簿和 电子行程单等项在两个蓝牙设备之间的同步。随着电子科技的发展和电子设备种 类的日益增多,蓝牙同步功能成为当今电子设备不可少的一项应用,n ,t 公司如果 能提供性能稳定、方便移植的同步方案,则能把握好当前的形势,占据有利的市 场。 本次硕士论文工作的第二个目标则是完成s p 协议的实现工作,通过对协议的 理解和对o b e x 代码的熟悉掌握设计s p 协议的实现代码结构,并最终以用c 代 码实现,最后还要完成在w i n d o w s 平台下的移植。 论文的主体将先介绍背景的协议理论、o b e x 的实现源代码的结构,然后从 逻辑结构、稳定性、可移植性和可扩展性分析目前存在的问题,接着叙述优化的 设计,再接着展示了优化的测试结果,论证优化工作的正确性;然后是对s p 应用 层的实现的详细描述,逐一介绍并绘图演示了同步模式、同步引擎、快同步、慢 同步和多次同步等设计结构,最后介绍了在w i n d o w s 平台下实现的工作情况。在 论文的结尾还对协议的实现工作中遇到的问题进行了仔细的经验总结,以为今后 的通信协议实现工作做良好的铺垫。 蓝牙技术原理 1 蓝牙技术原理 蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距 离无线连接为基础,为固定与移动设备通信环境建立一个特别连接。其实质内容 是要建立通用的无线电空中接口( r a d i o a i ri n t e r f a c e ) 及其控制软件的公开标准, 使通信和计算机进一步结合,使不同厂家生产的便携式设备在没有电缆相互连接 的情况下,能在近距离范围内具有互用、互操作( i n t e r o p e r a b i l i t y ) 的性能。 蓝牙采用跳频扩谱( f r e q u e n c yh o p p i n gs p r e a ds p e c t r u m ) 技术,在全球都可 用的2 4 5 g h z 工科医学( i s m ) 频带上以1 6 0 0 跳秒的速率进行跳频。依据各国 的具体情况,以2 4 5 g h z 为中心频率,最多可以得到7 9 个1 m h z 带宽的信道。在 发射带宽为1 m h z 时,其有效数据速率为7 2 1 k b s ,并采用低功率时分复用方式发 射,适合3 0 英尺( 约l o r e ) 范围内的通信。数据包在某个载频上的某个时隙内传 递,不同类型的数据( 包括链路管理和控制消息) 占用不同信道,并通过查询 ( i n q u i r y ) 和寻呼( p a g i n g ) 过程来同步跳频频率和不同蓝牙设备的时钟。除采用 跳频扩谱的低功率传输外,蓝牙还采用鉴权和加密等措施来提高通信的安全性。 蓝牙支持点到点和点到多点的连接,可采用无线方式将若干蓝牙设备连成一 个微微网( p i c o n e t ) ,多个微微网又可互连成特殊分散网,形成灵活的多重微微网 的拓扑结构,从而实现各类设备之间的快速通信。它能在一个微微网内寻址8 个 设备( 实际上互联的设备数量是没有限制的,只不过在同一时刻只能激活8 个, 其中1 个为主,7 个为从) 。 蓝牙技术涉及一系列软硬件技术、方法和理论,包括无线通信与网络技术, 软件工程、软件可靠性理论,协议的正确性验证、形式化描述和一致性与互联测 试技术,嵌入式实时操作系统( e m b e d d e dr 1 r o s ) ,跨平台开发和用户界面图形化 技术,软硬件接口技术( 如r s 2 3 2 ,u a r t ,u s b 等) ,高集成、低功耗芯片技术 等。 1 1蓝牙协议栈 1 1 1蓝牙协议软件结构 下图所示为蓝牙协议层结构图,它显示了数据经过无线传输时,所有与之关 联的协议之间的相互关系。 北京交通大学硕士学位论文 图1 1 ;蓝牙协议体系结构 f i g u r e l - 1 :s t r u c t u r eo f b l u e t o o t hs t a c k s 但在某些应用中这种关系是有变化的,不是任何应用都必须使用全部协议, 在本文将要研究的o b e x 数据传输时,仅使用r f c o m m ( 仿真电缆代替协议) 、 l 2 c a p ( 逻辑链路控制与适配协议) 、t c sb i n a r y ( 二元电话控制规范) 或l m p ( 连接管理协议) 。 完整的协议包括蓝牙专用协议( 如l m p 和l 2 c a p ) 和非专用协议( 如o b e x 和用户数据报协议u d p ) 。协议和协议栈设计的主要原则是尽可能利用现有的各种 高层协议,保证现有协议与蓝牙技术的融合以及各种应用之间的互通性,充分利 用兼容蓝牙技术规范的软硬件系统。蓝牙技术规范的的开放性保证了设备制造商 可自由地选用其专利协议或常用的公共协议,在蓝牙技术规范基础上开发新的应 用。 1 1 2蓝牙协议软件单元 蓝牙协议的软件单元( 即协议栈) 是一个独立的系统,符合已经制定好的蓝 牙规范,不与任何操作系统捆绑。蓝牙规范是为个人区域内的无线通信制定的协 议,它包括两部分:第一部分为核心( c o r e ) 部分,用以规定诸如射频、基带、 连接管理、业务搜寻( s e r v i c ed i s c o v e r y ) 、传输层以及与不同通信协议间的互用、 互操作性等组件;第二部分为协议应用框架( p r o f i l e ) 部分,用以规定不同蓝牙应 用框架所需的协议和过程。 蓝牙规范的协议栈仍采用分层结构,分别完成数据流的过滤和传输、跳频和 2 蓝牙技术原理 数据帧传输、连接的建立和释放、链路的控制、数据的拆装、业务质量( q o s ) 、 协议的复用等功能。在设计协议栈,特别是高层协议时的原则就是最大限度地重 用现存的协议,而且其高层应用框架( 协议栈的垂直层) 都使用公共的数据链路 和物理层。 蓝牙协议可以分为4 层,即核心协议层、电缆替代协议层、电话控制协议层 和采纳的其它协议层。 1 核心协议 蓝牙的核心协议由基带、链路管理( l m p ) 、逻辑链路控制与适应协议( l 2 c a p ) 和业务搜寻协议( s d p ) 等四部分组成。从应用的角度看,射频、基带和l m p 可 以归为蓝牙的低层协议,它们对应用而言是十分透明的。基带和l m p 负责在蓝牙 单元间建立物理射频链路,构成微微网。此外,l m p 还要完成像鉴权和加密等安 全方面的任务,包括生成和交换加密键、链路检查、基带数据包大小的控制、蓝 牙无线设备的电源模式和时钟周期、微微网内蓝牙单元的连接状态等。逻辑链路 控制与适应协议( l 2 c a p ) 完成基带与高层协议间的适配,并通过协议复用及重 组操作为高层提供数据业务和分类提取,它允许高层协议和应用接收或发送长达 6 4 0 0 0 字节的l 2 c a p 数据包。业务搜寻协议( s d p ) 是极其重要的部分,它是所 有使用模式的基础。通过s d p ,可以查询设备信息、业务及业务特征,并在查询 之后建立两个或多个蓝牙设备间的连接。s d p 支持3 种查询方式:按业务类别搜 寻、按业务属性搜寻和业务浏览( b r o w s i n g ) 。 2 电缆替代协议 串行电缆仿真协议( r f c o m m ) 像s d p 一样位于l 2 c a p 之上,作为一个电 缆替代( c a b l er e p l a c e m e n t ) 协议,它通过在蓝牙的基带上仿真r s 2 3 2 的控制和数 据信号,为那些将串行线用作传输机制的高级业务( 如o b e x 协议) 提供传输能 力。该协议由蓝牙特别兴趣小组在e t s i 的t s 0 7 1 0 基础上开发而成。 3 电话控制协议 电话控制协议包括电话控制规范二进制( t c sb i n ) 协议和一套电话控制命令 ( a t - c o m m a n d s ) 。其中,t c sb i n 定义了在蓝牙设备问建立话音和数据呼叫所需 的呼叫控制信令;a t - c o m m a n d s 则是一套可在多使用模式下用于控制移动电话和 调制解调器的命令,它由蓝牙在1 1 r u - tq 9 31 的基础上开发而成。 4 采纳的其它协议 电缆替代层、电话控制层和被采纳的其它协议层可归为应用专用( a p p l i c a t i o n - - s p e c i f i c ) 协议。在蓝牙中,应用专用协议可以加在串行电缆仿真协议之上或直 接加在l 2 c a p 之上。被采纳的其它协议有p p p 、u d p t c p i p 、o b e x 、w a p 、w a e 、 v c a r d 、v c a l e n d a r 等。在蓝牙技术中,p p p 运行于串行电缆仿真协议之上,用以实 3 北京交通大学硕士学位论文 现点到点的连接。u d p t c p i p 由i e t f 定义,主要用于i n t e r n e t 上的通信。本 课题研究的o b e x 是红外数据协会( i r d a ) 开发的一个会话协议,能以简单自发 的方式交换目标,o b e x 则采用客户服务器模式提供与h 丁r p 相同的基本功能。 w a p 是由w a p 论坛创建的一种工作在各种广域无线网上的无线协议规范,其目 的就是要将i n t e r n e t 和电话业务引入数字蜂窝电话和其它无线终端。v c a r d 和 v c a l e n d a r 则定义了电子商务卡和个人日程表的格式。 在蓝牙协议栈中,还有一个主机控制接口( h c i ) 和音频( a u d i o ) 接口。h c i 是到基带控制器、链路管理器以及访问硬件状态和控制寄存器的命令接口。利用 音频接口,可以在一个或多个蓝牙设备之间传递音频数据,该接口与基带直接相 连。 1 2 蓝牙应用框架 1 2 1蓝牙通用应用框架 1 g a p g a p 是蓝牙应用中最基本的应用框架,它定义了两个蓝牙设备之间彼此发现 和建立连接的方式。 2 s d a p s d a p 是用来发现蓝牙设备上的指定服务或一般服务的应用框架。 3 s p p s p p 是用来在蓝牙设备之间实现虚拟串口,并且建立蓝牙连接的应用框架。它 提供接口来使用r s 2 3 2 的控制信号进行电缆串口仿真。 4 g o e p 它定义了用来进行对象交换( 包括“上推 和“下拉 ) 的一系列过程。它是蓝 牙有关对象交换的应用框架的基础。 1 2 2蓝牙其他应用框架 在通用应用框架基础上,蓝牙官方规范还正式定义了以下应用框架: 1 文件传输框架( f i l et r a n s f e rp r o f i l e ) 文件传输框架提供了蓝牙设备之间进行文件、目录传输的途径,而且它还提供 了浏览远端设备的目录结构、对象删除、对象创建的功能。 4 蓝牙技术原理 2 局域网访问框架( l a n a c o 鼯sp r o f i l e ) 它实现多功能数据终端( d t ) 经局域网访问点( l 垤) 无线接入局域网。 3 同步框架( s y n c h r o n i z a t i o np r o f i l e ) 同步模型用来实现蓝牙设备之间个人信息的同步,包括四种对象:电子名片 ( v c a r d ) 、电子日历( v c a l e n d a r ) 、电子邮件( v m e s s a g e ) 、和短消息( v n o t e ) 。 4 对象推入框架( o b j e c tp u s hp r o f i l e ) 它实现电子名片的交换以及个人信息的“上推“功能。 5 无绳电话框架( c o r d l e s st e l e p h o n ep r o f i l e ) 它实现手持电话机的三种使用方法:接入公用电话网,作为普通电话使用;作 为不计费的内部电话使用;作为蜂窝移动电话使用。无线电话和内部电话使用相 同的协议栈;语音数据直接与基带协议连接。不经过l 2 c a p 层。 6 互通框架( i n t e r c o mp r o f i l e ) 它定义了蓝牙设备要支持三合一电话的内部通信功能的需求,实现两个电话终 端之间通过t c s 建立s c o 连接直接进行呼叫建立。 7 拨号网络框架( d i a l u pn e t w o r k i n gp r o f i l e ) 拨号网络应用是一种名为“因特网桥”的使用模型,允许计算机使用m o d e m 或者移动电话无线地连接到因特网上的接入服务器。拨号网络应用定义了蓝牙设 备两种典型的配置:g a t e w a y ( g w ) ,提供访问公众网络的接入;d a t at e r m i n a l ( d t ) ,使用g a t e w a y 提供的拨号服务。 8 耳机框架( h e a d s e tp r o f i l e ) 蓝牙耳机作为一种全双工的语音输入输出终端,无线地连接到语音设备上 9 服务发现应用( s e r v i c ed i s c o v e r ya p p l i c a t i o np r o f i l e ) 它定义了在一个蓝牙设备上发现其他蓝牙设备上注册的服务,并且获得与这些 服务相关的信息的通信过程。 5 北京交通大学硕士学位论文 20 b e x 协议及实现 2 10 b e x 协议 2 1 10 b e x 协议概述 o b e x 对象交换协议,是由红外数据协会( i r d a ) 开发的用于红外数据链路上 交换数据对象的会话层协议。 o b e x 协议是一种紧凑、高效的二进制协议,它的功能类似于h t t p 协议。 为了支持各种不同平台,o b e x 的设计者不指定特定的传输数据类型,只将它定 义为对象( o b j e c t ) 。它可以是从文件到商业电子卡片,从命令和控制字到数据库 的任何类型。o b e x 对系统资源的要求比较低,适用于低端设备,同时它具有灵 活的数据处理功能和可扩展性,它允许在不增加系统资源要求的情况下,提供如 安全、压缩等方面的特性。 o b e x 协议通过简单的使用“p u t ,“g e t 等六个命令实现在不同的设备、 不同的平台之间方便、高效的交换信息。支持的设备广泛,例如p c ,p d a ,电话, 摄像头,自动答录机,计算器,数据采集器,手表等等。 o b e x 协议定义了一种柔性的概念叫b j e c t s ,也即是对象。这些对象可以包 括文件,诊断信息,电子商务卡片,银行的存款等等。o b j e c t s 在这里没有高级的 技术含义,而是根据具体应用而决定。 o b e x 协议d , n 可作“命令和控制”功能,例如对电视机,录像机等的操作。 大道可以做很复杂的操作,例如数据库的事务处理和同步。 o b e x 能够具有以下几个特点: 1 友好的应用:可实现快速开发; 2 紧缩:可用在资源有限的小型设备上; 3 跨平台; 4 柔性的数据支持; 5 方便的作为其他i n t e r a c t 传输协议的上层协议; 6 可扩展性:提供了对未来需求的扩充支持而不影响以存在的实现。例如可 扩展安全,数据压缩等; 7 可测试可调试。 6 o b e x 协议及实现 2 1 20 b e x 对象模型 1 报头( h e a d e r s ) 为了简洁准确地描述对象,o b e x 定义了报头的概念。 一个h e a d e r 反映了对象的个方面,例如名字、长度、描述文字或者对象本 身,o b e x 定义了如c o u n t 、n a m e 、l e n g t h 等1 5 种h e a d e r ,此外,应用程 序还可以自己根据需要定义h e a d e f 。 2 报头的构成 报头简单的由 和 组成,简称为 和 。 h i 由一个字节组成,指出了报头包含的内容以及它的格式。h v 包含了一个 或者多个字节,其结构由h i 所决定。 所有的报头都是可选的,取决于设备的类型和事务的种类。你可以使用所有 的报头,或者一些,或者没有。i d 可以使报头可解析并且与传输顺序无关,也可 以使不支持的报头被忽略掉。 h i 又可以分为两部分,高2 位和低6 位。高2 位确定了h i 的编码方式,低6 位确定了h i 的意义,如下面两个表所示: 表2 i :h i 高2 位的意义 h l 的第8 和第7 位意义 0 0 ( o x 0 0 ) 以n u l l ( 0 ) 【0 0 ) 结尾的的u n i c o d e 文字。2 个字节的无符号整数长 度前缀。 0 1 ( 0 x 4 0 ) 字节块,2 个字节的无符号整数前缀。 1 0 ( 0 x 8 0 )i 字节容量。 1 1 ( o x c o )4 字节容量,以高位先传输为原则。 表2 2 :h l 低6 位的意义 h i 报头名称描述 0 x c 0c o u n t 连接中用于指名对象的数量。 0 x 0 1n a m e 对象的名字。二般为文件名。 0 x 4 2 t y p e 对象的类型。例如t e x t ,h t m l ,n n a r y 等。 0 x 4 4t i m e 时间戳。i s o8 6 0 1 版本时间戳。 o x c 4 4 字节版本( 用于兼容) 。 0 x 0 5 d e s c r i p t i o n 关于对象的文本描述。 7 北京交通大学硕士学位论文 0 x 4 6 t a r g e t 操作的目的服务名。 0 x 4 7 h t t p一个h t f p l x 头。 0 x 4 8 b o d y 对象的一部分。 0 x 4 9e n do f b o d y 对象的最后一部分。 0 x 4 am l o o b e x 应用标识,用于表明是否是同一个应用。 0 x c b c o n n e c t i o n1 1 )用o b e x 多路连接的标识。 0 x 4 c a p p p a r a m e t e r s 扩展的应用层请求和回复信息。 0 x 4 d a u t h c h a l l e n g e a u t h e n t i c a t i o nd i g e s t - c h a l l e n g e 。 o x 4 e a u t h r e s p o n s e a u t h e n t i c a t i o nd i g e s t - r e s p o n s e 。 0 x 4 f o b j e c tc l a s s 对象的o b e x 对象类。 o x l o t 0 0 x 2 fr e s e r v e d 保留。 o x 3 0 t o o x 3 fu s e rd e f i n e d 用户自定义的。 ( 1 ) n a m e n a m e 是一个用来描述对象名称的报头,由以o x 0 0 结尾的u n i c o d e 字符串组成。 ( 2 ) l e n g t h l e n g t h 描述了对象的大小,由4 个字节组成。如果l e n g t h 事先知道,这个报 头应该被用到。这样可以让接受者迅速的知道需要分配多少空间,可使处理更为 迅速。但这也不是必须的,有些情况下长度无法确认,但设备可以通过e n d o f - b o d y 报头知道什么时候结束。 ( 3 ) t i m e t i m e 描述了对象的最后修改的时间。使用i s 0 8 6 0 1 格式: 本地时f b j 格式:y n m m d d t h h m m s s u t c 时间格式:y y w m m d d t h h m m s s z 格式中的t 可以方便的区分日期和时间。u t c 时间使用z 作为标记。 ( 4 ) b o d y 、e n d o f - b o d y b o d y 报头由h i 、一个2 字节长度的描述和整个的对象本身。e n d o f - b o d y 组 成和b o d y 组成一样,但标识了这是对象的最后一部分。具体使用b o d y 还是 e n d - o f - b o d y 是根据本地设备和远端设备的内存缓冲区大小来决定的,这个大小值 在o b e x 建链的时候已经被双方商量好,以较小的那个值为基准。 3 请求( r e q u e s t ) 和回应( r e s p o n s e ) o b e x 使用请求和响应,也就是两个设备问一答作为最基本的操作。请求 的每个请求必然有一个响应,如果没有收到响应则可认为请求失败。 请求由一个或多个的包( p a c k e t ) 组成,每个包的结构如下表: o b e x 协议及实现 表2 3 :r e q u e s t 数据包结构 0 字节1 2 字节3 到n 字节 操作码包长度报头或请求信息 由于内存缓冲区的大小限制,每个请求可能会被分为多个包,操作码( o p c o d e ) 的最高位称为f i n a lb i t ,也就是结束比特。如果被设置为1 ,那么说明这是请求的 最后一个包。例如:当用p u t 操作发送一个大文件时,会有几个包作为一个包。 那么只有最后一个包的f i n a lb i t 设置为1 。 响应由一个或多个包组成,每个包的结构如下表: 表2 4 :响应数据包结构 0 字节 l 2 字节 3 到n 字节 返回值响应的总长度响应的数据 同样的返回值的最高位也叫做f i n a lb i t 。响应的数据可能包含对象和报头,或 者其它信息。 下表列出了了常见的操作码和返回值: 表2 5 :操作码 操作码( 设置了f i n a lb i t )定义意义 o x 8 0 c o n n e c t连接 0 x 8 1 d i s c o n n e c t断开连接 o x 0 2 ( o x 8 2 )p u t 发送一个对象 0 x 0 3 ( 0 x 8 3 )g e t 取得一个对象 0 x 0 4 ( 0 x 8 4 )r e s e r v e d 保留的 o x 8 5 幸s e t p a t h 设置路径 0 x f f 宰a b o r t 取消当前的操作 0 x 0 6 到0 x 0 f r e s e r v e d 作为扩展保留 0 x 1 0 到o ) 【l f u s e rd e f i n a b l e 用户白定义的 宰表示总是设置f i n a lb i t 。 表2 6 :响应码 r e s p o n s ec o d e 定义 0 x 1 0 ( 0 x 9 0 )c o n t i n u e ( 继续) o x 2 0 ( 0 x a 0 ) o k ,s u c c e s s 0 x 4 0 ( 0 x c 0 ) b a dr e q u e s t ( 服务器端不明白r e q u e s t ) 9 北京交通大学硕士学位论文 0 x 4 1 ( 0 x c l ) u n a u t h o r i z e d ( 朱授权的) 0 x 4 3 ( o x c 3 ) f o r b i d d e n ( 禁止服务器明白r e q u e s t ,但拒绝) 0 x 4 4 ( 0 x c 4 )n o tf o u n d ( 未找剑) 4 o b e x 基本操作命令 ( 1 ) c o n n e c t ( 连接) 此操作初始化会话然后设置参数。其请

温馨提示

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

评论

0/150

提交评论