以下是一份适用于智能手表的 蓝牙 GATT 通讯协议文档,适用于 BLE 5.0 及以上标准,兼容 iOS / Android 平台:
智能手表蓝牙 GATT 通讯协议文档
文档版本:V1.0
编写日期:2025年xx月xx日
产品型号:Aurora Watch S1
适用芯片:EFR32BG22 / nRF52 / TLSR 系列等
一、协议概述
本通讯协议定义了 Aurora Watch S1 与手机 App 之间基于 Bluetooth Low Energy (BLE) 的 GATT 通讯结构,支持基础配置、实时同步、通知推送、健康数据同步等功能。
- 协议基础:GATT Profile(Generic Attribute Profile)
- 连接方式:Peripheral 模式(手表) ←→ Central 模式(手机)
- MTU Size:默认 247 bytes(支持扩展)
- 安全模式:BLE Secure Connections(支持绑定、加密)
二、GATT Profile 总览
Service 名称 | UUID(128-bit) | 用途说明 |
---|---|---|
设备信息服务 | 0x180A | 固件版本、厂商信息等 |
通用通讯服务(主服务) | 0000FFF0-0000-1000-8000-00805F9B34FB | 所有 App 与手表数据传输 |
时间同步服务 | 00001805-0000-1000-8000-00805F9B34FB | 时间校准 |
心率服务 | 0x180D | 实时/历史心率同步 |
电池服务 | 0x180F | 电池电量读取 |
三、通用通讯服务定义(UUID: FFF0)
用于 App 与手表之间自定义双向数据传输,使用 Notify + Write Without Response 组合。
3.1 特征定义
特征名称 | UUID | 属性 | 最大长度 | 描述 |
---|---|---|---|---|
下行控制 | FFF1 | Write Without Response | 247 bytes | App → 手表命令写入 |
上行通知 | FFF2 | Notify | 247 bytes | 手表 → App 数据上报 |
OTA升级通道 | FFF3 | Write/Notify | 247 bytes | 固件升级数据通道 |
四、协议数据结构
所有 FFF0 服务使用统一协议帧结构,格式如下:
| Byte 0 | Byte 1~2 | Byte 3 ~ N |
|----------|----------|------------------|
| CMD_ID | Length | Payload Data |
- CMD_ID:1 Byte,命令类型(详见下表)
- Length:2 Bytes,小端,Payload 长度
- Payload:具体数据内容,变长
4.1 常用命令定义
CMD_ID | 方向 | 功能说明 | Payload 示例 |
---|---|---|---|
0x01 | App→手表 | 请求设备信息 | 无 |
0x02 | 手表→App | 返回设备信息 | {"sn":"S1A001", "ver":"1.0.5"} |
0x10 | App→手表 | 设置时间 | 时间戳 (4 bytes, UNIX格式) |
0x11 | 手表→App | 返回时间确认 | 同步后时间戳 |
0x20 | App→手表 | 发送通知内容 | UTF-8 字符串(如来电、短信) |
0x21 | 手表→App | 用户点击操作反馈 | {“type”:“sms”,“action”:“read”} |
0x30 | 手表→App | 上传心率数据 | 时间戳 + 心率值序列 |
0x40 | App→手表 | OTA升级初始化 | 固件版本+大小校验码等 |
0x41 | App→手表 | OTA数据包 | 固件片段(最大240字节) |
0x42 | 手表→App | OTA结果回执 | {“result”:“success”} |
五、连接与绑定流程
- App 扫描广播(含设备名称 AuroraS1 + MAC 后缀)
- 连接后读取 Device Info(Model/Ver)
- App 启动绑定流程(随机绑定码或 BLE pairing)
- 加密通道建立后允许所有功能访问
六、注意事项
- OTA升级阶段需独占 FFF0 服务,不可并发其他命令
- 所有时间同步应以 UTC 格式传输,避免时区混乱
- 通讯应基于 ACK 超时重试机制(最多3次)
- 建议使用 JSON 作为 Payload 格式,便于解析与扩展
- 特征 Notify 应开启 CCCD 才能收到数据
七、版本控制记录
版本号 | 日期 | 修改说明 |
---|---|---|
V1.0 | 2025-05-10 | 初版发布,定义基础命令、数据结构 |
喜欢的盆友点赞加收藏,关注不迷路