用 Claude 在一块 27 美元智能手表上折腾

该松树时间是一款27美元的智能手表,运行开源固件。我有一台放了一两年抽屉里。当我看到时@steveruizok关于用Claude在ESP32设备上破解的推文,我找到了一些灵感,想把我的PineTime从抽屉里拿出来,看看Claude能做什么!

如果你知道“编码代理”是什么,那就去买这个或者非常类似的东西(虽然不是赞助,但亚马逊、Pi Hut、Ali 等地都有)。pic.twitter.com/iPvHxBiltf—— 史蒂夫·鲁伊斯(@steveruizok)2026年7月25日

我知道我想先做一个表盘,因为手表附带的默认表盘相当普通且无聊。我最近也见过@levelsio关于为Apple Watch打造定制卡西欧表盘的推文。

⌚ 为我的Apple Watch做了一个CASIO表盘

你可以把第二张图片导入Widgy,安装到你的Apple Watchhttps://t.co/KGWBTBBzRB pic.twitter.com/BBf1iZo9kV—— @levelsio(@levelsio)2023年4月15日

我在想是否能为PineTime做类似的东西(借助Claude的帮助)。事实证明,PineTime是用Claude破解的绝佳手表!

  • 价格便宜(27美元)。
  • 它运行开源固件(无限时间,或者你想要的其他RTOS)。
  • 这有非常充分的文献记录。克洛德正是从中茁壮成长。
  • 它有一个很棒的模拟器(无限模拟).这为克劳德在你的电脑上提供了快速的反馈回路。
  • 固件很简单,所以你有点需求添加你想要的内容。

虽然我一直说“Claude”,但实际上我大部分工作都是用OpenCode完成的,用我最喜欢的一些开放权重模型。Kimi K3 和 K2.6,以及 DeepSeek v4 Pro 和 Flash。

我一开始是克隆了无限模拟仓库(里面有一个 git 子模块无限时间并请克劳德帮忙启动一个构建。在Ubuntu上操作又快又简单!然后我变得很有野心:我把照片给了Claude@levelsio并要求克劳德复制表盘,复制现有InfiniTime表盘的代码作为起点。我还要求它根据需要编排和使用子代理,以完成范围明确的开发任务。

它构建了一个相当不错的粗略模拟,但确实如此非常粗糙.它似乎只是猜测文字大小和位置,导致内容在合适的位置,但彼此重叠且难以辨认。

不过,这确实是一个我们可以不断改进的良好起点。我觉得如果给Fable一个反馈环路截图模拟器,应该能完成作品并做到像素完美。但由于我是在 OpenCode 上用开放权重模型,预算有限,我选择自己多参与一些,并通过具体任务和具体的下一步给出具体反馈,节省一些代币。

我一次解决一件问题——在进入下一个之前,把每个文本元素都弄对。

我注意到我们花了很多精力去制作一些静态屏幕部分,后来意识到这可能没必要。我在想是否可以做一个全屏背景图,包含所有静态部分,这样我们只需要编程屏幕上的动态部分。

我们试过这个方法,在模拟器上成功了!在真实手表上安装固件后,我发现我们已经在推动这块小手表的极限。通过蓝牙传输240x240的图片大约需要10分钟,然后刷屏刷新整个屏幕大约需要1-2秒。

手表不行一时间将这整个画面铭记于心;它必须从文件系统流式传输。不过这对我花几个小时组装的表盘来说完全没问题!我可能会回来用代码写更多背景,这样它就能即时更新。

但今天,我对我的可用原型很满意!

我把所有代码推送到了GitHub你也可以直接使用它,或者作为你自己项目的起点。我还让克劳德总结了我们一路上学到的内容,形成了AGENTS.md.这应该能帮你快速上手,避免我遇到的一些障碍,如果你想用自己的手表试试的话!

我很喜欢和AI一起做这个项目!低风险环境(不是我日常工作的生产代码)让我觉得可以尝试任何想做的事,快速迭代,工作起来非常有成就感固件想要一个我组装完后可以拿着用的实体设备!

几年前我买了这台PineTime时,因为没时间和动力去学习如何使用InfiniTime代码,手表就在抽屉里放了好几年。但今天,我几个小时内就组装好了新的表盘,过程很开心!

未来一片光明!

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论