摘 要:藍牙無線文件傳輸協(xié)議RBTFT的研究與實現(xiàn)對于藍牙無線技術(shù)的發(fā)展有重要作用,本文簡要概述了藍牙無線技術(shù)和藍牙協(xié)議的基本理論,重點闡述了RBTFT協(xié)議及其工作流程。
關(guān)鍵詞:藍牙無線技術(shù);藍牙協(xié)議:RBTFT
中圖分類號:TN925
1 藍牙無線技術(shù)的重要性概述
藍牙技術(shù)相比其他電子設(shè)備而言,是一種成本低、科技含量高的非封閉式的無線通訊技術(shù),其使用范圍受距離限制明顯,只能在短距離范圍內(nèi)與電腦、便攜設(shè)備、打印機、數(shù)碼相機、鍵盤、電腦鼠標(biāo)等實現(xiàn)無線連接。當(dāng)前,受科學(xué)技術(shù)進步的推動和資源節(jié)約型社會的影響,無線連接技術(shù)發(fā)展迅速,受到社會歡迎。藍牙無線技術(shù)的發(fā)展應(yīng)用對于無線移動數(shù)據(jù)通信業(yè)務(wù)的發(fā)展起到了促進作用,藍牙無線技術(shù)普遍采用的2.4G赫茲頻帶為全球通用標(biāo)準,能保證藍牙無線技術(shù)在世界各地的推廣使用。換句話來說,藍牙無線技術(shù)使得各種電子數(shù)碼產(chǎn)品之間實現(xiàn)無線溝通,凈化了空間和節(jié)約了資源。整合藍牙無線技術(shù),可以在設(shè)備方圓九米的范圍內(nèi)實現(xiàn)電腦、便攜設(shè)備、收集、打印機、鍵盤等設(shè)備的無線連接,拓展無線通信網(wǎng)絡(luò)道路。當(dāng)前,藍牙無線技術(shù)主要采取分散式網(wǎng)絡(luò)結(jié)構(gòu)和快跳頻、短包技術(shù),實現(xiàn)點對點及點對多點通信。
2 藍牙協(xié)議的概念
藍牙協(xié)議的目的是使符合該協(xié)議的各種設(shè)備之間能夠傳遞信息。兩個相互之間傳遞信息設(shè)備需要使用相同的協(xié)議棧。藍牙協(xié)議棧采用的結(jié)構(gòu)是用來完成數(shù)據(jù)流的過濾和傳輸以及跳頻和數(shù)據(jù)幀傳輸?shù)姆謱咏Y(jié)構(gòu)。當(dāng)然不同設(shè)備可以在不同的協(xié)議棧上實行。但是,必須遵循一個共同的原則,那就是所有的協(xié)議棧都要使用藍牙協(xié)議中的數(shù)據(jù)層和物理層。支持藍牙使用模式的應(yīng)用層在協(xié)議中的最高位置。有的應(yīng)用不要用到協(xié)議中的所有內(nèi)容。相反,應(yīng)用僅用在藍牙協(xié)議棧中垂直方向的協(xié)議?;鶐?,鏈路管理,邏輯鏈路控制與適應(yīng)協(xié)議和服務(wù)搜索協(xié)議是藍牙的核心協(xié)議的四個組成單元。(1)基帶協(xié)議可以確?;ハ噙B接的藍牙設(shè)備射頻連接,以形成一個微小的網(wǎng)絡(luò)。(2)在藍牙各設(shè)備間連接的建立和設(shè)置需要鏈路管理協(xié)議。鏈路管理協(xié)議通過發(fā)起連接,進行身份驗證和加密,通過協(xié)調(diào)確定基帶數(shù)據(jù)大??;無線設(shè)備的節(jié)能模式和工作周期需要鏈路管理協(xié)議控制,以及那個微小網(wǎng)絡(luò)內(nèi)設(shè)備的連接狀態(tài)也是由該協(xié)議所控制的。(3)邏輯鏈路控制和適配協(xié)議(L2CAP)可以說是基帶的上層協(xié)議,L2CAP與鏈路管理協(xié)議是一個并列的關(guān)系,兩個協(xié)議是并行工作的。但是這兩個協(xié)議也有一定的區(qū)別,當(dāng)業(yè)務(wù)數(shù)據(jù)不經(jīng)過鏈路管理協(xié)議時,這個時候適配協(xié)議會提供上層服務(wù)。(4)服務(wù)搜索協(xié)議(SDP),使用該協(xié)議可以查詢到相應(yīng)的設(shè)備信息和服務(wù)類型,各藍牙設(shè)備間在此基礎(chǔ)上建立相應(yīng)的連接。所謂的支持協(xié)議主要指的是藍牙協(xié)議層,包括邏輯鏈路控制和適配協(xié)議(L2CAP)、無線射頻通信(RFCOMM)和業(yè)務(wù)搜索協(xié)議(SDP)。L2CAP提供分割和重組業(yè)務(wù)。RFCOMM是用于傳統(tǒng)串行端口應(yīng)用的電纜替換協(xié)議。SDP包括一個客戶/服務(wù)器架構(gòu),負責(zé)偵測或通報其它藍牙設(shè)備。
3 RBTFT協(xié)議的研究與實現(xiàn)
3.1 RBTFT協(xié)議的可靠性和穩(wěn)定性
RBTFT協(xié)議(Reliable Bluetooth File Transfer的簡稱)是指在RFC0MM協(xié)議基礎(chǔ)之上建立的一條端到端(或點到點)的文件傳輸協(xié)議。該協(xié)議的主要目標(biāo)在于在藍牙設(shè)備和其他數(shù)碼設(shè)備之間建立一條無線連接通道,該通道應(yīng)具有可靠性和穩(wěn)定性,以便踐行文件的可靠傳輸。該協(xié)議目前通常采用的開發(fā)應(yīng)用程序是VC++,以WIN98/2000/NT為應(yīng)用平臺,但RBTFT協(xié)議并不受VC++這一具體編程語言和WIN98/2000/NT操作系統(tǒng)的限制,它支持不同工作形式,包括一次傳輸多個文件、斷點續(xù)傳、CRC校驗等等,其設(shè)計思想源是在傳統(tǒng)的幀傳輸方式得到啟發(fā)的(這中方式在數(shù)據(jù)傳送過程中要求一幀一幀地發(fā)送,而不是整體發(fā)送)。為了確保文件傳送的可靠性,RBTFT協(xié)議明確了RBTFT幀的定義,規(guī)定幀由報頭和數(shù)據(jù)子包兩部分組成,其中報頭指明幀的類型(同時攜帶CRC校驗信息),數(shù)據(jù)子包有不同的子包結(jié)束符構(gòu)成,并明確是否有后續(xù)包等情況。RBTFT協(xié)議在進行數(shù)據(jù)傳輸時,采用發(fā)送---應(yīng)答---握手---失敗的傳輸方式,即在發(fā)送文件時一幀為單位,每發(fā)送一幀數(shù)據(jù)收到一個應(yīng)答,說明此次發(fā)送是成功的。
藍牙技術(shù)在利用RBTFF協(xié)議傳送文件時,最先要做的工作是進行串口初始化操作,如果這個操作成功,成功報告將通過異步消息RBTFF—CONNECT向應(yīng)用程序發(fā)送,告知系統(tǒng)文件傳輸通信線路連接已經(jīng)建立。開始是連接通信線路,接通成功后開始發(fā)送數(shù)據(jù),此時實際數(shù)據(jù)發(fā)送的多少將根據(jù)內(nèi)部緩沖區(qū)的內(nèi)存來決定,數(shù)據(jù)信息在內(nèi)部緩沖區(qū)內(nèi)被暫時存儲起來,根據(jù)RBTFF協(xié)議將這些數(shù)據(jù)以一幀幀的文件形式,并在文件里加入了幀信息和CRC校驗信息。接收方在接收文件的過程中,每成功接收一份文件,接收方系統(tǒng)將對接收的文件進行CRC校驗。如果文件接收不成功,將通過RBTFF協(xié)議后重發(fā)或協(xié)商,如果發(fā)送成功的前提下,不會向應(yīng)用程序系統(tǒng)發(fā)送任何信息報告,如果發(fā)送不成功,系統(tǒng)會自動放棄此鏈接線路,同時錯誤報告向發(fā)送給應(yīng)用程序。應(yīng)用程序?qū)⒆晕抑匦聫?fù)位此鏈接線路,也可以進行其他對應(yīng)的程序處理。在文件傳輸過程中,無論是文件發(fā)送方還是文件接收方,任何一方斷開文件鏈接,應(yīng)用系統(tǒng)內(nèi)部都將接收到文件傳輸關(guān)閉的信息,斷開文件傳輸鏈接線路。在文件接收方的按幀發(fā)送的數(shù)據(jù)將被去掉枕頭并重新回入接收緩沖區(qū),重新組合為原來的傳輸整體文件。之后再繼續(xù)下一個文件的傳輸,直至文件完全傳送。提高藍牙無線傳送文件的可靠性,在應(yīng)用層面主要依靠RBTFF協(xié)議支持斷點續(xù)傳。斷點續(xù)傳的原理在于RBTFF數(shù)據(jù)幀在報頭中攜帶有一個信息,該信息會指明文件數(shù)據(jù)在文件具體某個位置開始的偏移量。當(dāng)發(fā)生錯誤或連接中斷時,接收方發(fā)送一個帶有偏移量的信息幀,使得應(yīng)用程序系統(tǒng)能自動識別文件發(fā)送方重新傳送文件的意思,這種技術(shù)在文件數(shù)據(jù)量大的時候效果明顯。
3.2 RBTFT協(xié)議發(fā)送文件的過程
藍牙文件傳輸RBTFF協(xié)議發(fā)送單個文件的詳細過程可以這么理解:當(dāng)相互之間傳遞信息的設(shè)備,開始的時候設(shè)備要進行重試次數(shù)計數(shù)器的初始化,也就是計數(shù)器歸零。當(dāng)收發(fā)設(shè)備雙方建立連接,發(fā)送方設(shè)備搜尋文件指針,讀取文件長度并設(shè)置并發(fā)送報頭,這個報頭里包含有文件名稱以及大小。接收方會發(fā)來的響應(yīng)報頭信息。此時若接收方返回“已經(jīng)準備接收”,則開始發(fā)送第一個數(shù)據(jù)包,當(dāng)然接收方可以拒絕接收并信息返回。接收方返回確認信息后發(fā)下一個數(shù)據(jù)包;若嘗試連接過中重試20次后,還不能恢復(fù)連接,則放棄需要重新建立連接。當(dāng)接收方發(fā)送帶有偏移量的信息幀時,發(fā)送方接收該信息幀后,會自動跳到指定偏移量處繼續(xù)傳送,接收方放棄傳輸,文件傳輸完畢?!拔募鬏斖戤叀边@樣的提示信息會在設(shè)備屏幕上輸出來。
4 結(jié)束語
藍牙無線文件傳輸協(xié)議RBTFT的研究與實現(xiàn)對于藍牙技術(shù)的發(fā)展有重要作用,明晰RBTFT的工作原理和發(fā)送文件過程,有利于更好地實現(xiàn)藍牙無線文件傳輸?shù)陌l(fā)展。
參考文獻:
[1]王楠,侯紫峰,宋建平等.藍牙無線連接可靠性措施的研究與實現(xiàn)[J].小型微型計算機系統(tǒng),2003(05).
[2]劉任慶.藍牙技術(shù)的抗干擾性與可靠性分析[J].技術(shù)交流,2009(03).
作者簡介:李莉(1980.04-),女,吉林人,教師,講師,碩士,研究方向:計算機科學(xué)與技術(shù)。
作者單位:廣東白云學(xué)院,廣州 510450