TEL;CELL:15096156779END:VCARD

免提通话是蓝牙技术在汽车中最廣泛的应用在大部分蓝牙车载设备实现的免提通话功能中,用户一般在手机端拨打电话在免提端接听电话(一般控制按键在方向盘上)。由于在拨打电话时需要在手机上进行查找电话本、拨打等操作,给行车带来一定的危险性如果可以实现电话本在蓝牙车载设备和掱机之间的同步,那么便可以借助方向盘和车载液晶屏进行操作从而保证了开车和打电话两不耽误,提高了安全性[1]事实上电话本同步莋为蓝牙技术的车载应用之一,和免提应用结合起来不仅可以实现从车载设备端拨打电话,还可以实现来电提示、语音播报等功能进┅步方便了用户的使用。由于蓝牙技术存在众所周知的兼容性问题为了实现对大部分手机的电话本同步功能,笔者在所设计的蓝牙车载設备中采取多种方式进行电话本的下载并实现相应的电话本解析,下面首先介绍下四种下载方式然后描述电话本解析的实现方法。

笔鍺设计实现了三种电话本自动下载的方式-PBAPSyncMLAT命令可以下载大部分蓝牙手机的电话本。PBAPPhoneBook Access Profile的缩写它是蓝牙SIG为电话本同步应用专门定义嘚剖面,可以自动下载手机和SIM卡中的电话本和呼叫记录;SyncML是传统的数据同步协议用于在用户的各种设备之间同步个人信息(包括电话本),可以绑定在蓝牙OBEX(对象交换协议)协议上实现[2]除了电话本下载功能,它还可以实现电话本的自动更新即增、删、修改电话本条目的功能从而省去了每次重新下载电话本,降低了通信数据量提高了同步速度;AT命令是传统的命令响应式,有几条特殊的AT命令用于电话本丅载

对于不支持上述三种下载方式的手机,还可以选择手动推送的方式在车载蓝牙设备上实现OPP Server功能,同时在设备初始化阶段设置其设備类型class of device支持对象交换功能这样用户在手机上选择部分电话本“通过蓝牙发送”时,便可以搜索到车载蓝牙设备然后手动推送到设备上。因为几乎所有手机都支持这种手动推送的方式这样通过三种自动下载和一种手动推送的方式,便可以下载绝大部分手机的电话本

下媔以PBAP为例,介绍下电话本下载的具体实现

首先车载蓝牙设备发起PBAP连接请求,手机根据自身状态接受或拒绝连接;连接建立后车载蓝牙設备通过一个Application Specific Header设置电话本数据即VCARD的属性,一般设置为含有VERSION-版本、N-名字、TEL-电话号码;设置完成后车载蓝牙设备通过GET命令请求类型为"x-bt/phonebook"、名称為"telecom/pb.vcf"的文件,并设置单包数据量大小这样便启动了手机电话本的下载,当接收到一包新数据时可以判断出是否还有未下载数据,如果有发起继续传输的请求,便可以下载更多数据当然也可以根据需要终止当前的下载过程。

对蓝牙车载设备的用户体验而言电话本的下載速度无疑是一个很关键的指标,通过研究发现下载速度是由传输数据量大小和交互次数决定的,首先在设置VCARD属性时通过过滤VCARD中不必偠的属性减少传输数据量,如PHOTO之类的数据量很大但对车载蓝牙设备无用的属性便可以过滤掉从而减少了数据传输量,加快下载速度;然後在发起GET请求时在内存允许的情况下设置尽可能大的单包数据量大小,这样便可以减少交互次数提高下载速度

在上一章介绍的四种下載方式中,PBAPSyncMLOPP下载的电话本条目采用vCard的形式需要按照vCard规范进行解析。

vCard是电子名片规范定义了个人信息数据的存储格式及访问接口的規范,现在广泛应用的是v2.1版本对于电话本条目而言,需要解析出的信息为姓名和电话号码而电话号码又包含多种类别,根据车载应用嘚需要我们提取出家庭电话、工作电话、手机、车载电话这四种电话号码。vCard举例如下:

在电话本下载过程中电话本数据是按大小分包佽序传输的,所以首先通过查找VCARD的头"BEGIN:VCARD"和尾":VCARD"提取出一个完整的VCARD然后通过判断处于VCARD行首的属性查找姓名和电话号码,分别对应NTEL每个属性項中的':'后为属性值,按照这种规定在以上的vCard样例中,姓名为UTF-8字符0x9A6C 0x5EFA 0x8F89 即马建辉电话号码有两条:手机和工作电话。

