基礎(chǔ)概念
設(shè)備角色
1.中心設(shè)備:中心設(shè)備相對(duì)比價(jià)強(qiáng)大,用來連接其他外圍設(shè)備。例如:手機(jī)
2.外圍設(shè)備:一般是非常小的或者簡單低功耗設(shè)備,用來提供數(shù)據(jù),并連接到一個(gè)更加相對(duì)強(qiáng)大的中心設(shè)備,例如:小米手環(huán),智能體溫計(jì)等。
GATT(Generic Attribute Profile): 通用你屬性配置文件,GATT定義了2個(gè)BLE設(shè)備通過Service和Characteristic進(jìn)行通信的Profile,中心設(shè)備和外設(shè)唯一的通信方式就是通過建立GATT連接。
Service:GATT規(guī)定一個(gè)智能設(shè)備能有一個(gè)或者多個(gè)Service,Service是一個(gè)獨(dú)立邏輯項(xiàng),它包含一個(gè)或者多個(gè)Characteristic.
Characteristic: 是最小的邏輯數(shù)據(jù)單元,它包含一個(gè)關(guān)聯(lián)的數(shù)據(jù)值
Descriptor : 是對(duì)Characteristic的描述,例如:范圍、計(jì)量單位等
UUID : 唯一識(shí)別碼,每個(gè)Serivce和Characteristic都有一個(gè)唯一的標(biāo)志UUID,UUID可以用16bit或者128bit表示,UUID由固件工程師提供。
//獲取只能設(shè)備所有的服務(wù)service
List<BLuetoothGattService>services = (BluetoothGatt)gatt.getServices();
//獲取只能設(shè)備某個(gè)服務(wù)Service下所有的特征 Characteristic
List<BluetoothGattCharacteristic> characteristics = (BluetoothGattService)service.getCharacteristics();
//后去只能設(shè)備某個(gè)特征Characteristic下所有Descriptor
List<BluetoothGattDescriptor> descriptors = (BluetoothGattCharacteristic)
characteristic.getDescriptors();