把小米遥控器 2 Pro(RC003)和已测联通遥控器的蓝牙按键与语音,经 CH582F 小板桥接到 USB。 Windows 不再直接连接遥控器,应用通过串口协议读取按键和录音,因此 Home、语音等键不会自动变成系统键盘输入。
已发布固件:0.6.6,协议 RBP/3.0。 已在 CH582F + RC003 + Windows 上实测配对、按键、语音及 release 错误记录。此前版本已验证长录音和掉线重连;不是每个版本都重跑了全部射频场景。macOS 有串口及动作注入实现,尚未完成真机验收。
已加入联通 HID/ICO 方案与主机 PCM 解码。用户确认 MTU=23 对照固件解决联通初始化失败;0.6.6 固定使用该设置。详细实测范围见 发布记录,上位机接入见 使用指南 与 统一按键接口。
当前源码为 0.6.14(RBP/3 不变),新增持久化 GATT 缓存、联通语音预收、有界快速重连及更完整的底层错误记录。主机回归测试与 debug/release 编译通过;0.6.13-debug 已实测快速重试,0.6.14 release 尚未完成实机回归。联通首次建联仍可能出现 0x3E,录音分片连续性异常仍待定位,不能视为已修复。过程与验证边界见 重连记录;最新源码固件请按构建指南编译,以下预编译下载仍为 0.6.6。
维护者可通过 GitHub Actions 发版,手动指定版本号或留空自动生成,构建 non-debug 固件并发布 Release。
- 手动扫描、显示候选、选择配对、解除绑定;不会扫描到就自动配对。
- 保存绑定与自动重连设置;启用后板子上电自主恢复连接,无需上位机发起。
- USB CDC 承载逻辑按键、电量、连接/配对状态及压缩音频;不枚举成键盘或系统麦克风。
- 遥控器按住语音键录音,板子传原始压缩数据及解码元信息,上位机解码/保存 WAV。
- RC003 一次录音约 60 秒上限;已取消自动续录,release 不启用主机主动开麦实验。
- release 保留原始 SDK/GAP/GATT/ATVV/存储错误记录,GUI、CLI 自动读取。
- RBP/3 可登记其他音频编码;目前仅支持已验证的小米 RC003 和联通 HID/ICO 配置,不能据此声称支持耳机、PS4 手柄或任意遥控器。
python -m venv tools/demo-venv
.\tools\demo-venv\Scripts\python.exe -m pip install -r demo/requirements.txt
.\tools\demo-venv\Scripts\python.exe demo/rbp_gui.py --port COM7替换为实际端口。macOS 使用对应 Python 和 /dev/cu.* 端口;不要同时启动两个串口客户端。
联通语音需先构建主机 ICO 解码库:python client/c/ico/build.py(需要原生 GCC/Clang,详见 解码依赖)。仅安装 Python 包不包含此原生库。
- 遥控器进入配对模式,GUI 点击 Scan → 选中候选 → Pair selected。已绑定设备无需重新配对。
- 勾选 Record next voice streams… 选择目录,再按住语音键说话。按键注入需要显式启用 Enable mapped OS actions。
- Diagnostics (release) 显示统计和最近 4 条原始记录;详细日志在
build/logs/gui-session.log。
CLI 录音和日志:
.\tools\demo-venv\Scripts\python.exe demo/rbp_diag.py --port COM7 --record-dir build/recordings --log build/logs/diagnostic.jsonl --compact-log--scan 只发现;--pair 需要手动输入候选序号。详见 上位机接入。
| 目录 | 内容 |
|---|---|
firmware/product |
RBP 会话、设备模型、队列、release 诊断 |
firmware/adapters |
HOGP、RC003/ATVV 与联通 HID/ICO 适配器 |
firmware/wch |
板级、BLE/GATT、USB,以及固定 WCH SDK 子集 |
protocol |
RBP/3 C 帧/TLV、音频结构、schema、测试向量 |
client/python |
独立 Python SDK,可安装;不依赖 Qt |
client/dotnet |
新增 .NET 9 RBP/3 会话与音频 SDK,见该目录 README |
client/c |
可选 C 音频解码库;不是完整串口会话 SDK |
demo |
CLI、GUI、WAV/映射/离线重放 |
tests, sim |
自动回归与 C 模拟器 |
releases/0.6.6 |
当前固件、校验清单与验收范围 |
架构 · 完整协议 · 压缩音频契约 · ATVV 实现 · SDK/上位机 · 测试 · 诊断 · SDK 修改 · 参考资料