我想要一个永远不需要调时的时钟,结果一发不可收拾

我想要一个永远不需要调时的时钟,结果一发不可收拾

Hacker News 摘要

原标题:I wanted a clock that never needed setting. Things escalated

作者 Lee Hutchinson 想要一个永远不需要手动校准时间的闹钟。他小时候用的都是超市买的廉价红色 LED 数字时钟,虽然耐用但很麻烦。每当夏令时切换或家里停电跳闸,他都得站在柜子前不停按按钮来校准时间。他希望拥有一个完美的时钟:能自动对时,自动调整夏令时,保持亚秒级的精度,使用红色的七段数码管显示,且不需要安装任何侵犯隐私的垃圾应用。

在市场上找不到完全符合要求的产品后,他决定利用 3D 打印技术和自己的技术背景动手制作一个。他戏称这是一个极度过度设计的周末项目。

核心硬件选型

• 主控单元: 他选择了 Raspberry Pi Zero W 或 Zero 2 W,而不是更简单的 Arduino。原因是他熟悉基于 Debian 的操作系统,可以利用 Linux 的远程管理、Wi-Fi 功能以及 NTP 网络时间协议来实现自动对时。

• 显示模块: 选用了 Adafruit 生产的 1.2 英寸红色七段数码管显示器,并带有 HT16K33 控制器的背包板。

• 外壳: 使用 3D 打印制作。他在 Creative Commons 协议下找到了现成的外壳设计,并使用 Autodesk Fusion 进行了修改。

软件开发与 LLM 的辅助

作者虽然擅长运维(Ops),但自认为开发能力较弱。他通过 Claude Code 等 LLM 编写了几乎所有的 Python 代码。这些软件实现了以下功能:

• 安全性: 时钟仅限局域网访问,更新和时间同步均在局域网内完成。

• 系统服务: 时钟程序作为一个非特权账号下的 systemd 服务运行。

• 智能调度: 可以在特定时间段自动关闭显示器(例如白天不在卧室时),并按计划调整亮度。

• 外部控制: 支持通过命令行 CLI 控制,并集成了 HAP-python 以支持苹果的 HomeKit,从而能直接在 iPhone 的家庭应用里调整亮度和开关。

• 自动化部署: 设置了完整的 CI/CD 流水线。通过本地的 Gitea Server 和 Gitea Actions,他在电脑上推送代码标签,时钟就会自动完成构建和更新。

物理制作的挑战

• 焊接: 作者是第一次尝试焊接,他购买了入门级烙铁套装和放大镜,成功将数码管与电路板组装在一起。

• 外壳修改: 为了让外壳更符合需求,他利用了 Fusion 的 MCP 服务器功能,尝试让本地部署的 Qwen(通义千问)模型通过 AI 指令直接操作 CAD 软件进行参数化建模。虽然本地模型没能完全完成任务,但配合 Claude 最终完成了对模型的修改。

• 光学处理: Adafruit 的显示器即便调到最低亮度,在全黑的卧室里依然太刺眼。他尝试了多种材料,最后采用了一层中性密度滤光片(NDF)搭配烟熏色亚克力板。这种组合成功将亮度降低到了舒适的程度。

最终成果

作者最终成功做出了一台完全符合他要求的时钟。虽然他承认这个项目的成本远超买一台成品钟,且使用树莓派运行完整操作系统来驱动一个时钟有些大材小用(或许使用 ESP32 微控制器更合理),但他非常享受这个过程。他学会了焊接、深入研究了 3D 打印迭代,并成功把企业级的开发部署流程应用到了卧室的闹钟上。

他在 GitHub 上分享了所有的 BOM 物料清单、软件源代码和 3D 打印文件,供其他有类似需求的爱好者参考。


原文:https://arstechnica.com/gadgets/2026/07/i-wanted-a-clock-that-never-needed-setting-things-escalated/

评论:https://news.ycombinator.com/item?id=49020219

Report Page