Android20藍牙功能及RFCOMMSDP簡介_第1頁
Android20藍牙功能及RFCOMMSDP簡介_第2頁
Android20藍牙功能及RFCOMMSDP簡介_第3頁
Android20藍牙功能及RFCOMMSDP簡介_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Android 2.0 藍牙功能及RFCOMM、SDP簡介一Android 2.0藍牙功能簡介Google 于2009年10月28日發(fā)布了Android SDK 2.0版本。對于開發(fā)人員來說,最關心的莫過于新版本添加了哪些新特性,API有哪些改動。2.0版本發(fā)布前,最受關注的就是能否在新版本中添加藍牙功能。Google果然不負眾望,在2.0版本中加入了藍牙功能,使Android平臺功能更加強大。藍牙模塊實現(xiàn)了以下功能:· 藍牙的打開/關閉。 · 設備和服務的探索。 · 使用RFCOMM連接遠程設備發(fā)送/接收數(shù)據(jù)。 · 公布RFCOMM服務和監(jiān)聽接入的RF

2、COMM連接。新版本添加了android.bluetooth包。該包提供了一些用于管理藍牙設備的功能類。藍牙的APIs允許應用程序連接或斷開headset(頭戴式耳機),掃描其他藍牙設備并與之配對。增強了寫和修改本地服務發(fā)現(xiàn)協(xié)議(Service Discovery Protocol ,SDP)數(shù)據(jù)庫,查詢其他藍牙設備SDP數(shù)據(jù)庫,在Android上建立RFCOMM通道/Socket,連接到其他設備指定Socket的控制。 注意:不是所有的Android設備都能保證有藍牙功能。下面是android.bluetooth包中類的簡述:BluetoothAdapter代表本地藍牙適配器??梢允褂?ge

3、tDefaultAdapter() 方法獲得默認的本地藍牙適配器。 使用 BluetoothDevice 類在遠程藍牙設備上進行操作。 BluetoothClass表示一個藍牙類 。藍牙類是一個32位字段,這些位的格式定義在。這個類包含32位字段,提供常數(shù)和方法去確定在這個字段中編碼的服務類和設備類(服務類可以有多個)。 每個藍牙類可組成零至多個服務類,確切的說是一個設備類。這個設備類進一步分解為主要和次要設備類組件。 這個類通常用于表示一個設備(如在用戶界面顯示一個圖標),但不能可靠的描述哪個藍牙配置或服務被設備支持。精確的服務搜索是通過SDP請求得到的。 .遠程設備可以通過get

4、BluetoothClass()方法檢索這個類。BluetoothClass.Device藍牙設備類。確切的說,每個 BluetoothClass 編碼一個設備類,分為主要和次要組件。 BluetoothClass.Device 里的常量表示一個主設備和從設備的組合(即完整的設備類)BluetoothClass.Device.Major 中的常量表示的只是主設備類。  參見BluetoothClass.DeviceBluetoothClass.Service藍牙服務類。 每個藍牙類編碼零至多個服務類。BluetoothDevice代表一個遠程藍牙設備??梢允褂?getRem

5、oteDevice(String) 方法創(chuàng)建一個BluetoothDevice. 實際上這個類是一個藍牙硬件地址的簡單封裝。這個類的對象是不變的。這個類的操作在遠程藍牙硬件地址上執(zhí)行,可使用藍牙適配器創(chuàng)建這個藍牙設備。 BluetoothServerSocket一個監(jiān)聽藍牙的Socket。這個藍牙Socket的接口類似于TCP的Sockets: Socket 和 ServerSocket. 在服務端,使用一個BluetoothServerSocket 創(chuàng)建一個監(jiān)聽socket. 它會返回一個新的已接收連接的BluetoothSocket 。在客戶端,使用同樣的BluetoothSocket 對

6、象去初始化輸出連接和管理已連接的socket. 最常見的藍牙Socket類型是RFCOMM. RFCOMM 是一個在藍牙上建立的定向的流傳輸連接。又稱為串行端口配置文件Serial Port Profile (SPP). 使用 createRfcommSocketToServiceRecord(UUID) 去創(chuàng)建一個新的BluetoothSocket,用于一個輸出連接到遠程藍牙設備。 使用 listenUsingRfcommWithServiceRecord(String, UUID) 去 創(chuàng)建一個用于監(jiān)聽的BluetoothServerSocket用于輸入連接到本地BluetoothAdap

