一、基本BLE概念介绍
蓝牙BLE,主要以中心设备和周边设备作为区分,分别对应BLE设备的主机、从机,其主要区别是,从机可以发起广播,而主机能扫描广播,并主机连接BLE蓝牙从机。目前在Android 平台上,主机API从4.3以上已经支持,而从机API需要5.0以上的系统才能使用。
二、BLE 协议介绍
Generic Attribute Profile (GATT)
通过BLE连接,读写属性类小数据的Profile通用规范。现在所有的BLE应用Profile都是基于GATT的,也就是说BLE传输所用到的Service和Characteristic等都是通过GATT来
统一管理的。
API中GATT分别对应两个类,分别是BluetoothGatt和BluetoothGattServer,分别对应中心设备和外围设备的相关操作。
Attribute Protocol (ATT)
GATT是基于ATTProtocol的。ATT针对BLE设备做了专门的优化,具体就是在传输过程中使用尽量少的数据。每个属性都有一个唯一的UUID,属性将以characteristics and services的形式传输。
Service
Characteristic的集合。例如一个service叫做“Heart Rate Monitor”,它可能包含多个Characteristics,其中可能包含一个叫做“heart ratemeasurement”的Characteristic。
Characteristic
Characteristic可以理解为一个数据类型,它包括一个value和0至多个对次value的描述(Descriptor)。
Descriptor
对Characteristic的描述,例如范围、计量