SyncML在蓝牙车载信息娱乐设备上的设计与实现

  作者:马建辉 山东省科学院自动化研究所 汽车电子重点实验室 吕梦兴 南京工业大学土木工程学院交通工程系 时间:2009-12-11来源:电子产品世界

  SyncML与蓝牙协议

  图1为SyncML的蓝牙应用协议结构图。依据SyncML协会定义的蓝牙绑定协议,SyncML服务器的蓝牙实现需要用到SDP和OBEX协议,电话簿同步应用需要用到vCard规范。SDP协议用于SyncML服务器蓝牙服务的注册,查询蓝牙手机的SyncML客户端服务以在RFCOMM层上建立蓝牙连接,该RFCOMM连接是SyncML连接的基础;OBEX(Object Exchange)是对象交换协议,它管理SyncML服务的连接,将SyncML文档封装为Object进行传输并控制传输过程;vCard规范是电子名片规范,定义了个人名片信息的标准格式,方便传播和交换。下面从这三个方面介绍SyncML的电话薄同步应用的关键点。

  SDP在SyncML中的应用

  SyncML绑定协议中定义了SyncML客户端和服务器的SDP纪录。

  SDP是蓝牙服务发现协议,它提供了注册蓝牙服务和搜索及浏览蓝牙服务的方法。注册蓝牙服务是本地行为,以Service Discovery DataBase即服务发现数据库的形式纪录,每条Record即服务发现数据库中的一个条目。搜索及浏览则基于C/S结构(客户端/服务器)的请求-响应形式,使得客户端可以访问服务器端的服务数据库。

  作为SyncML的服务器端,首先需要注册该蓝牙服务并处于pageable(可被寻呼)状态,这样才能被蓝牙手机发现本地设备的SyncML服务。SDP Record以结构体形式定义,定义了若干属性和数据类型,包括ServiceClassIDList、protocolDescriptorList、Service Name、ServiceDescription等,其中ServiceClassIDList属性是最为重要的,以全局唯一标识符UUID表示,客户端搜索服务器端服务的时候便是根据该属性进行定位。

  Syncml服务器端的ServiceClassID为00000001-0000-1000-8000-0002EE000002,蓝牙协议为OBEX,数据类型均为DataElSeq。注册该服务时首先给server channel赋值为默认值0,然后为该服务分配Rfcomm 通道,将分配的通道号给server channel重新赋值。

  车载蓝牙设备与手机建立免提连接后主动发起跟手机的SyncML服务的连接,首先设备通过SyncML客户端ServiceClassID定位手机端的SyncML服务记录,然后在该服务记录中查询手机为SyncML服务分配的Rfcomm通道号,然后建立Rfcomm层的连接。

1 2 3 4

关键词: SyncML 蓝牙 车载信息娱乐设备 绑定 OBEX 200912

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版