其他分享
首页 > 其他分享> > BLE GAP 协议和 GATT 协议

BLE GAP 协议和 GATT 协议

作者:互联网

BLE GAP 协议和 GATT 协议

最近要打算学习 Blufi 协议进行蓝牙配置,其中必然使用 GAP 协议和 GATT 协议,于是进行重新学习一番。

BLE 是一个 Bluetooth SIG 组织颁布的协议,对于使用 BLE 我们开发人员,最关注的是 上层的 GAP 协议和 GATT 协议。

1.1 GAP 和 GATT 有什么不同呢?

GATT 尤其关注于数据如何被格式化、打包、然后跟据分发规则去在网络中发送。属性协议(ATT)与GATT紧密相连,那么GATT 处于 ATT 的上层,使用 ATT 去描述数据如何在两个连接的设备中交换。

1.2 GAP (Generic Access Profile)

GAP 即通用存取协议,BLE设备可以使用两种机制与外部世界通信:广播或连接。GAP 就是用来定义设备跟设备之前是用过广播呢,还是连接去通信的。

下面 GAP 将回答 怎么连接或广播? 和 **连接后 GAP 可以做什么?**两个问题。

怎么连接或广播?

一个设备通过选择 GAP 中指定的一个角色去连接到一个 BLE 网络。

广播: 这个过程中,设备没有连接。包含广播者和观察者两种角色。

**连接:**设备之间必须连接,一般生产环境中更常用。

连接后能做什么?

**中心设备可以修改连接参数:**中心设备创建一些连接的参数,中心设备可以更改参数,外设只能通过请求中心设备去更改参数。

**外设或中心设备可以中止连接:**两者可以主动、或者因为异常而断开连接。

1.3 GATT(Generic Attribute Profile)

类似 GAP,在这一层协议上,我们有两种角色:

所以,当我们使用 GAP 协议建立了连接,然后就可以使用 GATT 协议进行数据的存取实现不同的义务功能。

标签:GATT,GAP,BLE,连接,外设,设备
来源: https://www.cnblogs.com/doiting/p/12552124.html