基于NFC技术的蓝牙对象交换方法
扫描二维码
随时随地手机看文章
引言
蓝牙技术(Bluetooth)使得移动通信设备和计算机设备,不必借助电缆就能实现数据传送,它可以在短距离内取代电缆和双绞线连接方案。基于蓝牙技术的文件推送技术,使得设备间可以实现高速的大文件传输。但现有蓝牙设备之间进行文件传输需要较多的步骤,较为烦琐。
NFC(NearFieldCommunication,近距离无线通信)是一种新型的近距离无线通信技术。它工作于13.56MHz,最高速度可达424kbit/s,工作范围在10厘米以内,与现有的RFID基础设施兼容,符合ISO/EC18902和ECMA340标准。NFC将非接触读卡器、非接触卡和点对点功能整合在一起。可以满足两个设备间,简单又安全地进行信息交换、内容与服务访问。但NFC技术的通信距离短,数据传输速度不高,而且现有的移动产品一般不具有NFC功能,不适合于较大文件的传输。
本文给出一种方法,结合蓝牙及NFC技术的优点,互补不足。使得不需要对现有移动设备进行改动,就能实现设备间的高速、安全、方便的文件传送。
1、蓝牙文件推送技术
1.1OBEX协议:
对象交换协议OBEX(ObjectExchange)。是一种面向应用的会话层协议,它运行于蓝牙(Bluetooth)协议的顶部,支持文件传输(FileTransfer),对象“推”操作(ObjectPushProfile)等多种应用,提供了设备间简单的对象交换手段,可交换的对象可以是文件、图像,也可以是应用支持的任何数据单位。本文介绍的文件推送方式,正是对“推”操作进行改进。对任意两台设备可组成主从关系,主动发起方为主设备(Client),被找到者是从设备(Server)。如图1所示,是基于蓝牙的文件推送方法的协议层次关系。
图1:蓝牙文件推送协议
OBEX:对象交换协议。
RFCOMM:电路替代协议。
L2CAP:逻辑链路控制及适配。
1.2OBEX对象模型:
OBEX对象模型详细介绍了该协议是如何描述一个对象的。为了做到这点,OBEX定义了Headers的概念。一个Header反映了对象的一个方面,例如名字、长度、描述文字或者对象本身。例如:一个文件对象test.txt会包含它的名字,一个类型标示为“text”,长度和文件本身。Header由
和。HI由一个字节组成,指出了Header包含的内容以及它的格式。HV包含了一个或者多个字节,其结构由HI所决定。所有的Header都是可选的,取决于设备的类型和事务的种类。你可以使用所有的Header,或者一些,或者没有。ID可以使Header可解析以及与传输顺序无关,也可以使不支持的Header被忽略掉。
OBEX使用请求(Request)和回应(Response)作为最基本的操作。请求的每个Request必然有一个Response,否则可认为Request失败。
1.3JSR‐82
JSR-82是用于蓝牙无线技术的官方JavaAPI。使用这个API可创建以下功能的应用程序:判断和检测本地的蓝牙设备的属性;发现设备通信范围内的蓝牙设备;在远程蓝牙设备上搜索服务;创建可以与远程蓝牙服务器通信的蓝牙客户机。JSR-82包含两个包,
javax.bluetooth:提供Java蓝牙通信的一些类和接口。
javax.obex:提供OBEX协议中的一些Java类和接口。
2、NFC技术
2.1NFC概述
ECMA-340(NFCIP-1)是NFC的物理层和数据链接层的规范标准。该标准定义了两种工作模式:主动模式和被动模式。主动模式下,通信发起方和目标方自行产生无线射频磁场进行通信。被动模式下,通信发起方提供无线射频磁场,目标设备选择发起设备的射频磁场,并做出回应。ECMA-352(NFCIP-2)规范标准详细说明了工作于13.56MHz的无线通信设备的通信模式选择机制,使得可以不同标准的设备可以正确工作。ECMA-340,ECMA-352以及其它的通信标准的关系,如图2所示:
短距离通信:根据靠近作为通讯启动方式,可以保证通信的安全性防止被监听,保证通信的确定性。
与现有的RFID标准兼容:省电模式下的NFC设备,相当于一张RFID标签。
简化其它通信其它程序的连结步骤:蓝牙或者以太网的通讯协定都需要在众多的设备当中选择正确的设备。
2.2NFC对于OBEX的改进
现有的蓝牙文件步骤:
(1)搜索蓝牙设备(人工操作)。
(2)选择设备(人工操作)。
(3)设备配对(人工操作)。
(4)OBEX文件传输(自动操作)。
NFC通信的操作步骤:
(1)NFC设备靠近(人工操作)。
(2)NFC数据通信(自动完成)。
基于NFC技术的文件推送方法的操作步骤:
(1)NFC设备靠近(人工操作)。
(2)交换蓝牙OBEX传输的参数(自动完成)。
(3)OBEX文件传输(自动完成)。
从操作的步骤可知,基于NFC技术的对象交换方法,借助NFC技术的方便性,简化了蓝牙文件推送技术。
2.3JSR‐257NFC
JSR-257是Java语言的非接触通信API库。使用该API库,配合相应的硬件,可以处理的功能有:NFC通信,RFID读写,智能卡读写,阅读条形码。例如:当标签靠近移动电话时,可以自动触发事件,运行相应的处理程序,进行数据读写。支持的标签类型,如表2所示:
表1
Nokia公司提供的6131i移动电话,是目前少数支持NFC技术的设备。该公司提供了Nokia6131NFCSDK开发环境,方便开发者开发基于NFC技术的J2ME程序。该库支持标准的JSR-257功能。还提供了一些扩展功能:NFC点对点通信,读写Sony'sFeliCa卡。该包有五部份:
javax.microedition.contactless:该API包提供为不同的目标提供公共接口。
javax.microedition.contactless.ndef:该API包提供处理NFC目标的功能
javax.microedition.contactless.rf:该API包提供处理RFID目标的功能。
javax.microedition.contactless.sc:该API包提供处理智能卡的功能。
javax.microedition.contactless.visual:该API包提供处理可见的条形码的功能。
3、应用实例
通过对OBEX和NFC技术的分析,以及对这两种通信方式的整合,我们给出的方法的示意图,所图3所示:
一台具有蓝牙以及NFC的手机(Nokia6131i)
一台普通的支持蓝牙OBEX的手机(NokiaN70)
一张Mifare标签。
操作步骤:
(1)读出普通手机的蓝牙地址,并写到Mifare标签中。并将标签贴在普通手机上。
(2)运行NFC手机上的J2ME程序,并选择要传送的文件。
(3):把普通手机,靠近NFC手机,使之得到相应参数。
(4):文件自动传到普通手机中。
该方法,并不需要对现有的蓝牙手机进行硬件的改过,也不需要安装任何软件,只需要多加一张RFID,就可以使用基于NFC技术的蓝牙文件推送方法。
4、结束语
本文给出一种改进的对象交换方法,并给出实用实例。该方法使得文件推送更加方便,安全。我们希望今后加强本方式,使得可以商业用途。NFC作为一种新型的近距离无线通信技术与相关硬件相结合,还有很多新应用,值得深入的研究。
OBEX使用请求(Request)和回应(Response)作为最基本的操作。请求的每个Request必然有一个Response,否则可认为Request失败。
1.3JSR‐82
JSR-82是用于蓝牙无线技术的官方JavaAPI。使用这个API可创建以下功能的应用程序:判断和检测本地的蓝牙设备的属性;发现设备通信范围内的蓝牙设备;在远程蓝牙设备上搜索服务;创建可以与远程蓝牙服务器通信的蓝牙客户机。JSR-82包含两个包,
javax.bluetooth:提供Java蓝牙通信的一些类和接口。
javax.obex:提供OBEX协议中的一些Java类和接口。
2、NFC技术
2.1NFC概述
ECMA-340(NFCIP-1)是NFC的物理层和数据链接层的规范标准。该标准定义了两种工作模式:主动模式和被动模式。主动模式下,通信发起方和目标方自行产生无线射频磁场进行通信。被动模式下,通信发起方提供无线射频磁场,目标设备选择发起设备的射频磁场,并做出回应。ECMA-352(NFCIP-2)规范标准详细说明了工作于13.56MHz的无线通信设备的通信模式选择机制,使得可以不同标准的设备可以正确工作。ECMA-340,ECMA-352以及其它的通信标准的关系,如图2所示:
图2ECMA-340,ECMA-352关系
短距离通信:根据靠近作为通讯启动方式,可以保证通信的安全性防止被监听,保证通信的确定性。
与现有的RFID标准兼容:省电模式下的NFC设备,相当于一张RFID标签。
简化其它通信其它程序的连结步骤:蓝牙或者以太网的通讯协定都需要在众多的设备当中选择正确的设备。
2.2NFC对于OBEX的改进
现有的蓝牙文件步骤:
(1)搜索蓝牙设备(人工操作)。
(2)选择设备(人工操作)。
(3)设备配对(人工操作)。
(4)OBEX文件传输(自动操作)。
NFC通信的操作步骤:
(1)NFC设备靠近(人工操作)。
(2)NFC数据通信(自动完成)。
基于NFC技术的文件推送方法的操作步骤:
(1)NFC设备靠近(人工操作)。
(2)交换蓝牙OBEX传输的参数(自动完成)。
(3)OBEX文件传输(自动完成)。
从操作的步骤可知,基于NFC技术的对象交换方法,借助NFC技术的方便性,简化了蓝牙文件推送技术。
2.3JSR‐257NFC
JSR-257是Java语言的非接触通信API库。使用该API库,配合相应的硬件,可以处理的功能有:NFC通信,RFID读写,智能卡读写,阅读条形码。例如:当标签靠近移动电话时,可以自动触发事件,运行相应的处理程序,进行数据读写。支持的标签类型,如表2所示:
表1
Nokia公司提供的6131i移动电话,是目前少数支持NFC技术的设备。该公司提供了Nokia6131NFCSDK开发环境,方便开发者开发基于NFC技术的J2ME程序。该库支持标准的JSR-257功能。还提供了一些扩展功能:NFC点对点通信,读写Sony'sFeliCa卡。该包有五部份:
javax.microedition.contactless:该API包提供为不同的目标提供公共接口。
javax.microedition.contactless.ndef:该API包提供处理NFC目标的功能
javax.microedition.contactless.rf:该API包提供处理RFID目标的功能。
javax.microedition.contactless.sc:该API包提供处理智能卡的功能。
javax.microedition.contactless.visual:该API包提供处理可见的条形码的功能。
3、应用实例
通过对OBEX和NFC技术的分析,以及对这两种通信方式的整合,我们给出的方法的示意图,所图3所示:
图-3基于NFC的OBEX示意图
一台具有蓝牙以及NFC的手机(Nokia6131i)
一台普通的支持蓝牙OBEX的手机(NokiaN70)
一张Mifare标签。
操作步骤:
(1)读出普通手机的蓝牙地址,并写到Mifare标签中。并将标签贴在普通手机上。
(2)运行NFC手机上的J2ME程序,并选择要传送的文件。
(3):把普通手机,靠近NFC手机,使之得到相应参数。
(4):文件自动传到普通手机中。
该方法,并不需要对现有的蓝牙手机进行硬件的改过,也不需要安装任何软件,只需要多加一张RFID,就可以使用基于NFC技术的蓝牙文件推送方法。
4、结束语
本文给出一种改进的对象交换方法,并给出实用实例。该方法使得文件推送更加方便,安全。我们希望今后加强本方式,使得可以商业用途。NFC作为一种新型的近距离无线通信技术与相关硬件相结合,还有很多新应用,值得深入的研究。