1. gatt概念介绍

1. GATT的基本概念

通用属性配置文件(GATT)是基于属性协议(ATT)定义的一种服务框架,主要用于蓝牙低功耗(BLE)技术中管理和传输数据。

核心功能:

1)服务与特征的框架

服务(Service):代表设备的一项功能(如心率监测、电池电量)。

特征(Characteristic):服务中的具体数据(如心率值、电量百分比)。

每个特征包含数据值、权限(读/写)和描述符(如通知开关)。

2)关键操作

发现服务/特征:设备连接后,客户端(如手机)扫描并识别服务端的可用服务。

读取(Read):客户端主动获取特征的值(如读取温度传感器的数值)。

写入(Write):客户端修改特征的值(如调节智能灯泡的亮度)。

通知(Notify):服务端主动向客户端推送数据(无需确认,如持续发送心率数据)。

指示(Indicate):类似通知,但需要客户端确认收到(确保关键数据可靠传输)。

广播配置:设置服务端如何广播自身的存在或特定数据(如Beacon设备)。

2. GATT与ATT

ATT提供的是基础的属性操作,比如读写、通知等。而GATT可能在这些基础上构建更复杂的服务框架,比如服务、特征和描述符的结构。

GATT具体如何使用ATT的功能?比如,GATT定义的服务和特征是如何通过ATT的属性来组织的。

每个服务可能是一个属性,特征也是属性,而描述符也是属性的一种。所以GATT的结构其实是基于ATT的属性协议来排列这些属性的。

操作方面,GATT的发现、读写等过程应该都是通过ATT的请求和响应实现的。比如,发现服务可能涉及ATT的“Read By Group Type”请求,用来查找服务列表。特征的发现可能用“Read By Type”请求。读取和写入特征值直接用ATT的Read和Write命令

通知和指示功能也是基于ATT的,比如特征值的通知是通过ATT的Handle Value Notification,而指示则是Handle Value Indication,需要客户端确认。所以GATT的高层功能实际上是对ATT操作的封装和扩展。

权限和安全性方面,GATT可能利用ATT的属性权限设置,比如需要加密或认证才能访问某些属性。这也是依赖ATT的一个方面。

2.1 底层协议的依赖

2.2 数据结构的依赖

2.3 操作依赖

2.4 权限与安全依赖

2.5 分层模型

GATT(应用层逻辑)
│
└── ATT(属性协议,数据层)
    │
    └── L2CAP(逻辑传输层)
        │
        └── 蓝牙物理层(PHY)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值