1.BLE簡介:

藍(lán)牙設(shè)備
BLE 即 Bluetooth Low Energy,藍(lán)牙低功耗技術(shù),是藍(lán)牙4.0引入的新技術(shù),在安卓4.3(API 18)以上為BLE的核心功能提供平臺支持和API。與傳統(tǒng)的藍(lán)牙相比,BLE更顯著的特點(diǎn)是低功耗,所以現(xiàn)在越來越多的智能設(shè)備使用了BLE。
2.關(guān)鍵概念和術(shù)語
Generic Attribute Profile(GATT):GATT配置文件是一個通用規(guī)范,用于在BLE鏈路上發(fā)送和接收被稱為“屬性”的數(shù)據(jù)塊。目前所有的BLE應(yīng)用都基于GATT。 藍(lán)牙SIG規(guī)定了許多低功耗設(shè)備的配置文件。配置文件是設(shè)備如何在特定的應(yīng)用程序中工作的規(guī)格說明。注意一個設(shè)備可以實(shí)現(xiàn)多個配置文件。例如,一個設(shè)備可能包括心率監(jiān)測儀和電量檢測。Service:service是characteristic的集合。例如,你可能有一個叫“Heart Rate Monitor(心率監(jiān)測儀)”的service,它包括了很多characteristics,如“heart rate measurement(心率測量)”等。你可以在bluetooth.org 找到一個目前支持的基于GATT的配置文件和服務(wù)列表。
Characteristic:一個characteristic包括一個單一變量和0-n個用來描述characteristic變量的descriptor,characteristic可以被認(rèn)為是一個類型,類似于類。
Descriptor:Descriptor用來描述characteristic變量的屬性。例如,一個descriptor可以規(guī)定一個可讀的描述,或者一個characteristic
變量可接受的范圍,或者一個characteristic變量特定的測量單位。
他們之間的關(guān)系是一個BLE終端可以包含多個Service, 一個Service可以
包含多個Characteristic,一個Characteristic包含一個value和多個Descriptor,一個Descriptor包含一個Value。Characteristic是比較重要的,是手機(jī)與BLE終端交換數(shù)據(jù)的關(guān)鍵,讀取設(shè)置數(shù)據(jù)等操作都是操作Characteristic的相關(guān)屬性。
3.開發(fā)流程:
(1)權(quán)限問題:先判斷手機(jī)是否滿足android4.3以上版本,再判斷手機(jī)是否開啟藍(lán)牙。要加入兩個藍(lán)牙權(quán)限,和一個大概位置權(quán)限:
(2)搜索藍(lán)牙:搜索藍(lán)牙,回調(diào)接口中查看ble設(shè)備相關(guān)信息,一定時(shí)間停止掃描。
(3)連接藍(lán)牙:首先獲取到ble設(shè)備的mac地址,然后調(diào)用connect()方法進(jìn)行連接。
(4)獲取特征:藍(lán)牙連接成功后,需要獲取藍(lán)牙的服務(wù)特征等,然后開啟接收設(shè)置。
(5)發(fā)送消息:writeCharacteristic()方法,發(fā)送數(shù)據(jù)給ble設(shè)備。
(6)接收消息:通過藍(lán)牙的回調(diào)接口中onCharacteristicRead()方法,接收藍(lán)牙收的消息。
(7)釋放資源:斷開連接,關(guān)閉資源。
本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/38256.html