999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android的藍牙全雙工通信技術研究與實踐

2023-03-20 04:44:20趙敏涯
無線互聯科技 2023年1期
關鍵詞:設備方法

趙敏涯

(蘇州市職業大學 計算機工程學院,江蘇 蘇州 215104)

0 引言

藍牙技術有效地簡化了移動通信終端設備之間的無線短距離通信問題,使得數據傳輸更加迅速高效。藍牙技術工作在全球通用的2.4 GHz的ISM頻段,使用無須申請許可證,不需要支付任何費用,同時具備小體積、低功耗、低成本、高傳輸速率、抗干擾強、組網簡單等特點。因此,藍牙技術被廣泛應用于手機、電腦、汽車醫療等智能電子產品終端設備中[1-2]。

藍牙技術發展至今已有20余年,早期的傳統經典藍牙BR/EDR的設計意圖是打電話時播放音樂,功耗高、數據量大、傳輸距離短,主要應用于早期的藍牙耳機和藍牙音箱等。隨著藍牙4.0技術的出現,低功耗藍牙BLE成為主流,它更省電、低延遲、傳輸距離更長,區別于BR/EDR,BLE分為單模和雙模兩種設備。單模藍牙稱為Bluetooth Smart,有專有的logo,應用于功耗要求低的手表、共享單車鎖、防丟器等小型傳感器穿戴設備中。雙模藍牙稱為Bluetooth Smart Ready,也有專有的logo,支持BR/EDR和BLE,應用于智能手機、降噪耳機、智能電視遙控器等供電穩定的移動設備中。

1 藍牙通信基本流程

藍牙技術建立了一個通用的無線電空中連接平臺級數據通信的公共標準,大大促進了計算機技術和無線通信技術的融合,讓不同的電子設備之間可以進行近距離連接與數據傳輸,而不再需要通信電纜就可實現互聯互通功能。

藍牙通信采用時分全雙工傳輸技術,可以實現點對點或點對多點的無線交互功能。

一個藍牙終端理論上可以同時連接最多7個藍牙設備。要在支持藍牙技術的設備之間進行通信,基本的工作流程如圖1所示。

圖1 藍牙設備之間的基本通信流程

任何無線通信技術都存在被監聽和破解的可能,因此在進行通信之前,設備之間需要進行配對和連接。配對是兩個藍牙設備之間的首次通信認證,而配對成功之后的通信則不再需要每次確認。

2 全雙工藍牙通信技術實踐

2.1 整體設計思路

各藍牙設備開啟藍牙功能,對于沒有配對的設備,先進行兩兩配對。已經配對成功的設備可以作為服務器開啟服務端線程,監聽一個或多個客戶端設備的連接請求,連接成功后可以作為服務端進行消息的發送和接收。同時,配對成功的設備也可以作為客戶端向指定服務端設備發送連接請求,連接成功后可以作為客戶端進行消息的發送和接收。對于同一個設備,可以同時扮演客戶端和服務端的角色。基本通信流程如圖2所示。一個設備作為客戶端只能同時連接一個服務端,作為服務端則可以同時連接多個客戶端。

圖2 藍牙通信流程

其中,藍牙的開關、掃描發現、配對和連接狀態通過Android組件的廣播接收器Broadcast Receiver來注冊監聽。

2.2 界面設計

主界面如圖3所示。藍牙開關、掃描、服務端開啟、消息發送通過按鈕單擊事件設計實現,發送雙方的消息顯示在界面中部,所有已配對的、掃描到的未配對設備顯示在列表控件ListView中,列表項的長按事件改變設備的配對狀態,短按即單擊事件用于當前設備作為客戶端向列表中設備發送連接請求。

圖3 應用主界面

2.3 通信模塊設計與實現

藍牙設備兩兩配對以后就可以進行連接通信了。

Android的藍牙通信系統和Socket套接字密切相關,藍牙端的監聽接口和TCP的端口類似,都是使用了Socket和ServerSocket類。在服務端使用Bluetooth ServerSocket類來創建一個開放式監聽服務接口,在客戶端使用一個單獨的BluetoothSocket類去初始化一個連接并管理該連接。當一個BluetoothSocket類的連接對象被BluetoothServerSocket類接收,則返回一個新的BluetoothSocket連接并管理該連接。

連接都是阻塞式的,所以要放在線程里去執行。連接成功后,兩臺設備在相同的串行端口規范RFCOMM通道通過各自的BluetoothSocket對象中的輸入、輸出流進行數據傳輸[3]。

2.3.1 消息發送與接收控制

不管是作為服務端還是客戶端進行消息發送與接收,基本的處理機制是一樣的,文章提供兩個通用的類方法分別完成消息內容的發送和接收。

消息的基本處理步驟如下:

通用消息收發工具類MsgUtil{

void sendMsg(String 消息字符串msg){//發送消息方法頭

開啟線程Thread{

獲取輸出流getOutputStream();

調用輸出流方法write(msg);

調用輸出流方法flush()提交數據;

Android子線程不能直接更新UI,所以返回主線程runOnUiThread(){

在當前設備界面上顯示發送的msg;

}

}

}

void getMsg(){//接收消息方法頭

開啟線程Thread{

獲取輸入流getInputStream();

循環讀取輸入字節流并保存于StringBuffer容器對象中;

Android子線程不能直接更新UI,所以返回主線程runOnUiThread(){

在當前設備界面上顯示接收到的msg;

}

}

}

}

