跳转到内容

连接配套 App

配套客户端由 Flutter 开发。网页里的外观模型不是真机屏幕镜像, 也不会因为打开网页就自动连接手表。

先回到 STM32 的正常手表界面,不要停在 BW16 独占应用或烧录界面。

  • 快捷操作:单独长按左上键约 1 秒,然后松开。 这是蓝牙开关:关闭时开启,开启时关闭。不要同时按左下键或右侧键,组合按键会取消这个快捷操作。
  • 菜单操作:进入“系统设置 → 设置”,找到“蓝牙”,按确认切换 ON/OFF。 这一项立即发起切换,不需要再点页面底部“应用”。

开启时可能短暂显示 BLE STARTING;等待设置页蓝牙状态变成 ADVERTISING(正在广播),再在 App 连接。CONNECTED 表示已有连接,OFF 表示未开启。 再次长按左上键会关闭蓝牙,App 连接也会断开。若显示 BLE BUSY,先等待当前切换完成,不要连续重复按。

当前 App 个别提示仍写着“同时按上下键”或“BLE LINK”,属于旧文案;当前正常菜单不提供独立 BLE LINK 页面,以本页的单键操作为准。

这里的“密码”是 6 位数字设备验证码,不是 Wi-Fi 密码,也不是 Windows/手机系统的蓝牙配对 PIN。

  • 购买成品的用户: 使用随设备提供的验证码;没有拿到时联系维护者,不要尝试示例码。目前没有公开统一默认码。
  • 自己编译的用户: 使用你烧入 BW16 固件时,在 firmware/rtl8720dn/NanoUI/ble_auth.local.h 中配置的 CRABIT_BLE_AUTH_CODE。STM32 固件不负责定义这个码。

在 App 中打开“设备”页,点击连接按钮下方的 “设置设备验证码”,输入完整 6 位数字,点击“保存”。

App 连接入口:连接手表按钮下方是设置设备验证码

App 实际控件,模拟未连接状态。先点“设置设备验证码”,再点“连接手表”。

验证码输入对话框:输入六位数字后点击保存

输入框刻意留空,不展示真实验证码。填写随设备提供的码;不是照抄图片中的示例密码。 如果直接点“连接手表”,尚未保存验证码时也会先弹出“输入设备验证码”对话框。 验证码保存在此 App 的本地设置中,后续手动重连会自动发送,不需要每次重新输入。 不要在公开截图、交流群或日志中暴露验证码。

  1. 确认电脑/手机的系统蓝牙已开启,手表已按上面的步骤开始广播。
  2. 在 App“设备”页点击“连接手表”。App 会扫描并连接 Crabit-Watch,无需先在系统蓝牙设置中完成绑定。
  3. 等待设备码验证完成。展开“连接检查”,分别查看“BLE 连接”“设备码验证”“传输验证”。
  4. 如果传输验证尚未完成,点击“验证传输”;只有显示“通信已验证”,才开始读取状态或修改设置。

App 通信已验证,展开连接检查查看三个验证状态

App 实际控件,模拟验证完成状态,用于识别成功界面,不代表本次连接了实体手表。

需要断开时,点 App 的“断开连接”。仅断开 App 不等于关闭手表蓝牙;不再使用时,可在手表长按左上键关闭。

在“设备”页先点“断开连接”,等操作结束,再点 “更改已保存验证码” → 输入正确的 6 位数字 → 保存 → 连接手表。 连接中按钮可能暂时不可点,先结束当前操作即可。

这个按钮只改 App 本地记录,不会修改手表的密码。 随便在 App 换一个码,设备端仍会按原来的码验证,结果就是验证失败。

更换手表真正使用的验证码(自行编译)

Section titled “更换手表真正使用的验证码(自行编译)”

目前没有从 App 或手表菜单远程修改设备验证码的功能。设备码在 BW16 编译时确定:

  1. 打开自己的源码目录 firmware/rtl8720dn/NanoUI/。
  2. 如果没有 ble_auth.local.h,复制同目录的 ble_auth.local.example.h,将副本命名为 ble_auth.local.h。
  3. 在本地文件中,把 CRABIT_BLE_AUTH_CODE 的字符串值改为自己选择的 6 位数字,保留引号和宏名称。不要修改或提交示例文件来存个人验证码。
  4. 按固件更新与恢复的配套烧录流程重新编译、烧录 BW16。只改 App 或只烧 STM32 都不会更改设备码;不熟悉烧录的成品用户先联系维护者。
  5. 在 App 按上一节更改本地保存的验证码,使两端一致,再重新连接。

ble_auth.local.h 是本地私有配置,不应提交 Git,也不要把其中内容放进问题截图。忘记设备码时,App 不能从手表读取它;自行编译者可在自己的本地配置中确认,成品用户联系维护者。

现象 先检查
找不到设备/连接超时 系统蓝牙开启、手表显示广播中、没有停在 BW16 独占应用;先断开其他电脑或手机的连接
BLE 已连接但验证码不通过 App 保存的 6 位码是否与当前烧录的 BW16 固件一致;改本地码后断开重连
验证码通过但读不到数据 在“连接检查”运行“验证传输”,保留错误提示;不能把 BLE 连上当成 STM32 链路已通过
打开网页模型却没有连接 网页只运行本地 UI 模拟器;实际设备连接需要配套 Flutter App

“BLE 已连接”“验证码通过”“设备业务收到响应”是不同状态。 应用验证码不是操作系统蓝牙绑定,也不是 BLE 链路加密承诺;它不证明已建立 操作系统 bond 或链路加密。

  • 读取设备状态、调整固件支持的设置。
  • 编辑、组合和保存本地 USB 键盘脚本。
  • 查看经设备上报的无线记录与诊断结果。
  • 用设备 IMU 数据控制本地模型的相对倾斜显示。

倾斜预览不是完整绝对姿态测量。设置发送成功也不代表设备已保存, 需要看匹配的业务结果。本地数据不是云端备份,卸载或清除数据可能丢失。

USB 示例只在自有电脑或授权环境运行,先用文本编辑器验证无破坏的输入, 不要运行来源不明的脚本。商品不附数据线。

本地展示版尚未配置公开下载链接,不提供虚假的下载按钮。 Windows 当前是已做构建与测试的路径;其他平台不能因为源码目录存在 就视为均已验收。拿到设备时请使用与其固件对应的客户端版本。

连接完成后继续阅读使用 App。连接异常先关闭本次连接并记录错误,不反复烧录来处理普通连接问题。 需要更新时继续阅读固件与恢复。