<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于NFC技術(shù)的藍(lán)牙對象交換方法

          基于NFC技術(shù)的藍(lán)牙對象交換方法

          作者: 時(shí)間:2011-04-10 來源:網(wǎng)絡(luò) 收藏
            引言

            藍(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)對點(diǎn)功能整合在一起??梢詽M足兩個(gè)設(shè)備間,簡單又安全地進(jìn)行信息交換、內(nèi)容與服務(wù)訪問。但的通信距離短,數(shù)據(jù)傳輸速度不高,而且現(xiàn)有的移動(dòng)產(chǎn)品一般不具有NFC功能,不適合于較大文件的傳輸。

            本文給出一種方法,結(jié)合藍(lán)牙及的優(yōu)點(diǎn),互補(bǔ)不足。使得不需要對現(xiàn)有移動(dòng)設(shè)備進(jìn)行改動(dòng),就能實(shí)現(xiàn)設(shè)備間的高速、安全、方便的文件傳送。

            1、藍(lán)牙文件推送技術(shù)

            1.1OBEX協(xié)議:

          對象交換協(xié)議OBEX(ObjectExchange)。是一種面向應(yīng)用的會話層協(xié)議,它運(yùn)行于藍(lán)牙(Bluetooth)協(xié)議的頂部,支持文件傳輸(FileTransfer),對象“推”操作(ObjectPushProfile)等多種應(yīng)用,提供了設(shè)備間簡單的對象交換手段,可交換的對象可以是文件、圖像,也可以是應(yīng)用支持的任何數(shù)據(jù)單位。本文介紹的文件推送方式,正是對“推”操作進(jìn)行改進(jìn)。對任意兩臺設(shè)備可組成主從關(guān)系,主動(dòng)發(fā)起方為主設(shè)備(Client),被找到者是從設(shè)備(Server)。如圖1所示,是基于藍(lán)牙的文件推送方法的協(xié)議層次關(guān)系。


          圖1:藍(lán)牙文件推送協(xié)議

            說明:
            OBEX:對象交換協(xié)議。
            RFCOMM:電路替代協(xié)議。
            L2CAP:邏輯鏈路控制及適配。

            1.2OBEX對象模型:

            OBEX對象模型詳細(xì)介紹了該協(xié)議是如何描述一個(gè)對象的。為了做到這點(diǎn),OBEX定義了Headers的概念。一個(gè)Header反映了對象的一個(gè)方面,例如名字、長度、描述文字或者對象本身。例如:一個(gè)文件對象test.txt會包含它的名字,一個(gè)類型標(biāo)示為“text”,長度和文件本身。Header由HeaderID>和HeaderValue>組成,簡稱為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使用請求(Request)和回應(yīng)(Response)作為最基本的操作。請求的每個(gè)Request必然有一個(gè)Response,否則可認(rèn)為Request失敗。

            1.3JSR‐82

            JSR-82是用于藍(lán)牙無線技術(shù)的官方JavaAPI。使用這個(gè)API可創(chuàng)建以下功能的應(yīng)用程序:判斷和檢測本地的藍(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、

            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)生無線射頻磁場進(jìn)行通信。被動(dòng)模式下,通信發(fā)起方提供無線射頻磁場,目標(biāo)設(shè)備選擇發(fā)起設(shè)備的射頻磁場,并做出回應(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)系

            NFC的目標(biāo)不是取代藍(lán)牙、Wi-Fi等現(xiàn)在無線技術(shù),而是起著相互補(bǔ)充的作用。因?yàn)镹FC的數(shù)據(jù)傳輸速率較低,只可達(dá)424Kbps,比不上現(xiàn)在一些技術(shù)。由于NFC單芯片解決方案是一個(gè)開放式的平臺,它既可以進(jìn)行快速的無線網(wǎng)絡(luò)自組,同時(shí)又可作移動(dòng)通信、藍(lán)牙或無線802.11等現(xiàn)有設(shè)備之虛擬連接。本文給出的方法,正是使用了NFC技術(shù)的這些優(yōu)點(diǎn):

            短距離通信:根據(jù)靠近作為通訊啟動(dòng)方式,可以保證通信的安全性防止被監(jiān)聽,保證通信的確定性。
            與現(xiàn)有的RFID標(biāo)準(zhǔn)兼容:省電模式下的NFC設(shè)備,相當(dāng)于一張RFID標(biāo)簽。
            簡化其它通信其它程序的連結(jié)步驟:藍(lán)牙或者以太網(wǎng)的通訊協(xié)定都需要在眾多的設(shè)備當(dāng)中選擇正確的設(shè)備。

            2.2NFC對于OBEX的改進(jìn)

            現(xiàn)有的藍(lán)牙文件步驟:

            (1)搜索藍(lán)牙設(shè)備(人工操作)。
            (2)選擇設(shè)備(人工操作)。
            (3)設(shè)備配對(人工操作)。
            (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ù)的對象交換方法,借助NFC技術(shù)的方便性,簡化了藍(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)對點(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í)例

            通過對OBEX和NFC技術(shù)的分析,以及對這兩種通信方式的整合,我們給出的方法的示意圖,所圖3所示:


          圖-3基于NFC的OBEX示意圖

            硬件設(shè)備:

            一臺具有藍(lán)牙以及NFC的手機(jī)(Nokia6131i)
            一臺普通的支持藍(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ī)中。

            該方法,并不需要對現(xiàn)有的藍(lán)牙手機(jī)進(jìn)行硬件的改過,也不需要安裝任何軟件,只需要多加一張RFID,就可以使用基于NFC技術(shù)的藍(lán)牙文件推送方法。

            4、結(jié)束語

            本文給出一種改進(jìn)的對象交換方法,并給出實(shí)用實(shí)例。該方法使得文件推送更加方便,安全。我們希望今后加強(qiáng)本方式,使得可以商業(yè)用途。NFC作為一種新型的近距離無線通信技術(shù)與相關(guān)硬件相結(jié)合,還有很多新應(yīng)用,值得深入的研究。


          關(guān)鍵詞: NFC技術(shù) 藍(lán)牙對象

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();