7、ter. BluetoothSocket 和 BluetoothServerSocket 是線程安全的。特別要注意的是,close()方法會立即中斷操作并關閉socket. BluetoothServerSocket 中的所有方法都需要Manifest.permission 的BLUETOOTH 權限。BluetoothSocket一個已連接或正在連接的藍牙端口。 與服務端的連接參見BluetoothServerSocket 。該類中的所有方法也都需要Manifest.permission 的BLUETOOTH 權限。Android藍牙模型原理及設備之間的連接已再【eoeAndroi

8、d特刊】第六期中有所說明,在此不做贅述。詳情請參見【eoeAndroid特刊】第六期4-6節(jié)。二協(xié)議簡述藍牙規(guī)范(Specification of the Bluetooth System)就是藍牙無線通信協(xié)議標準,它規(guī)定了藍牙應用產(chǎn)品應遵循的標準和需要達到的要求。藍牙協(xié)議規(guī)范遵循開放系統(tǒng)互連參考模型(Open System Interconnetion/Referenced Model, OSI/RM),從低到高地定義了藍牙協(xié)議堆棧的各個層次。在藍牙規(guī)范中,中介協(xié)議是為高層應用協(xié)議或程序在藍牙邏輯鏈路上工作提供了必要的支持,為應用曾提供了各種不同的標準接口。這部分協(xié)議包括RFCOMM、SDP

9、、IrDA、(PPP/IP/TCP/UDP)、(TCS/AT)等。 2.1 串口仿真協(xié)議(RFCOMM) 基于歐洲電信標準化協(xié)會(European Telecommunication Standardization Institute, ETSI)的TS07.10標準制定。該協(xié)議用于模擬串行接口環(huán)境,使得基于串口的傳統(tǒng)應用僅作少量的修改或者不做任何修改可以直接在該層上運行。通過提供串行端口仿真,RFCOMM 可以同時支持遺留串行端口應用程序以及其它應用程序中的 OBEX 協(xié)議。RFCOMM 是 ETSI TS 07.10 標準的一個子集,也具有一些藍牙 特定的適配性。RFCOMM 協(xié)議能在兩臺

10、藍牙設備之間同時維持多達 60 個連接。藍牙設備中同時使用的連接數(shù)目取決于特定實施。由于有了 RFCOMM,完整的通信路徑包括兩個運行在不同設備(通信端點)上的應用程序及它們之間的通信段。上圖顯示了完整的通信路徑RFCOMM 旨在覆蓋利用串行端口設備的應用程序。在簡單的配置中,通信段是一個設備至另一設置之間(直接連接)的藍牙鏈路,參見下圖。當通信段為另一網(wǎng)絡時,藍牙無線技術可作為設備和網(wǎng)絡連接設備(例如調制解調器)之間的路徑。RFCOMM 僅與直接連接設備或網(wǎng)絡環(huán)境中的設備和調制解調器之間的連接有關。 2.2 服務發(fā)現(xiàn)協(xié)議(Service Discovery Protocol,SDP) 為實現(xiàn)藍牙設備之間相互查詢及訪問對方提供的服務。服務發(fā)現(xiàn)應用是一個特定的由用戶發(fā)起的應用。服務發(fā)現(xiàn)工作與兩個在藍牙設備中的SDP實例交互,其目的是使用某個特定的傳輸服務(RFCOMM)或者特定的用途(文件傳輸、無線電話、LAN AP等)。SDP直接支持以下幾種服務查詢:1).通過服務類進行服務查詢;2).通過服務屬性對服務進行查詢;3).服務瀏覽。一般的服務發(fā)現(xiàn)應用都被以上的三種服務查詢所覆蓋。其中前兩個代表了查詢已知或者指定的服務,并對類似“服務A是否有效?”或者“具有B和C特性的服務A是否有效?”的問題作出了回

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論