news 2026/4/17 17:12:52

BLE服务特征描述

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BLE服务特征描述

在蓝牙规范中通常指 GATT 服务 (Service) 与特征 (Characteristic) 的概念及其层级关系。

GATT 数据模型层级

在低功耗蓝牙 (BLE) 中,设备连接后通过 GATT (通用属性协议) 进行数据交换。其数据模型是一个三层结构:

服务 (Service) → 特征 (Characteristic) → 描述符 (Descriptor)

* 服务 (Service)一个服务代表设备的一项完整功能模块,如“心率服务”或“电池服务”。每个服务由一个唯一的 UUID 标识,可包含多个特征。

* 特征 (Characteristic)特征是服务中实际存储和传输数据的单元,是数据交互的最小粒度。例如,“心率服务”下的“心率测量值”就是一个特征。每个特征包含:

* 特征值 (Value):真正的数据,如

"72 bpm"。

* 属性 (Properties):定义可对该值执行的操作,如读 (Read)、写 (Write)、通知 (Notify)、指示 (Indicate)。

* 描述符 (Descriptors):对特征的附加说明信息。

* 描述符 (Descriptor)用于描述特征的元数据。最常见的描述是 CCCD (客户端特征配置描述符),客户端通过写入它来启用或禁用某个特征的通知/指示功能。

核心概念对比

下表清晰展示了服务、特征和描述符的区别:

概念 作用 通俗比喻 是否承载业务数据

服务 (Service) 将相关的功能打包成一个模块 图书馆的“科技区” 否,仅作为功能分类

特征 (Characteristic) 存放具体的数据点和操作方式 科技区里的“某本书” 是,是实际的数据载体

描述符 (Descriptor) 对特征进行补充说明 书的“使用说明”或“目录” 否,仅描述特征本身

常见标准服务示例

蓝牙技术联盟 (SIG) 定义了许多标准服务,方便设备间互操作:

* 电池服务 (Battery Service, 0x180F)

* 特征: 电池电量 (UUID 0x2A19)

* 操作: 手机可读取电量百分比,或订阅电量变化通知。

* 设备信息服务 (Device Information Service, 0x180A)

* 特征: 厂商名称、型号、序列号等。

* 操作: 手机可读取设备的基本信息。

* 心率服务 (Heart Rate Service, 0x180D)

* 特征: 心率测量值、心率传感器位置等。

* 操作: 手环将心率值通过通知推送给手机。

自定义服务与特征

除了标准服务,开发者也可以定义自己的服务和特征,以实现特定功能(如设备控制、自定义传感器数据等)。

* UUID 格式

* 16位 UUID: 由 SIG 分配给标准服务/特征,如 "0x180F"。

* 128位 UUID: 用于自定义功能,通常基于 SIG 的基 UUID ("0000xxxx-0000-1000-8000-00805F9B34FB") 进行修改。

* 典型应用一个自定义的“串口服务”可能包含:* TX 特征 (用于发送): 属性为 "Notify" + "Read"。

* RX 特征 (用于接收): 属性为 "Write" /

"Write without response"。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 23:46:58

Java面试场景:深入探讨Spring Boot与微服务架构应用

Java面试场景:深入探讨Spring Boot与微服务架构应用 场景描述 在一家互联网大厂的面试场景中,小白程序员“超好吃”面试Java开发岗位。面试官是一位严肃但不失温和的技术专家,整个面试过程由三轮提问组成,涉及Spring Boot、微服务…

作者头像 李华
网站建设 2026/4/18 5:08:37

35岁程序员必看!大模型转型全攻略+学习资源,收藏这篇就够了!

35岁程序员面临职业转型十字路口时,大模型作为当下最热门的技术赛道,无疑是极具吸引力的选择。但跨领域转型并非易事,需要系统规划与稳步推进。以下是专为35岁程序员量身定制的大模型领域转行落地步骤,兼顾基础入门与技能衔接&…

作者头像 李华
网站建设 2026/4/18 5:07:56

转行大模型开发必备:知识体系、能力要求与实战指南,非常详细收藏我这一篇就够了

本文详细解析转行大模型开发所需的知识体系与学习路径,涵盖编程语言、数学基础、机器学习、NLP等核心技能,并从入门到专业阶段规划了技术路线。通过明确各项技术的掌握程度,结合医疗行业应用案例和岗位需求数据,为转行者提供系统性…

作者头像 李华
网站建设 2026/4/18 5:05:33

【系统】- window引导损害

背景 window ubuntu双系统,删除ubuntu后,无法进去window,停留在grub命令行 解决办法 步骤一: 临时启动Windows,在GRUB命令行中,可以尝试直接启动Windows: # 查找Windows分区 ls # 列出所有分区&…

作者头像 李华
网站建设 2026/4/18 5:07:53

深度学习毕设项目推荐-基于python-pytorch训练CNN模型对核桃的品质识别基于python-pytorch训练CNN模型对核桃的品质识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华