# ScooterLink：重建 Honda RoadSync 车把按键协议

> 以一个 iOS 应用替代 Honda RoadSync 仅支持 Apple Music 的媒体控制：通过低功耗蓝牙与 Honda PCX 2025 的 TFT 仪表配对，把车把按键转换为对任意播放器生效的系统级命令。作者记录了仪表的 BLE 服务、密钥交换、按键注册与事件字节，据称依据官方 Android 应用及通信日志推断得出。结果为作者在一台 PCX125 上的报告，协议说明区分了已确认与未验证的部分。

- 类型：案例
- 目标：应用 · 协议
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-20
- 原始资源：<https://github.com/gdorgian/ScooterLink>
- 一手来源：<https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/docs/PROTOCOL.md>
- 目录页面：<https://awesomerea.org/zh/resources/scooterlink-honda-roadsync-case/>
- 记录 JSON：<https://awesomerea.org/resources/scooterlink-honda-roadsync-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/scooterlink-honda-roadsync-case/index.md)

## 使用条件与局限

- **前提条件：**运行时无需任何 Honda 软件，但须先在仪表上删除 RoadSync 的手机配对，因为仪表只保存一部手机的密钥。据称协议是依据官方 RoadSync Android 应用及通信日志推断得出；源码注释提到反编译的 Android 应用 26.8.10 版本及一份调查记录文件，但该应用、反编译代码、抓包记录和这份文件均未收录在仓库中。
- **前提条件：**构建需要一台装有 Xcode 16+ 与 XcodeGen 的 Mac，以及使用者自己的签名团队和 Bundle ID；应用面向 iOS 17，预构建的 v1.2 IPA 须借助个人或开发者 Apple ID 侧载安装。控制其他应用的播放依赖 Apple 的私有 MediaRemote 框架，README 称因此无法上架 App Store。
- **范围：**所审阅的提交位于 v1.2 发布之后，只改动了 README 中的一个链接。项目面向配备 TFT 仪表并支持 RoadSync 的 Honda PCX 2025；README 报告在一台 PCX125 2025 上测试，其他支持 RoadSync 的车型被标为未测试。Select 与 Back 键对应播放／暂停，Next／Previous 对应切换曲目，应用会在点火时自动重连并把仪表切换到手机模式。无法显示正在播放的曲目、车速或调节音量，也没有 Android 版本。
- **测试证据：**docs/PROTOCOL.md 将密钥交换、每次连接的验证、按键注册、手机界面请求和按键事件标为已在一台实际 PCX125 2025 上确认，仪表绘制则标为未验证。一项在 Mac 上运行的 Swift 自测检查 CRC 值、模拟的密钥交换、验证应答解析以及注册与界面的字节布局。README 报告，实验性的颜色槽位和自绘界面曾使仪表在重新配对前拒绝进入手机模式，因此相关代码保持关闭，并警告切勿写入固件更新服务。
- **许可：**项目代码采用 MIT 许可。README 称项目独立于 Honda，不含任何 Honda 代码或文件，只有原创代码以及为互操作编写的蓝牙消息说明；Honda、PCX 与 RoadSync 仍为其权利人的商标。作者帖子称逆向工作由 Claude 完成。

## 一手来源

1. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/docs/PROTOCOL.md>
2. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/README.md>
3. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABProtocol.swift>
4. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABCrypto.swift>
5. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/SABClient.swift>
6. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Sources/ButtonActions.swift>
7. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/Tests/main.swift>
8. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/App/project.yml>
9. <https://github.com/gdorgian/ScooterLink/blob/a089f6210e863d56b590ed4625b92f886ff6a097/LICENSE>

## 同分区更多条目：应用

- [iX500 Scan：基于逆向 ScanSnap Wi-Fi 协议的 macOS 客户端](https://awesomerea.org/zh/resources/ix500-scan-scansnap-wifi-case/index.md) · 案例
- [WristBeam：为 Mac 配套应用重建佳明手表协议](https://awesomerea.org/zh/resources/wristbeam-garmin-watch-protocol-case/index.md) · 案例
- [usque：Cloudflare WARP MASQUE 模式的开源再实现](https://awesomerea.org/zh/resources/usque-warp-masque-client-case/index.md) · 案例
- [Webamp：在浏览器中重新实现 Winamp 2](https://awesomerea.org/zh/resources/webamp-winamp-reimplementation-case/index.md) · 案例
- [NOOP：基于蓝牙协议研究构建的离线 WHOOP 手环客户端](https://awesomerea.org/zh/resources/noop-whoop-ble-client-case/index.md) · 案例
- [NiimBlue：NIIMBOT 标签打印机的独立网页客户端](https://awesomerea.org/zh/resources/niimblue-niimbot-printer-client-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
