跳到主要内容

旧版 BLE 固件 → DuoChord 首次迁移

本流程用于把 nRF51822 仍运行旧版 Adafruit Bluefruit LE application(下称「旧版 BLE 固件」)的 AVR 无线键盘迁移到 DuoChord。它会分别更新键盘主控(AVR)和无线模块(nRF51822);两份固件是 彼此独立的产物,必须严格按下面的顺序操作。

:::danger 固件不可混刷

AVR 旧版 BLE 固件、AVR DuoChord 固件和 nRF51822 application-only OTA 文件 不能互相替代。刷错 PCB 变体或颠倒 AVR / nRF 的升级顺序,可能导致 USB 或无线 功能不可用。无法确认 PCB、无线后端或文件来源时,请先停止升级。

:::

在这里备齐两份固件​

  1. AVR 键盘主控:在键盘下载表选择完全匹配的 PCB 和 DuoChord 后端,下载 QMK / VIA 或 Vial .hex。
  2. nRF51822 无线模块:同时下载下列配套 HEX + DAT;两份文件的名称主体与发布标识应一致。使用 Bluefruit Connect 时,在 Hex File 中选择 HEX,在 Init File 中选择 DAT;不要混用不同发布的文件。

兼容前提:nRF51822 xxAC 已装有 S110 8.0.0 与 bootloader 0002。本次 application-only 文件按 beta 提供,各机型迁移和五主机回归尚未全部完成。不可用 SoftDevice、bootloader 或合并镜像代替。

Beta · nRF51822 xxAC / S110 8.0.0 / bootloader 0002 · 仅 application。HEX 和 DAT 必须同时下载并配套使用。

应用固件 · Hex File
下载 duochord_nrf51822_app_sha256-b688f2284471.hex
117,891 bytes
SHA-256d8a925820c9d1c598656e351ca94fea6d912277461bc4321bdea435ad24682fe
OTA 初始化文件 · Init File
下载 duochord_nrf51822_app_sha256-b688f2284471.dat
16 bytes
SHA-2565818594e814b65f9122b9a9a18d1ed6011f7755cfdf9f7dd1b3c18c2468447d8

迁移前准备​

  • 在下载中心确认键盘型号、PCB revision 和 DuoChord 固件目标。
  • 下载匹配该 PCB 的 AVR DuoChord 固件。
  • 下载同一次发布生成的 DuoChord nRF application-only OTA 文件。使用 Bluefruit Connect 的自定义固件界面时,需要配套的 application .hex 和 .dat,不要混用不同版本的文件。
  • 准备一根可靠的 USB 数据线,为键盘保持稳定供电;OTA 期间让手机靠近键盘。
  • 在手机安装 Adafruit Bluefruit Connect: App Store / Google Play, 并开启蓝牙。飞行模式会关闭 BLE。
iOS 设置中开启蓝牙的参考界面

:::note 临时参考截图

本页 App 截图来自 Adafruit Learning System,界面版本较旧,仅用于标示大致入口; 后续会替换为本站自己的截图。Android 和新版 iOS 的文字与布局可能不同。

:::

首次迁移步骤​

1. 核对 PCB revision 与无线后端​

确认当前键盘属于支持 AVR 旧版 BLE 固件 / DuoChord 双后端的型号,并核对 PCB revision。目标必须是该 PCB 对应的 DuoChord 固件,不能使用旧版 BLE 固件变体, 也不能使用同系列其他 PCB 的固件。

2. 通过 USB 刷入 AVR DuoChord 固件​

用 USB 进入键盘 bootloader,刷入匹配 PCB 的 AVR DuoChord 固件。刷写完成后, 先确认键盘在 USB 模式下能够正常输入。此时 nRF51822 仍运行旧版 Adafruit Bluefruit LE application,无线功能尚未完成迁移。

:::danger 不要先刷 nRF

首次迁移必须先完成 AVR DuoChord 刷写,再进入 DfuTarg 更新 nRF51822。

:::

3. 触发 nRF51822 DFU​

在键盘正常运行 AVR DuoChord 固件时,同时按住 LShift + RShift,并在 1 秒内按两次 F。这个二次确认组合会请求无线模块进入 DFU bootloader。

4. 在 Bluefruit Connect 中确认 DfuTarg​

  1. 打开 Bluefruit Connect。App 启动后会自动扫描附近的 BLE 设备。
  2. 在设备列表中找到 DfuTarg。如果列表没有刷新,下拉重新扫描。
  3. 点击 DfuTarg 的 Connect。需要时可点击设备行查看广播详情;列表中可能 同时出现无名称或 <Unknown> 的其他 BLE 设备。
Bluefruit Connect 扫描设备列表参考界面 Bluefruit Connect 设备广播详情参考界面
注意

没有看到 DfuTarg 时请停止,不要把升级文件发送给正常 application 或列表中的 其他设备。

5. OTA 刷入 nRF51822 application-only 文件​

  1. 连接 DfuTarg 后打开 Updates。
  2. 不要选择列表中的 Adafruit 官方固件版本;点击底部的 Use Custom Firmware。
  3. 在 Hex File 选择本次 DuoChord 发布的 application .hex。
  4. 在 Init File 选择与该 .hex 同一次构建生成的 .dat。
  5. 点击 Start Update,核对确认对话框后开始升级。
  6. 等待上传、校验、激活和重启全部完成。期间不要关闭 App、让手机离开键盘或 断开键盘电源。完成后 App 会断开连接,无线模块会自动重启。
Bluefruit Connect Updates 页面和 Use Custom Firmware 按钮参考界面 Bluefruit Connect 选择 HEX 与 Init 文件的参考界面 Bluefruit Connect 固件确认与上传进度参考界面

:::warning 只更新 application

本流程不更新 SoftDevice、bootloader、UICR 或 settings。若 App 报告 init packet、 CRC 或文件不匹配,请停止并重新核对同一次发布的 .hex 与 .dat;不要改选 SoftDevice / bootloader 类型强行重试。

:::

6. 重新配对并验证连接​

  1. 在电脑、手机或平板的蓝牙设置中删除旧版 BLE 固件留下的配对记录。
  2. 在键盘上选择一个 DuoChord BLE 槽位(BLE1~BLE5),再按 PAIR 进入配对。
  3. 在主机蓝牙设置中选择键盘的新广播名称并完成配对。
  4. 验证无线输入、按键抬起和 USB / 无线切换均正常。

更多槽位和配对操作见 AVR DuoChord。

常见问题​

扫描不到 DfuTarg​

  • 确认 AVR 已经刷成匹配 PCB 的 DuoChord 版本,然后重新执行 LShift + RShift + 双击 F。
  • 确认手机蓝牙已开启、未处于飞行模式,并在 Bluefruit Connect 设备列表下拉刷新。
  • 关闭并重新打开 App,必要时关闭再开启手机蓝牙。
  • 若模块仍未广播 DfuTarg,停止 OTA;不要反复尝试其他固件文件。

自定义固件被拒绝或升级中断​

  • 确认 .hex 与 .dat 来自同一次 DuoChord 发布。
  • 保持键盘供电稳定并让手机靠近键盘,然后重新进入 DfuTarg。
  • 不要选择 Adafruit 固件列表中的版本,也不要尝试更新 SoftDevice 或 bootloader。

OTA 完成后找不到键盘​

DuoChord 的空槽不会自动开放配对。先选择 BLE1~BLE5 中的一个槽位并按 PAIR,再到主机蓝牙设置中搜索;同时删除主机上的旧版 BLE 固件配对记录。

参考资料与截图来源​