2.3.2 服務端設計

作為服務端主要是監聽客戶端連接請求,連接成功后接收來自客戶端的數據,需要在線程中進行。基本處理步驟如下:

線程類{

構造方法{

初始化BluetoothAdapter對象;

獲取BluetoothServerSocket對象;

}

run方法{

監聽連接請求accept(),返回BluetoothSocket對象;

調用MsgUtil類方法getMsg()方法接收客戶端數據

}

cancel方法{

圖4 設備A和設備C之間的消息收發

資源釋放;

}

}

2.3.3 客戶端設計

作為客戶端主要是向服務端發送連接請求,連接成功后接收來自服務端的數據,需要在線程中進行。基本處理步驟如下:

線程類{

構造方法{

獲取服務端設備BluetoothDevice對象

獲取BluetoothSocket對象;

}

run方法{

發送連接請求connect();

調用MsgUtil類方法getMsg()方法接收服務端數據}

cancel方法{

資源釋放;

}

}

3 藍牙通信測試

筆者使用一臺Android 11系統的vivo X60手機作為設備A,一臺HarmonyOS 2.0.0系統的華為平板電腦M6作為設備C進行通信測試。

兩臺設備都可以具備服務端和客戶端雙重角色。如圖4所示,任何一臺設備都可以作為服務端或者客戶端發送和接收消息,并能正確地顯示在界面上,從而實現了雙向全雙工數據通信,而且即使設備沒有互聯網連接,也可以進行消息收發。

4 結語

藍牙作為短距離無線傳輸技術之一,有其自己的優勢和應用領域,如無需互聯網連接實現數據交換,支持較大的文件傳輸,成本低,安全性高等。Android系統從4.3開始支持低功耗藍牙,有完備的協議棧和應用程序框架層的SDK包,使得基于Android藍牙技術的開發越來越便捷。文章就是在此基礎上設計實現了具備一定社交功能的藍牙全雙工通信功能模塊,并盡可能簡化代碼,提高程序復用性,實踐結果表明效果良好,在缺乏網絡等情況下有一定的應用價值。

猜你喜歡
設備方法
諧響應分析在設備減振中的應用
學習方法
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
可能是方法不對
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 久久黄色免费电影| 国产精品久久久久久久久久久久| 国产玖玖视频| 国产拍揄自揄精品视频网站| 亚洲一道AV无码午夜福利| 国产在线精品美女观看| 99视频有精品视频免费观看| 亚洲男人的天堂在线观看| 国产精品蜜臀| 日本欧美成人免费| 日韩欧美网址| 国产精品微拍| 人妻丰满熟妇αv无码| 色婷婷亚洲综合五月| 六月婷婷激情综合| 爱爱影院18禁免费| 成人久久精品一区二区三区 | 国产一级在线观看www色| 丝袜国产一区| 国产精品一区二区无码免费看片| 一区二区欧美日韩高清免费| 色婷婷啪啪| 99久久精品国产麻豆婷婷| 国产白浆在线| 国产免费怡红院视频| 一本大道东京热无码av| 亚洲色偷偷偷鲁综合| 国产亚洲美日韩AV中文字幕无码成人 | 97成人在线视频| 久久亚洲国产一区二区| 国产原创第一页在线观看| 午夜福利视频一区| 久久99国产视频| 欧美午夜在线视频| aⅴ免费在线观看| 欧美色综合网站| 国产美女久久久久不卡| 免费观看男人免费桶女人视频| 免费毛片a| 亚洲天堂日韩av电影| 亚洲区第一页| 亚洲欧洲自拍拍偷午夜色| 无码中文字幕精品推荐| 国产又黄又硬又粗| 亚洲成人网在线观看| 毛片手机在线看| 人妻夜夜爽天天爽| 国产成人91精品| 午夜精品福利影院| 国产麻豆91网在线看| 色老头综合网| 97精品伊人久久大香线蕉| 91小视频在线播放| 91免费在线看| 特黄日韩免费一区二区三区| 国产又粗又猛又爽视频| 亚洲高清国产拍精品26u| 欧美国产日韩在线观看| 在线色国产| 黄色网在线| 亚洲专区一区二区在线观看| 久久免费观看视频| 亚洲视频三级| 成人国产免费| 四虎国产永久在线观看| 久久精品无码一区二区国产区| 人妻精品久久无码区| 国产精品99在线观看| 午夜无码一区二区三区在线app| 色哟哟国产精品一区二区| 亚洲美女视频一区| 国产精品第一区在线观看| 亚洲天堂2014| 精品一区二区三区波多野结衣 | 高清国产在线| 91激情视频| 操操操综合网| 国产麻豆精品在线观看| 四虎影视无码永久免费观看| 中文字幕在线看| 97在线公开视频| 欧美一区二区丝袜高跟鞋|