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

基于Android系統的低功耗藍牙技術

2018-02-26 09:45:22胡成
電子技術與軟件工程 2018年16期

胡成

摘要

近年來隨著智能可穿戴設備不斷發展,短距離的無線通訊技術顯得越來越重要,尤其是具有低待機功耗和運行功耗的低功耗(BLE)藍牙技術。本文基于Android系統,對低功耗藍牙技術協議棧、以及開發流程進行了研究分析,從而在Android系統上實現低功耗藍牙主從設備的通訊。

【關鍵詞】低功耗藍牙 Android系統 技術協議棧

隨著社會經濟的發展和人們生活質量的提高,智能可穿戴設備將應用的越來越廣泛。目前,各種智能可穿戴設備已經慢慢進入我們的日常生活中,最常見有智能手表、智能手環、智能眼鏡等,這些智能可穿戴設備大部分與智能手機綁定,通過藍牙進行數據共享。低功耗藍牙低待機功率和運行功率的特點非常符合當前智能可穿戴設備的發展需求。

1 BLE藍牙協議棧結構分析

BLE藍牙協議棧分為兩個部分,分別是控制器和主機。控制器由物理層(PHY)、鏈路層(LL)、主機控制接口(HCD組成。主機由邏輯鏈路控制及自適應協議層(L2CAP)、安全管理層(SM)、屬性協議層(ATT)、通用訪問配置文件層(GAP)、通用屬性配置文件層(GATT)組成。具體的協議說明如下。

1.1 物理層

對于低功耗藍牙,其物理層運行在2.4GHz全球通用的免許可證頻段,總共可使用40個頻道,頻道間隔為2MHz。

1.2 鏈路層

用于控制射頻設備的工作狀態,包括5種工作狀態:準備、廣播、掃描、啟動和連接。

1.3 主機控制接口

為主機和控制器之間的通信提供了一種標準化的接口。

1.4 邏輯鏈路控制及自適應協議層

用于為更高層提供數據封裝服務。

1.5 安全管理層

定義了配對和密匙分發的方式,實現安全連接和數據交換。

1.6 屬性協議層

用于所有低功耗藍牙的數據傳輸,具有快速、簡單的特點。

1.7 通用訪問配置文件層

是所有其他配置文件的基礎,定義了在BLE藍牙設備間建立系帶鏈路的通用方法,負責處理設備的接入方式和過程,包括設備發現、鏈路建立、啟動安全功能以及設備配置。

1.8 通用屬性配置文件層

定義了使用ATT的服務框架和配置文件(profiles)的結構,相當于ATT層提供給用戶開發的接口。

2 Android低功耗藍牙開發

低功耗藍牙是在Android4.3版本之后才增加的功能。開發低功耗藍牙的應用都要遵守GATT協議,具體的開發流程如下所示。

2.1 授權及初始化

要進行BLE應用的開發,必須在AndroidManifest.xml文件中加入相應的開發權限。開發時,首先驗證所使用的Android操作系統版本是否支持BLE功能。若支持則還需要檢查手機是否具有藍牙硬件。然后應用程序通過BluetoothManagement類可以獲取本地藍牙適配器,獲取適配器之后,需要查看是否開啟,可以調用isEnabled()。當返回值為true時,則表示藍牙設備已經打開,此時可以以ACTION_REQUEST_ENABLE為參數新建一個intent,再使用startActivityForResult調用intent對象開啟藍牙。

2.2 搜索設備

使用BluetoothAdapter類的startLeScan()搜索BLE設備,該方法使用了BluetoothAdapter.LeScanCallback接口作為參數,通過接口中的回調函數得到BIE設備。整個搜索過程會占用一定的系統資源和電能的消耗,在定時搜索后需要調用stopLeScan()停止掃描。

2.3 連接設備

Android手機與B1E設備連接,就是需要與GATT服務器建立連接。可以通過如下示例代碼實現。

final BluetoothDevice device=mBluetoothAdapter.getRemoteDevice(“mac字符串”);

mBluetoothGatt=device.connectGatt(mContext,false,mGattCallback);

通過以上代碼可以讓客戶端應用程序與GATT服務器建立連接。其中參數mGattCallback是一個基于GATT服務的回調,需要實現多個回調函數,通過這些回調函數可以將設備的連接狀態、服務和特性傳遞到客戶端應用程序的業務層。

2.4 設備通信

設備連接成功之后,可以使用BluetoothGatt類的讀寫方法對藍牙的Characteristic進行操作從而實現數據讀寫。主動讀取數據時,mGattCallback中的onCharacteristicReado會被執行,通過mBluetoothGatt.readCharacteristic(characteristic)讀取數據。使用通知方式實現數據讀取時,則當從設備數據有變化,onCharacteristicChanged()會被執行,提供更新的數據。寫數據時通過mBluetoothGatt.writeCharacteristic(characteristic)寫入,此時需要先將數據字節數字用setValue()寫入到Characteristic中。

3 結束語

目前許多智能可穿戴設備備受人們的歡迎,搭載于智能手機的Android操作系統,可以通過低功耗藍牙控制智能可穿戴設備。報告顯示,Android操作系統已經占領了全球智能移動手機最大份額,未來基于Android操作系統的智能可穿戴設備具有巨大的市場前景,低功耗藍牙技術也將會有廣闊的發展前景。

參考文獻

[1]孫光宇,張玲玲.Android物聯網開發從入門到實戰[M].北京:清華大學出版社,2015:112-115.

[2]錢志鴻,劉丹.藍牙技術數據傳輸綜述[J].通信學報,2012,33(04):143-151.

[3]周進波,張磊,張敏,袁欽鵬.基于Android系統藍牙開發的研究與實現[J].光學儀器,2013,32(01):35-36.

主站蜘蛛池模板: 国产成人高清精品免费| 久久99国产综合精品1| 成人在线第一页| 国产青青草视频| 欧美一级在线| 亚洲高清中文字幕| 米奇精品一区二区三区| 成人午夜视频免费看欧美| 国产AV毛片| 996免费视频国产在线播放| 日韩欧美中文字幕在线韩免费| 99热这里只有免费国产精品| 色悠久久久久久久综合网伊人| 91精品国产福利| 亚洲精品福利视频| 中文字幕啪啪| аⅴ资源中文在线天堂| 日韩区欧美国产区在线观看| 国产成人做受免费视频| 亚洲国产成人精品一二区| 91九色视频网| 国产91小视频| 日韩经典精品无码一区二区| 日韩精品无码不卡无码| 欧美日韩中文国产| 蜜臀AV在线播放| 欧美一区日韩一区中文字幕页| 国产亚洲欧美在线人成aaaa| 麻豆国产精品一二三在线观看| 亚洲人免费视频| 日本中文字幕久久网站| 99在线观看视频免费| 国产99视频精品免费观看9e| 最新国产在线| 亚洲无码视频一区二区三区 | 亚洲三级电影在线播放| 久久久久无码国产精品不卡 | 蜜桃视频一区二区三区| 亚洲国产黄色| 91区国产福利在线观看午夜 | 精品偷拍一区二区| 日韩av无码DVD| 成人精品在线观看| 精品欧美日韩国产日漫一区不卡| 97在线国产视频| 日本三级精品| 欧美三级日韩三级| 在线一级毛片| 欧美另类图片视频无弹跳第一页| 乱人伦视频中文字幕在线| 狠狠干欧美| 伊人久久青草青青综合| 九九免费观看全部免费视频| 国产精品一区在线观看你懂的| 免费在线看黄网址| 欧美日韩一区二区三| 成人免费午间影院在线观看| 在线99视频| 国产人成在线观看| 无码在线激情片| 爱爱影院18禁免费| www欧美在线观看| 亚洲欧美激情另类| 色网站在线免费观看| 久久五月天综合| 欧美亚洲一区二区三区在线| 国产精品手机在线观看你懂的| 日韩欧美在线观看| 凹凸国产分类在线观看| 精品小视频在线观看| 国产精品视频观看裸模| 四虎永久在线| 国产 在线视频无码| 日本在线亚洲| 亚欧美国产综合| 好吊妞欧美视频免费| 精品夜恋影院亚洲欧洲| 亚洲一区二区三区国产精品| 99久久精品免费看国产电影| 亚洲第一区在线| 久久久精品国产SM调教网站| 成人福利一区二区视频在线|