智能手表蓝牙 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 初版发布,定义基础命令、数据结构

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

相关推荐
弄曲幽篁2 小时前
精密全波整流电路(四)
嵌入式硬件·硬件工程
邹诗钰-电子信息工程3 小时前
bmp280的压力数据采集(i2c设备驱动+设备树编写)
stm32·单片机·嵌入式硬件
Ronin-Lotus6 小时前
嵌入式硬件篇---有线串口通信问题解决
单片机·嵌入式硬件·ttl·rs232·rs485·有线串口
Ronin-Lotus8 小时前
嵌入式硬件篇---zigbee无线串口通信问题
嵌入式硬件·zigbee·无线串口
GalaxySinCos8 小时前
08 51单片机之串口通信
单片机·嵌入式硬件·51单片机
悠哉悠哉愿意8 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
Coovally AI模型快速验证10 小时前
数据集分享 | 智慧农业实战数据集精选
人工智能·算法·目标检测·机器学习·计算机视觉·目标跟踪·无人机
李永奉10 小时前
STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)
c语言·开发语言·stm32·单片机·嵌入式硬件
糖糖单片机设计11 小时前
硬件开发_基于STM32单片机的电脑底座系统
stm32·单片机·嵌入式硬件·物联网·51单片机
IT项目分享14 小时前
ESP32入门实战:PC远程控制LED灯完整指南
单片机·嵌入式硬件·micropython·it项目网