AT命令下载的电话条目有洎己独特的格式举例如下:+CPBR: 4, "", 129, "MaJianHui"+CPBR表示电话本条目同样在':'后为各个属性值,首先是索引号然后是手机号码,然后是姓名字符编码方式嘫后是姓名,在该例子中索引号为4的电话号码为,人名为MaJianHui

蓝牙是个开放性的协议,它引入了很多其它技术领域的成熟协议比如vCardvCard协議被用来和PBAPOPP协议结合进行电话本条目的封装、下载和解析,由于不同的手机在用vCard封装电话本时存在很大的灵活性这就带来了电话本解析的兼容性问题[5]

在上一章中提到需要从VCARD中提取出手机号码、家庭电话、工作电话和车载电话这四种电话号码,在vCard规范中相应的参數关键字便是CELLHOMEWORKCAR。但是我们在对多部手机进行测试的过程中发现仅提取这几个关键字是不能满足要求的有的手机在封装VCARD时,还使用叻PREFVOICE作为关键字这个时候我们必须把PREFVOICE之后的电话号码也提取出来,然后按照优先原则和占位原则进行处理我们用某款Nokia手机做过测试,某个电话本条目对应的VCARD如下所示:

按照占位原则我们把提取为手机号码,如果对应的VCARD如下所示:

按照优先原则将CELL对应的提取为手机號码,覆盖这个号码之所以如此处理,是因为当手机有一定的灵活性时车载设备也必须具备相应足够的灵活性,才能满足尽可能多手機的要求

兼容性问题不仅表现在多个手机对VCARD封装方式的差别上,还表现在同一部手机在不同运行状态下对VCARD封装的差别比如在姓名提取應用中,某款Sony Erricson手机对姓名字段的封装为

这样提取出Td而有时封装为

80,0xE38080是一种特殊字符表示空格,对于仅支持英文字符的显示设备无法囸确显示,处理方法为将特殊字符E38080处理为空格对应的ASCII0x20可见兼容性问题的另一个解决方法就是枚举尽可能多的特殊情况特殊对待,其他凊况在此不再赘述有关兼容性问题的原因分析及解决方法,可以参考笔者的《蓝牙车载产品的兼容性设计》一文

笔者为某款车载蓝牙設备设计的电话本同步功能,实现了电话本下载及解析灵活可靠,兼容大部分手机现已成功运用于某国产车型上,运行稳定有良好嘚实用价值。

编辑:什么鱼 引用地址:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播或不应无偿使用,请及时通过电子邮件或电话通知我们以迅速采取适当措施,避免给双方造成不必要的经济损失

蓝牙技术联盟(Bluetooth Special Interest Group,简称SIG)今日宣布上海泰凌微电子联合创始人金海鹏先生将作为联盟成员董事(Associate Member Director)加入蓝牙技术联盟董事会任期自2019年7月始,为期两年蓝牙技术联盟董事会負责联盟的管理,以及通过推动蓝牙技术发展以满足不断上升的消费者和商业需求蓝牙技术联盟执行总裁Mark Powell表示:“来自泰凌微电子的金海鹏博士加入蓝牙技术联盟董事会,让我们深感荣幸我们对金先生的专业知识和创造力满怀期待。蓝牙技术的快速发展催生了一系列的商用和工业解决方案例如智能照明、资产追踪和访问控制等。随着蓝牙不断地新增功能并强化技术以满足

在美国政府的禁令要求下一些美国公司不得不迫于压力中止对华为的技术授权,甚至个别应该保持中立的协会组织也加入打压华为的行列如JEDEC、SDA、PCI-SIG、WiFi联盟等都陆续撤銷华为会员资格。近日还有媒体报道全球最有影响力的蓝牙技术联盟也疑似暂停了华为的会员资格,也就是在这个时候我们发现一件囿意思的事情发生了。即将于本月31日发布荣耀20系列手机被挖出来一条重要信息其将搭载华为自研超级蓝牙技术,而且老张发现这项技术還处于行业领先水平比第三方技术都强。而紧随其后今天,又有博主爆料WiFi联盟、蓝牙技术联盟、SDA又恢复了华为的会员身份。剧情可謂跌宕起伏扣人心弦   &nbsp

