蓝牙连接排查
本页用于排查手机端 App 与 Rokid Glass3 之间的蓝牙扫描、配对和连接问题。
1. 蓝牙在 SDK 中的作用
Glass3 SDK 中,蓝牙主要用于:
- 扫描和发现眼镜设备。
- 建立手机与眼镜的基础连接。
- 传输小消息、控制指令和部分轻量数据。
- 发起 P2P 建连协商。
大文件、图片、视频和实时音视频流建议走 P2P。
2. 连接前检查
| 检查项 | 要求 | 说明 |
|---|---|---|
| 眼镜系统 | 企业版/工作系统 | Rokid AI 企业版只能连接企业系统。 |
| 手机 App | 企业版 App 或企业版 Demo | 消费版 App 与企业版系统不通用。 |
| 蓝牙开关 | 手机和眼镜均已开启 | 建议重启蓝牙后再试。 |
| 定位权限 | Android 10+ 通常需要 | 蓝牙扫描可能依赖定位权限。 |
| 附近设备权限 | Android 12+ 需要 | 包括 BLUETOOTH_SCAN、BLUETOOTH_CONNECT。 |
| 连接占用 | 眼镜未被其他手机连接 | 已连接其他手机时通常扫描不到。 |
3. 扫描不到眼镜
可能原因
- 手机未授予蓝牙、附近设备或定位权限。
- 手机蓝牙或眼镜蓝牙未开启。
- 眼镜已经被另一台手机连接。
- 眼镜系统和手机 App 版本不匹配。
- 扫描过滤条件不正确。
排查步骤
- 在系统设置中确认 App 已获得蓝牙、附近设备和定位权限。
- 确认眼镜未连接其他手机。
- 在手机系统蓝牙设置中查看是否能发现
Glass3_XXXX。 - 检查扫描过滤逻辑,确认没有过滤掉
Glass3_前缀设备。 - 保留从申请权限到开始扫描的完整 logcat。
4. 扫描到但连接失败
可能原因
- 历史配对信息失效。
- 眼镜已连接其他手机。
- 手机系统蓝牙栈异常。
- 企业版/消费版系统或 App 不匹配。
- 业务侧在 SDK 初始化前过早发起连接。
排查步骤
- 在手机系统蓝牙设置中取消配对,再重新连接。
- 重启手机和眼镜。
- 确认使用的是企业版系统和企业版 App/Demo。
- 确认 SDK 初始化完成后再发起扫描和连接。
- 捕获连接失败前后 30 秒 logcat。
5. 蓝牙已连接但消息异常
现象
- 连接状态显示成功,但收不到消息。
- 手机发给眼镜无响应。
- 眼镜发给手机无响应。
排查重点
- 手机端和眼镜端
clientId是否一致。 - 眼镜端应用是否已注册客户端。
- 接收回调是否已正确注册。
- 目标 App 是否在前台或未被系统清理。
- 大文件是否误走蓝牙传输。
6. 日志建议
请保留完整连接链路日志:
text
申请权限 → 开始扫描 → 发现设备 → 发起连接 → 连接结果 → 发送/接收消息提交问题时建议提供:
- 手机型号和 Android 版本。
- 眼镜 SN 和系统版本。
- SDK 版本。
- App 包名。
- 是否连接过其他手机。
- 完整 logcat。
7. 快速判断
| 现象 | 优先判断 |
|---|---|
| 完全扫描不到 | 权限、系统版本、是否被其他手机连接。 |
| 扫描到但连不上 | 配对状态、系统/App 是否匹配、蓝牙栈是否异常。 |
| 连接后消息不通 | clientId、回调注册、眼镜端 App 是否存活。 |
| 大文件传输慢 | 不要走蓝牙,改用 P2P。 |