蓝牙协议分为
ATT(属性协议) 主要定义了属性 和 GATT将“属性”分装为服务和特征值 。
ATT :attribute 包含四个字段,类型,句柄,权限,值
类型:由一个128bits的uuid表示
句柄:唯一的无字符号数
权限:确定客户端是否可以读取和修改资源
值:可以是定长页可以是变长
GATT
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-imoBvvjj-1653701212294)(蓝牙协议.assets/image-20220528092124978.png)]
一个配置文件可以含有多个服务,每个服务又由各自的特征组成
服务
服务可以有一个或多个特征,服务使用UUID与其他服务区分开来,对与通用的服务使用16bits的UUID,对于自定义服务则使用128bits的服务。
特征
每个特征包含特征属性,特征值,描述符
特征属性(上图中的properties)由以下属性组成
属性类型为:“特征“
属性值由3个位域组成:特征UUID(2/16字节),特征属性(1字节),特征句柄(2字节)
属性权限必须是可读的,并且不需要身份验证或授权
特征属性位域显示了如何使用特征值或其描述符可以访问。它可以是广播,读取,无响应写入,写入,通知,指示,已认证签名写入或扩展属性
特征值(上图中的value)
属性类型与特性声明中的UUID相同。
属性值是特征值。
属性权限是特定于实现的
描述符
特征描述符是可选的,用于提供有关特征的附加信息