两百元,我把吃灰动感单车改造成了万能游戏外设

2026-03-03
两百元,我把吃灰动感单车改造成了万能游戏外设 关注 新手上路 关注 新手上路 关注 新手上路 关注 新手上路 02/25 14:57

前言:一场对抗“西西弗斯式”无聊的折腾

对于忙碌又被惯坏的现代人而言,坚持运动从来都不是一件容易的事。

我们常用的解决方案往往依赖外部激励:要么是 Apple Watch 提供的数值化圆环,要么是 Switch《健身环大冒险》带来的游戏化反馈。这两种方案的本质,都是通过一种替代性的外部意义来掩盖运动本身的枯燥。但它们都有一个致命缺陷——外部意义的新鲜感一旦消退,你就会因感到“西西弗斯推石头”般的乏味而迅速放弃。

于是,我把目光投向了动感单车。它提供了一种截然不同的思路:它本身不提供任何意义,但你可以一边骑车一边追剧、听播客,以此度过漫长的有氧时间。

这是我原本美好的设想。但现实未能如我所愿(毕竟,我都追剧了,干嘛不躺在舒服的沙发上?),这台 Keep C2 lite 单车同样难逃吃灰的命运。 爱壹帆在线yfsp.app

很快啊,我熟练地打开闲鱼,找好 Ins 风滤镜拍了照,写好“女大学生自用99新”的文案,给出了一个童叟无欺的价格,静静等待下一个以为自己能够坚持的人上钩。 爱壹帆电影yfsp.app 足球比分clbp.bet

正当我在工位上摸鱼,下拉刷新闲鱼第 100 次的时候,灵感突然从天而降:我曾看过一个名为 GTBIKEV 的《GTA 5》MOD 项目,它可以把骑行台转换成游戏里的控制器。那我的这台动感单车,能不能也变成一台游戏机外设呢?

方案选型与物料清单

我并没有直接照搬 GTABIKEV 项目,原因有二: 小宝影院电影xiaobaotv.video

我希望能玩所有游戏。 尤其是《极限竞速:地平线 5》,我想用我的双脚在墨西哥的沙漠里真实地“踩”出推背感。 skycrownonlinecasinowww.onlinecasino10.com australianonlinecasinowww.baccarat.quest

闭源生态的壁垒。 按照我对国产智能健身设备的理解,它们极大概率不会采用开放协议,强行兼容已有 MOD 可能会遇到很多不可控的麻烦。 电影爱壹帆yfsp.app 电影小宝影院xiaobaotv.video

经过一番构思,我确定了最终的“中间件”技术路线: 用一块树莓派 Zero 2W 作为数据中枢,同时接收动感单车的踏频数据和实体手柄的按键数据。树莓派将自己伪装成一台通用的 USB 游戏手柄,然后通过有线方式将混合后的指令发送给电脑。 iyftvyfsp.app 運彩cpbl1.tw

这样一来,电脑端完全不需要安装任何多余的驱动或虚拟软件,即插即用,兼容所有游戏! iyf yfsp.app

🛒 硬件改造成本清单

硬件名称用途说明预估花费
树莓派 Zero 2W核心数据处理与 USB 模拟约 120 元
国产平替 Joy-Con提供实体按键与摇杆输入约 70 元
绑带/魔术贴将手柄固定在单车把手上约 10 元
总计将单车变废为宝约 200 元

硬核起步:蓝牙逆向与“偷听”

第一步,也是最关键的一步,是让树莓派能“听懂”单车的话。 australianonlinecasinowww.onlinecasino10.com jvidjvid.asia 爱壹帆寻秦记yfsp.app

如果幸运的话,这款单车应该使用通用的 FTMS (Fitness Machine Service) 协议。这是蓝牙技术联盟基于BLE (蓝牙低功耗)设备使用的GATT协议为动感单车和相关健身器材定义的一套标准。  爱亦凡yfsp.app onlinecasinosaustraliawww.baccarat.quest

