从"这玩意儿又卡死了"到"我知道原因了"
你有过这样的经历吗?某个设备有个恼人的问题,论坛上众说纷纭,但没人真正知道答案。你想:“我能不能自己搞清楚?”
这就是我和 ClockworkPi uConsole 的故事。一台口袋大小的 Linux 电脑,翻盖外壳,机械键盘,可以塞进背包——黑客的梦想。但它有个致命问题:
开启 4G 模块 + 用电池供电 = 随机死机
唯一的解决办法?拆掉电池,重启。再来一次。
Vibe Coding 的开始:咖啡馆 + 便携设备 + 好奇心
某个周末下午,坐在咖啡馆里,我盯着又一次死机的 uConsole,突然有个想法:
如果我直接在这台设备上构建诊断工具呢?不等回家,不用台式机,就在这里,用遇到问题的设备来解决它自己的问题。
听起来有点疯狂,但也很有趣。于是我开始了。

在遇到问题的设备上构建解决方案——真正的 vibe coding 实践
工具箱很简单
- uConsole 本身(用电池供电,运行 Ubuntu)
- Claude Code(AI 辅助开发,让我专注解决问题而不是语法细节)
- Next.js + TypeScript(快速原型,热重载,立即看到效果)
- 一杯咖啡(重要!)
没有复杂的实验室设备。没有昂贵的示波器。就是这些。
构建中的乐趣:实时监控 → 发现问题
第一步:我需要看到电池到底发生了什么。
| |
几分钟后,一个简单的 Web 界面出现了:
- 实时电压
- 实时电流
- 实时功率
- 实时电池百分比
每秒更新的图表在浏览器里跳动。我开启 4G 模块,盯着屏幕…
电压掉了! 从 3.7V 直接掉到 3.4V 以下。
“等等,这不是功率问题,是电压问题!”
追根溯源:数据手册不会说谎
一番搜索后,我找到了 SIM7600G-H 4G 模块的规格表:
- 工作电压范围:3.4V ~ 4.2V
- 最低安全电压:约 3.45V
- 峰值电流:传输时可达 2A
谜底揭晓了:
- 4G 模块突然抽取 2A 电流
- 电池内阻导致电压瞬间下降
- 电压低于 3.45V → 模块欠压
- USB 总线挂起 → 系统死机
- 只能拆电池重启
关键洞察: 不是电池容量不够,是电压降得太快。
更深的发现:你的电池有一半用不上
我继续深挖,做了一个完整的放电测试:
- 从 100% 放电到接近 0%
- 每秒记录电压、电流、能量
- 总共记录了 4,318 个数据点,跨度 2 小时 48 分钟
然后我画了一张图:能量输出 vs 电压,并在 3.45V 处划了一条红线。

红线显示 4G 模块的最低电压。右侧的所有内容都无法用于 4G 连接。
结果令人震惊:
- 电池总容量:24.79 Wh
- 3.45V 以上可用:13.39 Wh(54%)
- 3.45V 以下不可用:11.40 Wh(46%)
换句话说:对于 4G 操作,你只能用约一半的电池容量。 剩下的 40-50%?电量还在,但对 4G 来说毫无意义。
完整的放电数据

完整的放电曲线从 100% 到约 2%

电压下降和电流峰值模式
解决方案:智能电源管理
既然知道了原因,修复就很简单:
降低电流消耗 → 减少电压下降 → 保持在 3.45V 以上
我写了一个自动化脚本:
- 检测 4G 模块是否激活
- 检测是否使用电池供电
- 如果两者都是:CPU 降频到 1.8GHz(从 2.4GHz)
- 更低的功耗 = 更少的电流 = 稳定的电压
测试结果:
| |
问题解决了!
为什么这是 Vibe Coding?
回想整个过程,最让我兴奋的不是解决了问题(虽然这也很爽),而是过程本身:
零上下文切换
- 问题在这台设备上
- 解决方案在这台设备上构建
- 测试在这台设备上运行
- 一切都在同一个地方,同一时刻
即时反馈
- 改代码 → 保存 → 浏览器自动刷新 → 看到结果
- 从想法到验证只需几秒钟
- 没有编译等待,没有部署流程
地点自由
- 咖啡馆
- 公园长椅
- 火车上
- 沙发上
只要有 WiFi 和电源(或充满电的电池),哪里都是实验室。
AI 辅助的乐趣
- Claude Code 帮我快速搭建框架
- 不用纠结语法细节
- 专注于问题本质
- 更快的迭代,更多的尝试
这不只是给程序员的
十年前,解决这种问题需要:
- 工程实验室
- 数千美元的测试设备
- 交叉编译工具链
- 数天的准备时间
今天?一台 200 美元的口袋电脑,一个专注的周末,就够了。
这意味着更多人可以:
- 折腾电池供电的项目
- 调试硬件问题
- 测试和比较电池性能
- 在现场解决设备问题
- 边学边做,立即看到结果
自己动手解决问题的门槛,正在快速降低。
开源,欢迎尝试
整个项目都是开源的(GPL v3):
项目地址: battery-monitor
快速开始:
| |
你会得到:
- 实时电池监控仪表盘
- 电压/电流/功率图表
- 放电曲线分析(能量 vs 电压)
- 3.45V 阈值可视化
- 智能电源调节器(自动降频保护)
- 会话记录和数据导出
构建的乐趣
在遇到问题的设备上构建解决方案,这种感觉很特别。
没有"回头再说"。没有"等我有时间"。就是现在,就在这里,直接解决。
uConsole 现在可以稳定地在电池供电下使用 4G 了。社区也理解了为什么某些电池更好用。整个解决方案在一个有趣的周末完成。
这就是 Vibe Coding:
- 带着好奇心
- 在灵感迸发时
- 在任何让你舒服的地方
- 用现代工具和 AI 辅助
- 构建你需要的东西
不是因为必须,而是因为可以,因为好玩。
工具已经存在。硬件价格实惠。AI 助手随时待命。
唯一的问题是:你准备好开始你的 Vibe Coding 之旅了吗?
社区反响
分享你的结果:
- 用放电曲线工具测试你的电池
- 在论坛分享你的发现
- 帮助完善社区电池数据库
有问题?想贡献代码?
- ClockworkPi 论坛:https://forum.clockworkpi.com/c/uconsole
- Gitea Issues:https://hiwifi.denq.us:8418/denq/battery-monitor/issues
本文是 Vibe Coding Fun Series 的一部分,记录在便携设备上构建真实项目的故事。关注我们,看看当开发真正变得移动化时会发生什么。
下一篇预告: 在咖啡馆用 AI 五分钟生成旅行海报
许可证: GPL v3
项目链接: battery-monitor on Gitea