基础概念
设备角色
1.中心设备:中心设备相对比价强大,用来连接其他外围设备。例如:手机
2.外围设备:一般是非常小的或者简单低功耗设备,用来提供数据,并连接到一个更加相对强大的中心设备,例如:小米手环,智能体温计等。
GATT(Generic Attribute Profile): 通用你属性配置文件,GATT定义了2个BLE设备通过Service和Characteristic进行通信的Profile,中心设备和外设唯一的通信方式就是通过建立GATT连接。
Service:GATT规定一个智能设备能有一个或者多个Service,Service是一个独立逻辑项,它包含一个或者多个Characteristic.
Characteristic: 是最小的逻辑数据单元,它包含一个关联的数据值
Descriptor : 是对Characteristic的描述,例如:范围、计量单位等
UUID : 唯一识别码,每个Serivce和Characteristic都有一个唯一的标志UUID,UUID可以用16bit或者128bit表示,UUID由固件工程师提供。
//获取只能设备所有的服务service
List<BLuetoothGattService>services = (BluetoothGatt)gatt.getServices();
//获取只能设备某个服务Service下所有的特征 Characteristic
List<BluetoothGattCharacteristic> characteristics = (BluetoothGattService)service.getCharacteristics();
//后去只能设备某个特征Characteristic下所有Descriptor
List<BluetoothGattDescriptor> descriptors = (BluetoothGattCharacteristic)
characteristic.getDescriptors();