打个比方,GATT(蓝牙通用属性配置文件)规定了设备间对话的“语法”(主谓宾结构),而 FTMS 则规定了“词汇表”。比如大家约定俗成用“苹果”指代红色的果子。如果你想知道苹果多少钱一斤,你竖起耳朵听我说“苹果”这个词后面跟着什么东西就可以了。类似的,在FTMS 的通用规定里,只要监听特定的特征值(0x2AD2),就能直接拿到踏频数据。 寻秦记爱壹帆yfsp.app

为了验证,我使用了 Android 端的 nRF Connect 应用对单车进行了蓝牙抓包: 人人视频renren.video

图 1:设备广播信息显示其为专业骑行训练设备

如图所示,单车向外宣告自己采用了功率计标准(服务 UUID: 0x1818)。但点开详细服务后,情况不妙了:

图 2:未知的自定义特征值

它并没有使用通用的“词汇表”,而是采用了自定义的特征值(就好比用一句接头暗号来指代苹果)。其中,特征值 0xFF01(属于蓝牙规范中的私有服务范围)非常可疑,它同时支持读、写和通知属性。直觉告诉我,突破口就在这里。

开始抓包与 AI 协助 免费在线影院xiaobaotv.video ifuntvyfsp.app aiyifan yfsp.app

我决定“偷听”手机与单车的对话。我用安卓手机及Keep客户端真实地连接单车骑行了一次,并在开发者选项中启用了 HCI 日志,导出了全过程的原始蓝牙数据。

 避坑小贴士:Keep C2 lite 默认会优先使用 WiFi 传输数据(包括鉴权和运动数据)。你需要先在路由器后台“拉黑”单车的 MAC 地址,强制它回落到蓝牙模式,才能抓到完整的包。

导出日志后,我用 Wireshark 筛选出单车的 MAC 地址,将结构化的数据直接“喂”给了 AI(感谢 Gemini 老师的辛勤工作)。在 AI 的帮助下,我们成功还原了通信过程: onlinecasinorealmoneywww.onlinecasino10.com 一帆视频yfsp.app

握手鉴权:手机先发送一系列握手包。 海外华人视频网xiaobaotv.video

心跳保活:单车和手机需要定时互发带有递进序列号和 CRC16 校验码的心跳包。

寻找“魔法钥匙”:所有交互都在 0xFF01 完成。我们发现只要数据帧里包含特定字符 CB06,就意味着这条数据包含了踏频和功率信息。其中,标签 30 后面跟着的就是踏频,38 后面跟着的是功率。 肉视频jvid.asia ifvodyfsp.app

拿到协议规则后,我只需用代码写一个“重放攻击”(直接发送之前抓到的握手包,无需破解加密算法)完成鉴权,就能源源不断地提取出我踩踏板的频率了! 小宝影院xiaobaotv.video

优雅的中间件:为什么放弃系统级虚拟手柄?

光有踏板数据还不行,游戏还需要转向、刹车和菜单控制。

起初,我尝试了一种“纯软件”方案:利用 ViGEmBus 在 Windows 上虚拟一个 Xbox 360 手柄,然后写 Python 脚本,将单车的踏频(映射为 RT 油门)和真实手柄的输入进行处理后使用vgamepad库同时转发给ViGEmBus。 足球比分cpbl1.tw

但在实际测试中,我很快遇到了麻烦: newonlinecasinoaustraliawww.onlinecasino10.com 爱壹帆yfsp.app

冲突问题:电脑上同时存在真实和虚拟两个手柄。当我按下真实手柄的 A 键时,游戏经常会错乱,不知道该听哪个手柄的。

屏蔽失效:我尝试用 HidHide 软件对游戏隐藏真实手柄,但这玩意儿在我的电脑上对 Steam 游戏竟然不起作用。

不够优雅:每次玩游戏前要启动一堆后台软件。另外万一哪天 Windows 底层更新了,这套方案也有可能崩溃。

于是,树莓派 Linux USB Gadget 方案登场了。 xiaobao xiaobaotv.video cryptoonlinecasinowww.onlinecasino10.com

这是一个更加彻底、健壮的物理级解决方案:树莓派一边通过蓝牙接收单车和物理手柄的数据,一边通过 USB 线连到电脑。对电脑来说,它看到的仅仅是一个普通的、合法合规的有线手柄,没有任何软件冲突的烦恼。 運彩cpbl.bet

