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

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

相关推荐
fengfuyao9852 小时前
STM32如何定位HardFault错误,一种实用方法
stm32·单片机·嵌入式硬件
爱学习的颖颖2 小时前
EXTI外部中断的执行逻辑|以对射式红外传感器计次为例
单片机·嵌入式硬件·exti中断
keer_zu3 小时前
STM32L051 RTC闹钟配置详解
stm32·嵌入式硬件
globbo10 小时前
【嵌入式STM32】I2C总结
单片机·嵌入式硬件
玖別ԅ(¯﹃¯ԅ)11 小时前
SysTick寄存器(嘀嗒定时器实现延时)
stm32·单片机·嵌入式硬件
limitless_peter11 小时前
集成运算放大器(反向比例,同相比例)
嵌入式硬件·硬件工程
Blossom.11812 小时前
把 AI 推理塞进「 8 位 MCU 」——0.5 KB RAM 跑通关键词唤醒的魔幻之旅
人工智能·笔记·单片机·嵌入式硬件·深度学习·机器学习·搜索引擎
清风66666619 小时前
基于51单片机的手机蓝牙控制8位LED灯亮灭设计
单片机·嵌入式硬件·智能手机·毕业设计·51单片机·课程设计
anghost1501 天前
基于单片机的超市储物柜设计
单片机·嵌入式硬件·超市储物柜设计
qq_526099131 天前
工控机的用途与介绍:工业自动化的重要引擎
嵌入式硬件·自动化·电脑