GATT 按照层级定义了三个概
念:服务(Service)、特征(Characteristic)和描述(Descriptor)。他们的包
含关系如右边这个图所表示的:一个 Service 包含若干个 Characteristic,一个
Characteristic 可以包含若干 Descriptor。而 Characteristic 定义了数值和操作。
Characteristic 的操作这几种权限:读、写、通知等权限。我们说的 BLE 通信,
其实就是对 Characteristic 的读写或者订阅通知。还有最外面一层,Profile 配
置文件,把若干个相关的 Service 组合在一起,就成为了一个 Profile,Profile 就
是定义了一个实际的应用场景。这里有两个
角色,发送广播的一方叫做 Broadcaster,监听广播的一方叫 Observer。
基于连接的,就是通过建立 GATT 连接,收发数据。这里也有两个角色,发
起连接的一方,叫做中心设备—Central,被连接的设备,叫做外设—Peripheral。