在实体按键方面,我花 70 块钱买了一对国产平替 Joy-Con。它虽然阉割了红外和细腻的 HD 震动,但分体式的设计简直是为动感单车量身定制的!配合几十块钱的绑带,轻松固定在把手两侧,手不离把就能完成所有操作,沉浸感拉满。 casinoonlineaustraliawww.baccarat.quest 爱壹帆影视yfsp.app onlinecasinocasinotrustinauwww.onlinecasino10.com

图 3(我使用AI合成了两只手,因为一只手需要拍照) 爱一番yfsp.app iyifanyfsp.app

为了应对物理手柄没电的突发情况,我还顺手写了一个基于 Web 的触屏虚拟手柄作为兜底。

代码组装(Enjoy the Code)

在 AI 时代,写这种驱动整合代码已经不再是令人头秃的难事。项目部署在树莓派上,整体架构非常清晰:

bike_driver.py:动感单车蓝牙驱动(处理 BLE 连接、协议握手、解析 RPM/功率等)。 ifun yfsp.app 小宝影院在线视频xiaobaotv.video

joycon_service.py:Joy-Con 监听服务(获取按键与摇杆状态)。

mixer.py核心混合器(将 RPM 映射为油门扳机,融合按键数据,输出到 USB HID 设备)。 一帆yfsp.app 小寶影院电影xiaobaotv.video

webapp.py:Web 应用服务器(提供上文提到的前端虚拟手柄界面)。 爱壹帆电影yfsp.app onlinecasinosaustraliawww.baccarat.quest

bike_service.py:数据桥梁与日志记录。 onlinecasinowww.onlinecasino10.com onlinecasinocasinorelayforaustralianswww.onlinecasino10.com

当然,还有编写USB Gadget以及Systemd服务的相关代码。编写过程也并非一蹴而就,需要多次人工介入修复bug,过程不多赘述。

游戏体验:在墨西哥沙漠里挥洒汗水

 

实际体验下来,效果远超预期。当我把单车的踏频线性映射到手柄的 RT(油门)扳机上后,你踩得越快,车速就越快(我把100RPM作为扳机键按到底所需的踏频)。延迟方面,也没感觉到可感的影响游戏体验的延迟。 onlinecasinoaustraliawww.onlinecasino10.com 爱一帆yfsp.app 運彩cpbl.bet

更棒的是,《地平线 5》提供了极其丰富的辅助功能。你可以开启“自动刹车”并把 NPC 调到门外汉级别,自己只负责打方向盘和疯狂踩踏板。这种设置在“游戏可玩性”和“有氧专注度”之间达到了完美的平衡。 人人影视 renren.video australianonlinecasinowww.baccarat.quest

以前在单车上干熬 10 分钟就像受刑,现在跑完三场比赛,不知不觉半小时就过去了,大汗淋漓且意犹未尽。

结语:AI 带来的技术平权

最终,仅用一个树莓派(约 120 元)和一对国产平替手柄(约 70 元),我就把即将盖上闲鱼“卖掉了”印章的单车变成了一台极具沉浸感的万能游戏外设。 爱壹帆国际版yfsp.app 华人影视xiaobaotv.video

回想整个过程,最让我感慨的其实不是硬件的组装,而是竟然完成了蓝牙逆向分析和驱动程序的编写。放在过去,对于我这样一个只会写点 Python 数据分析脚本的“脚本小子”来说,去搞懂复杂的蓝牙通信协议、十六进制数据帧、CRC 校验,几乎是不可想象的。

是 AI 让这一切成为了可能。 在被各种精密封装的商业科技产品包围的今天,我们往往只能被动地接受厂商规定的使用方式。但 AI 作为强大的辅助工具,正在打破这层壁垒,带来一种真正的“技术平权”。它赋予了普通人跨越专业门槛的能力,让我们能重新夺回对数字设备的主动权,把生活改造成我们真正想要的模样。 小寶影院xiaobaotv.video 爱壹帆免费版yfsp.app

这或许,就是折腾的意义所在。

04目录 0
    讨论 我来说一句 发布发表评论 发布运动 树莓派 0等 0 人为本文章充电 还没有介绍自己 关注