在智能手机、平板、无线耳机等各种设备应用的推动下,蓝牙技术在过去几年获得了飞速的发展 据蓝牙技术联盟市场开发高级总监Chuck Sabin介绍,2018年全球搭配蓝牙技术的设备出货量达到37亿,未来几年也将以8%的年复合增长率继续增长据他预测,到2023年全球帶有蓝牙技术的设备出货量会达到54亿。而这一切都是在广大企业参与下完成的蓝牙设备总出货量(单位:10亿)众所周知,自1998年成立以来非营利性行业组织蓝牙技术联盟(Bluetooth Special Interest Group; 简称SIG)就通过提供规格制定、资格认证和品牌推广等服务推动蓝牙技术发展。而随着蓝牙吸引力的增加加入SIG的人

多此一举。此外在专用于商业、工业或公用事业的空间等如果没有太多人们聚集之处,也并不像人们所想象的那么普遍 Rigado目前正押注于蓝牙技术——这一技术正全面升级至蓝牙5 (Bluetooth 5)。在蓝牙5之前蓝牙装置基本上用于个人网络,例如将智能手机连接到外部扬声器系统等蓝牙5将无线覆盖范围协议从大约100公尺进一步扩展到300或400公尺(室内)。 Rigado致力于打造用于蓝牙连接的组件包括同时支持大约20款主动式蓝牙装置的芯片。该公司将自家视为重要的整合合作伙伴打造了一款可用于控制IoT应用程序(App)的蓝牙网关,可在大约2,000平方英呎的范围支持多达100款主动式蓝牙装置(整合五款芯片)的连接&nbsp

 随着越来越多的市场领导者针对智能家居解决方案的战略通信协议,“蓝牙mesh网络”在智能家居解決方案领域日益普及为此,蓝牙技术联盟(Bluetooth Special Interest Group, 简称SIG)今日正式宣布成立全新智能家居专项组(Smart Home Subgroup)以回应市场趋势。 全新的智能家居专项組旨在面向智能家居及相关应用创建更多蓝牙mesh模型规格mesh模型构成了蓝牙mesh网络的应用层,并定义了连接至蓝牙mesh网络的设备行为例如,以藍牙mesh开关控制蓝牙mesh照明灯的行为即由mesh模型所定义如同所有蓝牙技术规格,智能家居专项组所开发的mesh模型将可供所有

》也印证了这一趋势ABI Research预测,至2022年蓝牙智能工业设备出货量将超过2.53亿件 ,与2017年相比增长7倍  全新的人机交互界面  “目前在物联网领域的种种尝试,都是在为未来的智能基础设施项目奠定基础”Saqib Shah, 英国消费电子媒体Engadget 手机和平板正在取代人机交互界面。装着“蓝牙”的智能手机和平板电脑被用于各类工厂和工业环境中的“中央控制器”为监控和机械控制提供了更加完善、安全的界面。目前市面上100%的智能手机、平板电脑和个人電脑都采用了蓝牙蓝牙技术能够提供易于部署的机器界面,在一些领域中已经开始应用了 2017年,ABB

}

【本文转自互联网如有涉及侵權等伤害到您的利益,请及时告知本人将马上删除】

最在网络上面查找关于vcard格式的技术资料,发现中文的资料很少只能阅读vCard MIME

Directory Profile(rfc-2426)翻譯它需要花太多的时间,现在把自己的理解做下记录

如果在内容中出现NAME类型,那么它的值是一个可以显示的描述vCard源的文本

如果出现PROFILE类型,那么它的值必须是“VCARD”

如果包含SOURCE类型它的值提供一些怎样找到vCard源的信息

ENCODING参数的值必须指定为“B”

二进制的内容的编码参考[RFC 2047]

表示一个類型的值是一个vCard对象

表示类型的值是一个电话号码

复合类型值是用分号分开的字段的集合,复合类型值中避免使用分号如何需要使用分號,需要用“/分号“替代

参考[MIME DIR]如果行的长度超过了75个字符,那么必须分行

目的:vcard对象的名称,一个vcard对象必须包含FN类型

可以用URI指定一個外部声音二进制流

可以是内置的声音二进制流,ENCODING=b

目的:指定一个全球唯一的个人或资源标识

目的:指定Vcard 参考的路径。

目的:指定Vcard使用嘚vcard规范的版本

目的:指定访问Vcard对象的访问分级。

说明:安全分级需要参考目录服务的访问分级

目的:指定Vcard的公共钥匙值(加密解密是使鼡)或者是授权认证

可以定义自己的类型,自己定义的类型需要以“x-”开头

}

我要回帖

更多关于 END. 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信