超碰激情 I 成人福利网站 I 淫国产 I 曰批视频免费30分钟成人 I 刘亦菲裸体视频一区二区三区 I 午夜久 I 尤物综合 I 亚洲一区av在线观看 I 欧美亚洲国产精品久久高清 I 欧美老熟妇乱子伦视频 I 无码中出人妻中文字幕av I 久久美女福利视频 I 精品无人区乱码1区2区3区在线 I 性饥渴的农村熟妇 I 色综合综合色 I 少妇人妻88久久中文字幕 I 久久夜色精品国产噜噜av I 老熟妇仑乱视频一区二区 I 男女做爰猛烈叫床视频动态图 I 日本大片一区二区 I 人成午夜免费视频在线观看 I 激情婷婷av I 男女下面一进一出免费视频网站 I 久久影视一区 I 午夜污网站 I 先锋人妻无码av电影 I 久久久久久久岛国免费网站 I 又粗又大又黄又硬又爽免费看 I 人妻无码免费一区二区三区 I www.色成人100 I 欧美高清网站 I 精品国产第一页 I 国产suv一区二区三区88区 I 橹图极品美女无圣光 I 午夜宅男欧美

產品分類

當前位置: 首頁 > 傳感測量產品 > 數據采集產品 > RFID系統 > 讀寫器

類型分類:
科普知識
數據分類:
讀寫器

基于藍牙的手機文件傳輸軟件

發布日期:2022-05-20 點擊率:50

  藍牙(Bluetooth)是由東芝、愛立信、IBM、Intel和諾基亞等公司等于1998 年5 月共同提出的近距離無線數據通信技術標準。它能夠在10 米的半徑范圍內實現單點對多點的無線數據和聲音傳輸,其數據傳輸帶寬可達到1Mbps.本文利用藍牙技術開發一個用于手機文件數據傳輸的軟件,具有即建即連、使用靈活、安全高效等特點,避免傳統網絡文件傳輸軟件存在的問題。

1 藍牙通信的關鍵技術

藍牙無線電技術基于在工業、科學以及醫學(ISM)上公用的2.45GHz 開放頻段,這一頻段無需授權并全球通用。當藍牙設備互相連接時,他們將組成一個微微網(piconet),即以一個主設備和最大7 個從設備的形式動態創建網絡。其私有化和個性化特征表現得尤為突出。

1.1 藍牙協議棧

藍牙協議棧提供了一組的高層協議和API 以完成發現服務和模擬串行I/O,還有一個關于包分割和重組的低層協議以及多路技術協議和質量服務。藍牙協議棧分為硬件和軟件兩部分,藍牙硬件協議棧由設備硬件提供,藍牙軟件協議棧則由軟件實現。

藍牙軟件協議棧是程序開發中的關鍵部分,其層次從下至上依次是: 宿主控制器接口(HostController Interface,HCI) 是藍牙軟件協議棧的最底層,直接和宿主控制器接口固件(Host ControllerInterface FIRmware)交互。邏輯鏈路控制和適配協議(Logical link Control and Adaptation Protocol,L2CAP) 該層負責處理包分割重組,為上層協議提供了有保證的服務。服務發現協議(ServiceDiscovery Protocol,SDP)包含用于發現服務是否有效等操作。RFCOMM 位于L2CAP 之上,提供了模擬標準串口通信的能力。對象交換協議(Object Exchange Protocol,OBEX)用于實際程序中的對象數據交換。

圖1 藍牙協議棧

1.2 J2ME 對藍牙的支持

早在JSR82 規范中就定義了javax.bluetooth 和javax.obex 兩個包,其中javax.bluetooth 定義了與藍牙通信相關的API , 而javax.obex(Object ExchangeProtocol)是建立在串口通信之上,實現以對象為單位的通信。在javax.bluetooth 中,Java 藍牙API 可以被分解為三個部分:發現服務、設備管理和藍牙通信,其主要類及接口有:本地藍牙管理器LocalDevice、遠程藍牙設備RemoteDevice、搜索代理DiscoveryAgent、搜索偵聽DiscoveryListener、描述藍牙服務的特征屬性ServiceRecord 及藍牙服務屬性的類型DataElement.

1.3 J2ME 平臺下藍牙通信流程

圖2 藍牙通信流程圖

藍牙通信也是基于通用連接框架,與常見的C/S架構類似,只是客戶端不知服務端的存在,需要通過無線搜索去發現。搜索到遠程設備后,還需要進行服務搜索去發現對方提供了哪些服務。

其中,藍牙通信是基于通用連接框架,對不同客戶端而言,需要通過搜索來獲得與服務端的連接信息。

藍牙服務端使用連接通知者對象,用于等待遠程設備的連接,類似于阻塞式socket 服務端,它將一直等待直到接收到客戶端的連接請求。對于藍牙客戶端的搜索服務分為設備搜索和服務搜索,后者需要基于指定的遠程設備才能進行。客戶端和服務器端在獲得藍牙協議連接后,通過連接創建輸入/輸出流來進行通信。

2 手機文件傳輸軟件的實現

2.1 藍牙服務端的實現

2.1.1 獲得本地設備管理器

獲得本地設備管理器會導致系統提示是否需要啟動藍牙服務,該步驟是藍牙設備通信最基本的初始化。

通過LocalDevice 類的getLocalDevice 方法即可獲取本地設備管理器。

try {

localDevice = LocalDevice.getLocalDevice();

} catch (BluetoothStateException init) {

init.printStackTrace();

}

1234

下一篇: PLC、DCS、FCS三大控

上一篇: 超聲波測距系統的設計

推薦產品

更多