Bluetooth GATT详解:服务与特性的发现、读写
需积分: 9 109 浏览量
更新于2024-07-09
收藏 2.56MB PDF 举报
"Bluetooth GATT介绍 .pdf"
蓝牙低功耗(Bluetooth Low Energy,BLE)技术中的GATT(Generic Attribute Profile)是核心组件之一,它为应用层提供了一个基于属性的交互模型,允许设备间进行数据交换和服务发现。GATT主要用于物联网(IoT)设备,如传感器和可穿戴设备,因为它的低功耗特性使其非常适合于短距离、小数据量的通信场景。
GATT定义了一套服务架构,这些服务由服务器端提供,并由客户端发现和访问。服务由一系列的特征(Characteristic)组成,每个特征可能包含多个值,可以被读取、写入或者订阅以获取实时更新。服务和特征是GATT的核心概念,它们定义了设备如何暴露其功能和接收或发送数据。
服务(Service)在GATT中是一个逻辑单元,它可以是基本服务(Primary Service)或复合服务(Secondary Service)。基本服务由一个或多个16位或128位UUID(Universally Unique Identifier)标识,包含了相关的特征和其他服务。复合服务则依赖于其他服务,它们可以用来组织和扩展服务结构。
特征(Characteristic)是数据实际存储和传输的地方。每个特征都有一个UUID,可以是可读、可写、可通知或可指示。可读特征允许客户端读取其值,可写特征允许客户端写入新值,而通知和指示则用于实现双向通信。通知是单向的,服务器可以主动将更新推送给已订阅的客户端,而指示则需要客户端确认接收到数据。
GATT的交互流程通常包括以下步骤:
1. 服务发现:客户端通过扫描和连接到服务器,然后查询服务器提供的服务列表。
2. 特征发现:客户端在选定的服务中查找感兴趣的特征。
3. 数据交互:客户端读取特征值、写入新的值,或者订阅特征以接收通知或指示。
在蓝牙协议栈中,GATT运行在L2CAP(Logical Link Control and Adaptation Protocol)之上,L2CAP处理更底层的数据传输。GATT并不依赖于控制器的角色(Master/Slave),因此,设备可以同时作为客户端和服务器,根据需求进行交互。
在实际应用中,比如在计算机与温度传感器的例子中,计算机作为GATT客户端,发起请求以读取传感器(作为GATT服务器)的温度值。这样的设计使得不同类型的设备能够灵活地相互作用,实现了蓝牙设备间的高效、低功耗通信。
2017-12-05 上传
103 浏览量
2022-09-23 上传
2019-09-13 上传
2019-09-13 上传
2020-07-23 上传
2021-02-01 上传
2021-04-16 上传
2021-02-20 上传
嵌入式知识大讲堂
- 粉丝: 274
- 资源: 7
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性