【蓝牙精品系列文档】【02_gatt进阶】01_ATT协议详解
ATT 协议详解核心概念ATT(Attribute Protocol)是 BLE 数据访问的基础协议,采用 Client-Server 模型。Server 暴露属性(Attribute),Client 通过 ATT PDU 读写这些属性。Attribute(属性)每个属性由 4 个要素组成:┌──────────────┬──────────────┬──────────────┬──────────────┐ │ Handle: 2B │ Type: 2/16B │ Value: ≤512B │ Permissions │ │ 属性句柄 │ 属性类型(UUID)│ 属性值 │ 权限 │ └──────────────┴──────────────┴──────────────┴──────────────┘ Handle: 0x0001 ~ 0xFFFF,Server 中按递增顺序排列 Type: 16-bit 或 128-bit UUID,标识属性含义 Value: 0 ~ 512 字节 Permissions: Read / Write / Notify / Indicate + 认证/加密要求 在 ATT 层属性表中:Permissions = 1 字节(8 bits)标准 ATT/GATT 里,权限是一个 uint8(1 字节) 的位域: 每一位代表一种权限(读、写、加密、认证等) 常见位定义(不同芯片 SDK 会一致): bit0:Read bit1:Write bit2:Read Auth bit3:Write Auth bit4:Read Encrypt bit5:Write Encrypt ……一、整体前置认知这是BLE GATT 层的基础单元:Attribute(属性),整个蓝牙设备的服务、特征值、描述符,本质全是一个个 Attribute。每一条属性固定由句柄、类型、值、权限4 部分构成,是 BLE 数据交互的最小载体。二、逐个要素详解1. Handle(属性句柄)—— 2 字节(2B)核心作用属性的唯一编号 / 地址,主机(手机 / APP)靠这个编号定位要操作哪一条属性。长度:固定 2 字节,取值范围0x0001 ~ 0xFFFF(总共 65535 个可用句柄)规则:设备端(Server 从机)内部严格按从小到大递增排列,不会乱序、不会重复。举例:0x0001 = 第一条属性、0x0002 = 第二条…… 主机读写数据时,直接发「句柄 + 指令」,设备就能精准找到对应属性。类比:一栋楼里的房间门牌号,找房间就看门牌号。2. Type(属性类型)—— 2 字节 或 16 字节(2B / 16B UUID)核心作用定义这个属性 “是干什么的”,用 UUID 区分属性身份、功能、类别。分两种格式:16-bit UUID(2 字节)蓝牙协议预定义的标准通用属性,全网统一、大家都认识。例:0x2800:主服务0x2803:特征值声明0x2A00:设备名称0x2A19:电池电量128-bit UUID(16 字节)厂商自定义私有属性,标准蓝牙没有定义,用于厂商私有功能、自定义数据通道。长度更长,保证全球不重复。类比:门牌号对应房间用途标签(卧室 / 厨房 / 储物间),标签决定房间能干什么。3. Value(属性值)—— 最长 512 字节核心作用属性真正存储的业务数据,也是蓝牙收发的有效载荷。长度范围:0 ~ 512 字节(BLE 单条属性值上限)内容:可以是字符串、传感器数据、指令、状态、二进制数据流等。特点:主机读就是取这个值,写就是修改这个值。类比:房间里存放的东西,是最终要读写的内容。4. Permissions(权限)—— 访问控制规则核心作用规定谁能对这个属性做什么操作、需不需要加密 / 认证,是安全 + 访问限制规则。分为两大块:操作权限+安全权限(1)基础操作权限(4 种标准动作)Read 读允许主机读取当前属性的 Value 值。Write 写允许主机向属性写入新的 Value 值。Notify 通知从机(Server)主动上报数据给主机,无需主机主动读,数据变化就推送。特点:无应答,速度快,常用在传感器实时上报。Indicate 指示和 Notify 类似,也是从机主动推数据,但主机必须回复应答,可靠性更高。简单区分:Notify = 发消息不用对方回执;Indicate = 发消息必须等对方确认收到。(2)安全附加要求(认证 / 加密)搭配上面 4 种操作使用,做安全加固:加密(Encrypted):读写 / 推送该属性时,连接必须开启蓝牙加密,明文不传输。认证(Authenticated):除加密外,还需要设备配对、身份鉴权(绑定设备),安全等级更高。权限组合举例仅 Read:只能读,不能写、不能推送Read + Write:可读写,普通数据通道Notify + 加密:仅允许加密连接下主动推送数据Indicate + 认证:高安全级别的主动上报(如密码、

相关新闻

终极指南:如何免费解锁Wand专业版全部功能

终极指南:如何免费解锁Wand专业版全部功能

终极指南:如何免费解锁Wand专业版全部功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer 还在为Wand(原WeMod)…

2026/7/13 14:47:27阅读更多 →
虚幻引擎粒子系统实战指南:从级联编辑器到性能优化

虚幻引擎粒子系统实战指南:从级联编辑器到性能优化

1. 项目概述:从零开始理解虚幻引擎的粒子系统如果你刚接触虚幻引擎,看到“粒子系统”这个词可能会觉得它既神秘又强大。在游戏和实时渲染的世界里,粒子系统是创造那些令人惊叹的视觉效果的基石——无论是角色施法时指尖跃动的魔法火花、枪口喷…

2026/7/13 14:42:27阅读更多 →
ArcGIS Pro 3D场景构建与外部模型集成指南

ArcGIS Pro 3D场景构建与外部模型集成指南

1. 为什么需要将外部模型集成到ArcGIS Pro中?在三维地理信息系统中,真实世界往往需要精细的模型与地理环境相结合。比如城市规划中,设计师可能需要将建筑模型(.fbx格式)放置到真实地形上;考古复原时&#x…

2026/7/13 14:42:27阅读更多 →
Qwen2.5-0.5B-Instruct_rai_1.7.1_npu_16K:企业级AI应用部署终极指南

Qwen2.5-0.5B-Instruct_rai_1.7.1_npu_16K:企业级AI应用部署终极指南

Qwen2.5-0.5B-Instruct_rai_1.7.1_npu_16K:企业级AI应用部署终极指南 【免费下载链接】Qwen2.5-0.5B-Instruct_rai_1.7.1_npu_16K 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen2.5-0.5B-Instruct_rai_1.7.1_npu_16K 想要在AMD NPU硬件上快速部署高…

2026/7/13 15:57:37阅读更多 →
Qwen2.5-7B-Instruct_rai_1.7.1_npu_16K核心特性解析:16K上下文与NPU加速

Qwen2.5-7B-Instruct_rai_1.7.1_npu_16K核心特性解析:16K上下文与NPU加速

Qwen2.5-7B-Instruct_rai_1.7.1_npu_16K核心特性解析:16K上下文与NPU加速 【免费下载链接】Qwen2.5-7B-Instruct_rai_1.7.1_npu_16K 项目地址: https://ai.gitcode.com/hf_mirrors/amd/Qwen2.5-7B-Instruct_rai_1.7.1_npu_16K Qwen2.5-7B-Instruct_rai_1.7.…

2026/7/13 15:57:37阅读更多 →
GRETNA:让脑网络分析变得简单的MATLAB工具箱指南

GRETNA:让脑网络分析变得简单的MATLAB工具箱指南

GRETNA:让脑网络分析变得简单的MATLAB工具箱指南 【免费下载链接】GRETNA A Graph-theoretical Network Analysis Toolkit in MATLAB 项目地址: https://gitcode.com/gh_mirrors/gr/GRETNA GRETNA(Graph-theoretical Network Analysis Toolkit&am…

2026/7/13 15:57:37阅读更多 →
Palworld存档修复工具:专业级数据转换与备份解决方案

Palworld存档修复工具:专业级数据转换与备份解决方案

Palworld存档修复工具:专业级数据转换与备份解决方案 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾经在投入数百小时培养帕…

2026/7/13 15:57:37阅读更多 →
EldenRingSaveCopier完整指南:如何安全迁移你的艾尔登法环游戏存档

EldenRingSaveCopier完整指南:如何安全迁移你的艾尔登法环游戏存档

EldenRingSaveCopier完整指南:如何安全迁移你的艾尔登法环游戏存档 【免费下载链接】EldenRingSaveCopier 项目地址: https://gitcode.com/gh_mirrors/el/EldenRingSaveCopier 你是否曾在更换电脑或重装系统时,担心数百小时的《艾尔登法环》游戏…

2026/7/13 15:57:37阅读更多 →
logos-in-pure-css Apple Logo实现分析:复杂形状的CSS绘制策略

logos-in-pure-css Apple Logo实现分析:复杂形状的CSS绘制策略

logos-in-pure-css Apple Logo实现分析:复杂形状的CSS绘制策略 【免费下载链接】logos-in-pure-css Company logos created in pure CSS. 项目地址: https://gitcode.com/gh_mirrors/lo/logos-in-pure-css 在现代Web开发中,使用纯CSS绘制复杂图形…

2026/7/13 15:52:37阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/13 4:47:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/13 0:50:34阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/13 4:52:09阅读更多 →
卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

卡梅德生物技术快报|蛋白质分离纯化:肠激酶可溶性原核表达 + 两步层析全参数|标准化蛋白质分离纯化 SOP

研究痛点提出(提出问题)重组肠激酶是融合标签切除核心工具酶,当前原核表达体系存在三大标准化难题,直接阻碍可复现的蛋白质分离纯化流程搭建:Trx、GST、单 SUMO 标签融合产物绝大多数为包涵体,沉淀占比超 9…

2026/7/13 0:04:58阅读更多 →
语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效

语音转文字工具AsrTools:让音频整理变得简单高效 【免费下载链接】AsrTools ✨ AsrTools: Smart Voice-to-Text Tool | Efficient Batch Processing | User-Friendly Interface | No GPU Required | Supports SRT/TXT Output | Turn your audio into accurate text …

2026/7/13 0:04:58阅读更多 →
Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改

Palworld存档编辑完全掌握:从零开始实现游戏数据可视化修改 【免费下载链接】palworld-save-tools Tools for converting Palworld .sav files to JSON and back 项目地址: https://gitcode.com/gh_mirrors/pa/palworld-save-tools 你是否曾经想要调整Palwor…

2026/7/13 0:04:58阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/13 4:21:17阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/13 4:08:53阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/12 21:43:43阅读更多 →