蓝牙协议栈之att(chapter 4)

一、概要

ATT(attribute)属性,宽泛来讲,属性是一条带有标签,可被寻址的数据,它是描述一个数据的固有特征
在ble中,属性域由三部分构成,属性句柄(handler),属性类型(type)和属性值(value)
在这里插入图片描述
大家可能会问,属性是描述一个事务的固有属性,我们只需要属性类型和属性值就OK了,这样又节省带宽,又简介,这个属性句柄是什么鬼?
这里我们做一个假设,假设你的ble上有温度属性,属性类型 = “温度” 属性值 = 13
但是,如果有多个温度属性勒,这时候就需要属性句柄来发挥作用了,
属性句柄: 用来标识这是第几个温度属性。
属性类型: 应该不用解释了吧,温度啊,压强啊,功率啊,血压什么的都可以看着一个属性。但是这些属性类型不可能让我们各大商家去自主定义啊,肯定需要一个通用的规范啊,这时候SIG就出了熟悉的分配规则叫“蓝牙UUID“,
低功耗的蓝牙属性被SIG划分为如下几组范围:
在这里插入图片描述

二、属性数据库,服务器,客户端以及属性许可

很多属性的集合称为属性的数据库,最小为6种属性(具体为GAP服务 《首要服务》,设备名的 《特性》,设备名的 《值》,外观的 《特征》《值》 和gatt的 《首要服务》 这6种),最大可到(u32种)。
既然有了属性的数据库,肯定要有为数据库服务的服务器和消费数据的客户端了。
上面我们已经引入了属性的服务器和客户端的作用了,这里就不废话了。
属性许可:许可是运用操作的属性权限,比如,可读,可写,即可读又可写,即不可读又不可写。
举个栗子:温度属性,温度属性是环境上的具体属性,只可读,不具有可写权限。

2.1、客户端的接入属性

客户端可以通过如下任何一种消息类型来访问属性数据的各个属性、
在这里插入图片描述
在偌大的数据库中,如何提高客户端的访问速率勒???
1、客户端首先发起寻找请求来查找数据库中的属性。
2、发起读取请求去获取某一个属性值,这里会得到一个或者多个属性句柄以及属性的类型。
3、客户端对获取到的多个属性句柄发起写入操作。

三、属性协议

属性协议主要有以下6种基本操作构成、

在这里插入图片描述

具体交互方式如下、
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值