Clawdmeter Vibe 项目
显示 Claude Code 用量的 ESP32 桌面小仪表盘
项目简介
Clawdmeter 是作者给自己桌面做的一块 ESP32 小仪表盘,用来随时盯 Claude Code 的用量。它跑在 Waveshare 的 ESP32 触摸 AMOLED 开发板上,开机动画是像素风的 Clawd 小生物,用量越高动作越忙;点一下屏幕就能切到用量视图,查看本次会话与每周的额度占用。两个侧键通过蓝牙模拟按键,直接对应 Claude Code 的语音模式与模式切换快捷键。
核心功能
- 开机进入动画屏,点按屏幕任意处在动画屏与用量视图之间切换,用量视图展示会话与每周使用率;
- 中间电源键循环切换动画,长按 3 秒松开进入配对模式,清除已保存的蓝牙绑定并重新广播;
- 两个侧键通过 BLE HID 发送 Space 与 Shift+Tab,对应 Claude Code 的语音模式与模式切换快捷键;
- 动画按当前用量率分组,组内每 20 秒自动轮换,长时间停在开屏也不会一直循环同一只小生物;
- 固件按板卡分目录组织,移植新板只需在 firmware/src/boards/ 下新增目录与 PlatformIO 环境,main.cpp、ui.cpp、splash.cpp 无需改动。
技术实现
固件使用 PlatformIO 构建,开箱支持 Waveshare ESP32-S3 与 ESP32-C6 系列触摸 AMOLED 2.16、2.06、1.8 英寸屏以及 1.54、4 英寸 LCD 等多款板卡,代码采用薄硬件抽象层设计,每块板一个目录,界面与开屏逻辑完全与硬件解耦,官方文档给出了 HAL 契约与移植指引。设备与主机通过蓝牙配对,主机侧是一套 Python 守护进程,依赖 bleak 与 httpx:在 Linux 上以 systemd 用户服务运行,并借助 BlueZ 的 bluetoothctl、busctl、dbus-monitor 管理连接;macOS 由 LaunchAgent 拉起,配套 flash-mac.sh 烧录脚本,串口可自动探测;Windows 需要 Python 3.11 及以上,安装脚本自建虚拟环境并装好依赖。守护进程只连接主机系统已配对的设备,不做无差别扫描,大约每 60 秒轮询一次用量数据并推送到屏幕。烧录时板卡环境名从 platformio.ini 采集,命令不带参数会打印可用环境列表。
快速上手
- 准备支持列表中的 Waveshare ESP32 触摸 AMOLED 开发板,并安装 PlatformIO CLI;
- 烧录固件:./flash-mac.sh waveshare_amoled_216(macOS 示例,串口可自动探测,也可手动指定);
- 打开系统蓝牙设置,连接名为 Clawdmeter 的设备完成配对;
- 安装主机守护进程,脚本会创建虚拟环境并注册 LaunchAgent 或 systemd 用户服务;
- 使用:开屏时点按屏幕切到用量视图,长按电源键 3 秒可重新进入配对模式。
适用人群
桌面常驻 Claude Code、想随时看到额度消耗的开发者;喜欢桌搭与像素风小硬件的极客;想练习 ESP32 固件、蓝牙与屏幕驱动移植的嵌入式爱好者;需要一块不占屏幕空间的物理用量指示器的重度用户。
开源与链接
仓库地址 github.com/HermannBjorgvin/Clawdmeter,运行前提是一份有效的 Claude Code 订阅;README 同时给出支持板卡清单、移植文档与各平台安装步骤,作者另开源了 passkey 组网工具 Beam。
评论与建议
登录 后参与评论或提建议