GATT专题3
蓝牙中uuid实现什么功能 ?蓝牙手表中uuid表示什么功能 ?蓝牙手表中有多少个uuid ?
我用最直白、嵌入式开发最实用的方式给你讲清楚:
UUID 在蓝牙里干什么、手表里代表什么、一般有多少个。
1. 蓝牙中 UUID 实现什么功能?
UUID = 全球统一的“功能编号 / 服务编号”
BLE 通信不能只发裸数据,必须按服务(Service)+ 特征(Characteristic)来组织。
而 UUID 就是给这些服务和特征起的唯一名字,让双方都能看懂:
- 这是心率服务
- 这是电池电量
- 这是固件升级通道
- 这是按键通知
作用只有一个:
让主机(手机)和外设(手表)能互相识别:这是什么功能,该怎么交互。
2. 蓝牙手表里 UUID 表示什么功能?
手表是 GATT Server(外设),它向外提供一堆服务,每个服务/特征都有 UUID。
常见手表 UUID 对应的功能:
(1)标准 SIG UUID(16位,官方规定)
0x180D心率服务 Heart Rate0x2A37心率测量值0x180A设备信息 Device Information
型号、固件版本、厂商名0x180F电池服务 Battery0x2A19电池电量百分比0x1800通用访问服务 GAP0x1801通用属性服务 GATT0x1812人体工学服务(按键、寻呼)
(2)自定义 UUID(128位,厂商自己定义)
智能手表几乎都有大量私有 UUID,用来实现:
- 步数、卡路里、睡眠
- 血氧、压力、体温
- 来电/消息通知
- 闹钟、久坐提醒
- 找手机、找手表
- 抬腕亮屏、勿扰模式
- 固件升级 DFU
- 时间同步
- 控制拍照、音乐
简单说:
标准 UUID → 通用功能
自定义 UUID → 手表专属功能
3. 蓝牙手表中有多少个 UUID?
没有固定数量,但行业非常典型的范围是:
服务 UUID(Service)
大约 8~20 个
特征值 UUID(Characteristic)
大约 30~80 个
总 UUID 数量
一般在 40~100 个左右
功能越多的手表(运动健康、支付、语音)UUID 越多。
极简总结(方便记忆)
- UUID = 功能的身份证号
- 手表里:
- 标准 UUID → 心率、电池、设备信息
- 自定义 UUID → 步数、消息、升级、控制等
- 数量:
- 服务:十几个
- 特征:几十个
- 总共:几十~一百个左右
如果你告诉我你用的是 Nordic / STM32 / NuttX / 小米手表 哪一类,我可以直接给你列一份真实手表完整 UUID 清单,和你工程里能看到的一模一样。
浙公网安备 33010602011771号