基于NFC技術(shù)的藍(lán)牙對(duì)象交換方法
藍(lán)牙技術(shù)(Bluetooth)使得移動(dòng)通信設(shè)備和計(jì)算機(jī)設(shè)備,不必借助電纜就能實(shí)現(xiàn)數(shù)據(jù)傳送,它可以在短距離內(nèi)取代電纜和雙絞線連接方案?;谒{(lán)牙技術(shù)的文件推送技術(shù),使得設(shè)備間可以實(shí)現(xiàn)高速的大文件傳輸。但現(xiàn)有藍(lán)牙設(shè)備之間進(jìn)行文件傳輸需要較多的步驟,較為煩瑣。
NFC(NearFieldCommunication,近距離無線通信)是一種新型的近距離無線通信技術(shù)。它工作于13.56MHz,最高速度可達(dá)424kbit/s,工作范圍在10厘米以內(nèi),與現(xiàn)有的RFID基礎(chǔ)設(shè)施兼容,符合ISO/EC18902和ECMA340標(biāo)準(zhǔn)。NFC將非接觸讀卡器、非接觸卡和點(diǎn)對(duì)點(diǎn)功能整合在一起??梢詽M足兩個(gè)設(shè)備間,簡(jiǎn)單又安全地進(jìn)行信息交換、內(nèi)容與服務(wù)訪問。但NFC技術(shù)的通信距離短,數(shù)據(jù)傳輸速度不高,而且現(xiàn)有的移動(dòng)產(chǎn)品一般不具有NFC功能,不適合于較大文件的傳輸。
本文給出一種方法,結(jié)合藍(lán)牙及NFC技術(shù)的優(yōu)點(diǎn),互補(bǔ)不足。使得不需要對(duì)現(xiàn)有移動(dòng)設(shè)備進(jìn)行改動(dòng),就能實(shí)現(xiàn)設(shè)備間的高速、安全、方便的文件傳送。
1、藍(lán)牙文件推送技術(shù)
1.1OBEX協(xié)議:
對(duì)象交換協(xié)議OBEX(ObjectExchange)。是一種面向應(yīng)用的會(huì)話層協(xié)議,它運(yùn)行于藍(lán)牙(Bluetooth)協(xié)議的頂部,支持文件傳輸(FileTransfer),對(duì)象“推”操作(ObjectPushProfile)等多種應(yīng)用,提供了設(shè)備間簡(jiǎn)單的對(duì)象交換手段,可交換的對(duì)象可以是文件、圖像,也可以是應(yīng)用支持的任何數(shù)據(jù)單位。本文介紹的文件推送方式,正是對(duì)“推”操作進(jìn)行改進(jìn)。對(duì)任意兩臺(tái)設(shè)備可組成主從關(guān)系,主動(dòng)發(fā)起方為主設(shè)備(Client),被找到者是從設(shè)備(Server)。如圖1所示,是基于藍(lán)牙的文件推送方法的協(xié)議層次關(guān)系。
圖1:藍(lán)牙文件推送協(xié)議
OBEX:對(duì)象交換協(xié)議。
RFCOMM:電路替代協(xié)議。
L2CAP:邏輯鏈路控制及適配。
1.2OBEX對(duì)象模型:
OBEX對(duì)象模型詳細(xì)介紹了該協(xié)議是如何描述一個(gè)對(duì)象的。為了做到這點(diǎn),OBEX定義了Headers的概念。一個(gè)Header反映了對(duì)象的一個(gè)方面,例如名字、長(zhǎng)度、描述文字或者對(duì)象本身。例如:一個(gè)文件對(duì)象test.txt會(huì)包含它的名字,一個(gè)類型標(biāo)示為“text”,長(zhǎng)度和文件本身。Header由HeaderID>和HeaderValue>組成,簡(jiǎn)稱為HI>和HV>。HI由一個(gè)字節(jié)組成,指出了Header包含的內(nèi)容以及它的格式。HV包含了一個(gè)或者多個(gè)字節(jié),其結(jié)構(gòu)由HI所決定。所有的Header都是可選的,取決于設(shè)備的類型和事務(wù)的種類。你可以使用所有的Header,或者一些,或者沒有。ID可以使Header可解析以及與傳輸順序無關(guān),也可以使不支持的Header被忽略掉。
OBEX使用請(qǐng)求(Request)和回應(yīng)(Response)作為最基本的操作。請(qǐng)求的每個(gè)Request必然有一個(gè)Response,否則可認(rèn)為Request失敗。
1.3JSR‐82
JSR-82是用于藍(lán)牙無線技術(shù)的官方JavaAPI。使用這個(gè)API可創(chuàng)建以下功能的應(yīng)用程序:判斷和檢測(cè)本地的藍(lán)牙設(shè)備的屬性;發(fā)現(xiàn)設(shè)備通信范圍內(nèi)的藍(lán)牙設(shè)備;在遠(yuǎn)程藍(lán)牙設(shè)備上搜索服務(wù);創(chuàng)建可以與遠(yuǎn)程藍(lán)牙服務(wù)器通信的藍(lán)牙客戶機(jī)。JSR-82包含兩個(gè)包,
javax.bluetooth:提供Java藍(lán)牙通信的一些類和接口。
javax.obex:提供OBEX協(xié)議中的一些Java類和接口。
2、NFC技術(shù)
2.1NFC概述
ECMA-340(NFCIP-1)是NFC的物理層和數(shù)據(jù)鏈接層的規(guī)范標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了兩種工作模式:主動(dòng)模式和被動(dòng)模式。主動(dòng)模式下,通信發(fā)起方和目標(biāo)方自行產(chǎn)生無線射頻磁場(chǎng)進(jìn)行通信。被動(dòng)模式下,通信發(fā)起方提供無線射頻磁場(chǎng),目標(biāo)設(shè)備選擇發(fā)起設(shè)備的射頻磁場(chǎng),并做出回應(yīng)。ECMA-352(NFCIP-2)規(guī)范標(biāo)準(zhǔn)詳細(xì)說明了工作于13.56MHz的無線通信設(shè)備的通信模式選擇機(jī)制,使得可以不同標(biāo)準(zhǔn)的設(shè)備可以正確工作。ECMA-340,ECMA-352以及其它的通信標(biāo)準(zhǔn)的關(guān)系,如圖2所示:
圖2ECMA-340,ECMA-352關(guān)系
短距離通信:根據(jù)靠近作為通訊啟動(dòng)方式,可以保證通信的安全性防止被監(jiān)聽,保證通信的確定性。
與現(xiàn)有的RFID標(biāo)準(zhǔn)兼容:省電模式下的NFC設(shè)備,相當(dāng)于一張RFID標(biāo)簽。
簡(jiǎn)化其它通信其它程序的連結(jié)步驟:藍(lán)牙或者以太網(wǎng)的通訊協(xié)定都需要在眾多的設(shè)備當(dāng)中選擇正確的設(shè)備。
2.2NFC對(duì)于OBEX的改進(jìn)
現(xiàn)有的藍(lán)牙文件步驟:
(1)搜索藍(lán)牙設(shè)備(人工操作)。
(2)選擇設(shè)備(人工操作)。
(3)設(shè)備配對(duì)(人工操作)。
(4)OBEX文件傳輸(自動(dòng)操作)。
NFC通信的操作步驟:
(1)NFC設(shè)備靠近(人工操作)。
(2)NFC數(shù)據(jù)通信(自動(dòng)完成)。
基于NFC技術(shù)的文件推送方法的操作步驟:
(1)NFC設(shè)備靠近(人工操作)。
(2)交換藍(lán)牙OBEX傳輸?shù)膮?shù)(自動(dòng)完成)。
(3)OBEX文件傳輸(自動(dòng)完成)。
從操作的步驟可知,基于NFC技術(shù)的對(duì)象交換方法,借助NFC技術(shù)的方便性,簡(jiǎn)化了藍(lán)牙文件推送技術(shù)。
2.3JSR‐257NFC
JSR-257是Java語言的非接觸通信API庫。使用該API庫,配合相應(yīng)的硬件,可以處理的功能有:NFC通信,RFID讀寫,智能卡讀寫,閱讀條形碼。例如:當(dāng)標(biāo)簽靠近移動(dòng)電話時(shí),可以自動(dòng)觸發(fā)事件,運(yùn)行相應(yīng)的處理程序,進(jìn)行數(shù)據(jù)讀寫。支持的標(biāo)簽類型,如表2所示:
表1
Nokia公司提供的6131i移動(dòng)電話,是目前少數(shù)支持NFC技術(shù)的設(shè)備。該公司提供了Nokia6131NFCSDK開發(fā)環(huán)境,方便開發(fā)者開發(fā)基于NFC技術(shù)的J2ME程序。該庫支持標(biāo)準(zhǔn)的JSR-257功能。還提供了一些擴(kuò)展功能:NFC點(diǎn)對(duì)點(diǎn)通信,讀寫Sony'sFeliCa卡。該包有五部份:
javax.microedition.contactless:該API包提供為不同的目標(biāo)提供公共接口。
javax.microedition.contactless.ndef:該API包提供處理NFC目標(biāo)的功能
javax.microedition.contactless.rf:該API包提供處理RFID目標(biāo)的功能。
javax.microedition.contactless.sc:該API包提供處理智能卡的功能。
javax.microedition.contactless.visual:該API包提供處理可見的條形碼的功能。
3、應(yīng)用實(shí)例
通過對(duì)OBEX和NFC技術(shù)的分析,以及對(duì)這兩種通信方式的整合,我們給出的方法的示意圖,所圖3所示:
圖-3基于NFC的OBEX示意圖
一臺(tái)具有藍(lán)牙以及NFC的手機(jī)(Nokia6131i)
一臺(tái)普通的支持藍(lán)牙OBEX的手機(jī)(NokiaN70)
一張Mifare標(biāo)簽。
操作步驟:
(1)讀出普通手機(jī)的藍(lán)牙地址,并寫到Mifare標(biāo)簽中。并將標(biāo)簽貼在普通手機(jī)上。
(2)運(yùn)行NFC手機(jī)上的J2ME程序,并選擇要傳送的文件。
(3):把普通手機(jī),靠近NFC手機(jī),使之得到相應(yīng)參數(shù)。
(4):文件自動(dòng)傳到普通手機(jī)中。
該方法,并不需要對(duì)現(xiàn)有的藍(lán)牙手機(jī)進(jìn)行硬件的改過,也不需要安裝任何軟件,只需要多加一張RFID,就可以使用基于NFC技術(shù)的藍(lán)牙文件推送方法。
4、結(jié)束語
本文給出一種改進(jìn)的對(duì)象交換方法,并給出實(shí)用實(shí)例。該方法使得文件推送更加方便,安全。我們希望今后加強(qiáng)本方式,使得可以商業(yè)用途。NFC作為一種新型的近距離無線通信技術(shù)與相關(guān)硬件相結(jié)合,還有很多新應(yīng)用,值得深入的研究。
評(píng)論