华为手环 BLE 直连
通过 Web Bluetooth API 直接连接华为手环,读取心率、电池、设备信息等标准蓝牙服务数据。 无需账号、无需安装APP,浏览器直连,数据仅本地存储。
⚠️ 重要说明:华为/荣耀手环使用FE86私有协议,不支持标准蓝牙心率/电池服务。 需要完成4步握手认证才能读取数据。本功能基于Gadgetbridge开源项目逆向实现。
查看方法:手环 → 设置 → 关于 → 蓝牙地址
格式:12位十六进制,用冒号分隔,如 C4:B3:01:D8:AC:36
加密算法:AES-128-CBC + HMAC-SHA256。
所有密钥仅在本地生成,不会上传到任何服务器。
详细日志请查看「BLE调试台」页面。
用于调试协议,测试不同的写入通道和命令。所有通知(FE02/FE04/4A02)都会显示在BLE调试台。
2. 选择写入通道和命令,点击发送
3. 查看BLE调试台,看哪个通道有响应
4. 「一键测试所有通道」会自动往三个通道都发步骤一命令
以下功能部分基于标准GATT服务,部分基于华为私有协议。私有协议功能可能需要配对认证后才能使用。 不支持的功能会灰显并说明原因。
⚠️ 私有协议功能,需要华为账号认证
⚠️ 私有协议功能,需要华为账号认证
通过华为 Health Kit API 获取更完整的健康数据。需要注册华为开发者账号并配置 OAuth 2.0。
📝 接入指南
- 注册华为开发者账号
- 创建 Health Kit 应用,获取 Client ID
- 配置 OAuth 2.0 回调地址
- 部署后端代理服务(API 不能直接前端调用)
- 在下方配置 API 地址和 Client ID
连接设备后自动发现所有 GATT 服务和特征值
将本地存储的健康数据导出为各种格式,方便备份和进一步分析。
从备份文件恢复数据
所有数据仅存储在浏览器本地 IndexedDB 中,不会上传到任何服务器。
• Chrome(桌面端和安卓)
• Microsoft Edge
• Opera
• Bluefy(iOS)
• WebBLE(iOS)
不支持的浏览器:
• Safari(macOS 和 iOS)
• Firefox
• 大部分国内浏览器
注意:Web Bluetooth 必须在 HTTPS 环境下才能使用。
所有数据仅存储在你的浏览器本地 IndexedDB 中,不会发送到任何服务器。 BLE 连接是浏览器直接与手环建立的,数据不经过任何第三方。 你可以随时导出或清空所有数据。
本工具是纯前端应用,没有后端服务器,也没有任何数据收集功能。
1. 确保手环已开机且在附近(10米内)
2. 确保手环没有连接其他设备(如手机)
3. 开启"扫描所有设备"选项,手动选择
4. 重启手环蓝牙(重启手环)
5. 确保浏览器有蓝牙权限
6. 部分机型广播名称特殊,需要全量扫描
建议开启"扫描所有设备"选项。
• 心率(实时和历史)
• 步数、距离、卡路里
• 睡眠数据(深睡、浅睡、清醒)
• 血氧饱和度
• 压力值
• 运动记录
• 身高体重
需要注册华为开发者账号并配置 OAuth 2.0 授权。 由于 API 限制,需要部署后端代理服务。
✅ 标准GATT服务(可用):
• 时间同步(Current Time Service)
• 找手环/立即提醒(Immediate Alert Service)
⚠️ 华为私有协议(受限):
• 天气同步
• 星历数据同步
• 闹钟设置
• 步数目标设置
私有协议功能需要华为账号认证和配对加密,网页端无法完全实现。 我们会持续研究协议,尽可能支持更多功能。
已确认情况:
• 设备信息服务(180A):✓ 正常可用
• 标准心率服务(180D):✗ 不存在
• 标准电池服务(180F):✗ 不存在
• 私有协议服务(FE86):✓ 存在
原因:
心率、电池等健康数据都通过FE86私有服务传输,需要先进行认证和加密配对。
认证需要华为账号ID(17位数字),且协议有加密保护。
当前状态:
• 设备信息可正常读取
• 私有协议已检测并初始化
• 心率/电池数据需要认证后才能读取
• 正在研究协议,争取支持更多功能
本工具基于Huawei Link Protocol v2 (FE86)私有协议开发,兼容所有使用该协议的华为/荣耀穿戴设备。 数据来源:Gadgetbridge 官方支持列表 及华为官方规格。
FE86 私有协议:华为/荣耀穿戴设备的私有BLE通信协议,基于Huawei Link Protocol v2。所有健康数据通过加密通道传输,需要完成4步握手认证后才能读取。Gadgetbridge 从 v0.78.0 开始支持。
标准GATT协议:蓝牙标准心率(0x180D)、电池(0x180F)、设备信息(0x180A)等服务。部分老款设备同时支持GATT和FE86,新款设备仅通过FE86提供数据。
| 设备型号 | 产品代码 | 蓝牙版本 | FE86协议 | 认证方式 | Gadgetbridge | 本工具状态 | 备注 |
|---|---|---|---|---|---|---|---|
| 华为手环系列 | |||||||
| 手环 11 Pro | — | BT 6.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 最新旗舰,HarmonyOS |
| 手环 11 | — | BT 6.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 2026年新款 |
| 手环 10 | — | BT 5.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 2025年款 |
| 手环 9 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | HarmonyOS 4.0 |
| 手环 8 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | — |
| 手环 7 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 手环 6 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 手环 4 Pro | TER-B29 | BT 4.2 | ✓ | 4步认证 | ✓ | ★ 已实测 | 正在调试绑定流程 |
| 手环 4 | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 手环 4e | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 跑步豆形态 |
| 手环 3 Pro | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 内置GPS |
| 手环 3e | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | 跑步豆形态 |
| 手环 2 Pro | — | BT 4.2 | △ 旧版 | 未知 | ✓ | △ 待验证 | 协议可能不同 |
| 手环 2 | — | BT 4.2 | △ 旧版 | 未知 | ✓ | △ 待验证 | 协议可能不同 |
| 荣耀手环系列 | |||||||
| 荣耀手环 9 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 荣耀手环 7 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 荣耀手环 6 | — | BT 5.0 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 荣耀手环 5 | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 荣耀手环 4 | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
| 荣耀手环 3 | — | BT 4.2 | ✓ | 4步认证 | ✓ | △ 理论兼容 | Gadgetbridge已支持 |
- ★ 已实测:在本工具中实际连接测试过,基本功能可用(绑定流程仍在调试中)。
- ✓ 理论兼容:该设备在Gadgetbridge中已获得官方支持,使用相同的FE86协议,理论上本工具也能兼容。
- △ 待验证:设备较旧或协议版本不同,需要实际测试确认。
- 所有设备都需要先在华为运动健康App中解绑,才能在本工具中重新配对。
- 本工具为纯网页端BLE实现,部分高级功能(固件更新、表盘上传等)暂不支持。
- 如果你有其他型号的手环并愿意帮助测试,欢迎反馈!
Huawei Link Protocol v2 是华为自研的BLE通信协议,用于穿戴设备与手机之间的数据交换。关键特征:
- 数据包格式:0x5A + LEN(大端) + 0x00 + Service ID + Command ID + TLV数据 + CRC16/XMODEM(大端)
- 加密方式:AES-128-CBC + HMAC-SHA256
- 认证流程:4步握手(链接参数 → 认证 → 绑定参数 → 绑定)
- 服务UUID:
0000FE86-0000-1000-8000-00805F9B34FB - 特征值:FE01(写) / FE02(通知) / FE03(写) / FE04(通知)
- 健康数据通过加密通道传输,必须先完成认证
本工具参考了 Gadgetbridge 开源项目和 Huawei Link protocol v2 文档 的逆向工程成果。