智能手表蓝牙 GATT 通讯协议文档

以下是一份适用于智能手表的 蓝牙 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"}

五、连接与绑定流程

  1. App 扫描广播(含设备名称 AuroraS1 + MAC 后缀)
  2. 连接后读取 Device Info(Model/Ver)
  3. App 启动绑定流程(随机绑定码或 BLE pairing)
  4. 加密通道建立后允许所有功能访问

六、注意事项

  • OTA升级阶段需独占 FFF0 服务,不可并发其他命令
  • 所有时间同步应以 UTC 格式传输,避免时区混乱
  • 通讯应基于 ACK 超时重试机制(最多3次)
  • 建议使用 JSON 作为 Payload 格式,便于解析与扩展
  • 特征 Notify 应开启 CCCD 才能收到数据

七、版本控制记录

版本号 日期 修改说明
V1.0 2025-05-10 初版发布,定义基础命令、数据结构

喜欢的盆友点赞加收藏,关注不迷路

相关推荐
XH1.8 小时前
学习HAL库STM32F103C8T6(SPI、门禁密码实验)
stm32·嵌入式硬件·学习
机器视觉知识推荐、就业指导13 小时前
STM32 外设驱动模块:热敏电阻传感器模块
stm32·单片机·嵌入式硬件
GilgameshJSS14 小时前
STM32H743-ARM例程9-IWDG看门狗
c语言·arm开发·stm32·单片机·嵌入式硬件·学习
10001hours16 小时前
(基于江协科技)51单片机入门:5.定时器
科技·嵌入式硬件·51单片机
what&&why18 小时前
STM32控制继电器
单片机·嵌入式硬件
我不吃西红柿k21 小时前
蓝桥杯嵌入式——基础模块的使用(初始化+调度器+LED+按键+LCD)
单片机·嵌入式硬件
XCOSnTh1 天前
XCOSnTh单片机的串口
c语言·单片机·嵌入式硬件·算法·xcosnth
XINVRY-FPGA1 天前
XA7A75T-1FGG484Q 赛灵思 Xilinx AMD Artix-7 XA 系列 FPGA
嵌入式硬件·fpga开发·车载系统·云计算·硬件架构·硬件工程·fpga
驱动起爆大师x_x1 天前
CAN总线的数据采样和同步问题
stm32·嵌入式硬件·学习·can
XINVRY-FPGA1 天前
XC7A100T-2CSG324I 赛灵思 Xilinx AMD Artix-7 FPGA
arm开发·嵌入式硬件·fpga开发·硬件工程·信号处理·dsp开发·fpga