94 美元,租一套毕业帽袍,还必须归还。
Eric Park 第一次参加美国大学毕业典礼,先被这套规则上了一课:帽袍不是买,是租;不穿,就不能参加典礼。然后他盯上了那个规定动作——毕业时把流苏从右拨到左。
既然流程已经写死,能不能在流程边上加一点自己的东西?
于是有了这顶“跑 Rust 的毕业帽”。流苏一动,帽子底部的灯亮起来。很小,很怪,也很开发者。
这不是产品发布,是一个完整的小黑客项目
这个项目的逻辑很简单:用簧片开关和磁铁检测流苏移动,再让 LED 灯带触发效果。
它不是严肃产品,也不是 Rust 生态大新闻。更准确的说法是:一个毕业季 maker 玩具,被作者做得相当完整。
| 部分 | 配置 |
|---|---|
| 控制器 | Digispark ATtiny85 |
| 灯光 | 48 颗 WS2812B LED |
| 触发方式 | 簧片开关 + 磁铁,检测流苏位置变化 |
| 供电 | USB-C PD 触发板、充电宝、USB-C 线 |
| 软件 | Rust,代码开源在 gradcap-rs |
| 结果 | 做出来了,但作者不打算戴去典礼 |
软件大约花了 2 小时。麻烦不在写灯效,而在工具链。
avr-hal 和 ws2812-avr 对 ATtiny85 支持不够顺手。作者 fork 之后打补丁,还把默认时钟设到 16 MHz。
硬件花了 3 小时以上。供电、固定、接线、调试,都比“让灯亮”更烦。作者也直接吐槽:谁说硬件容易,要么错了,要么没做过定制硬件。
最有喜感的是结尾。他最后不准备把它戴去毕业典礼。
理由很朴素:效果有点俗。像儿童眼里的游戏 PC,也像长辈眼里的“癫痫灯”。
这句自嘲很关键。它把项目从“炫技”拉回了人间:做出来是一回事,敢不敢戴出去,又是另一回事。
Rust 不是省事路线,硬件玩家别只看标题
如果只按效率算,Rust 很可能不是这顶帽子的最短路径。
用 Arduino 生态,可能更快。换 ESP32,算力和生态更宽裕,但对一顶毕业帽来说又有点过。板子、供电、固定方式都会变成新问题。
| 路线 | 好处 | 现实约束 |
|---|---|---|
| Rust + ATtiny85 | 标题好玩,足够极客,能验证嵌入式 Rust 的边界 | 工具链补丁、芯片支持、调试成本更高 |
| Arduino 生态 | 上手快,资料多,灯带项目成熟 | 少一点“我就要这么写”的乐趣 |
| ESP32 | 性能宽裕,开发体验更现代 | 对毕业帽偏重,固定和供电未必更省事 |
作者选 Rust,很大程度就是为了那个标题:My graduation cap runs Rust。
这不是黑点。个人项目的价值经常不在最优解,而在动手过程。绕远路,有时就是乐趣本身。
对开发者,这个项目的动作建议很明确:别把它当成“嵌入式 Rust 已经丝滑”的证据。更合适的读法是,想玩可以玩,但要预留时间给 fork、补丁、时钟配置和库兼容。
对硬件玩家,也别低估尾部工作。灯亮只是中场。真正耗人的,是供电是否稳、线怎么藏、板子怎么固定、帽子是否还能正常戴、租来的东西能不能不留痕。
接下来最该看的变量也不玄:小 MCU 上的 Rust 支持能不能少一点手工补丁,WS2812B 这类常见外设能不能更接近开箱即用。如果每个小玩具都要先修工具链,Rust 的乐趣会被磨掉一半。
毕业帽会发光,戳到的是标准化生活
我更在意的不是 Rust,也不是 LED,而是它发生在毕业典礼上。
美国高校的帽袍租赁,是一套很成熟的仪式消费:付钱、穿上、排队、拍照、归还。学校要秩序,供应商要收入,学生要参与感。每一方都能说自己合理。
问题也在这里。仪式越成熟,个人越像被塞进模板。
“天下熙熙,皆为利来。”这句话放在毕业帽袍上不算夸张。它不是说学校多坏,而是提醒我们:庄重仪式背后,常常也有收费接口、准入规则和统一视觉。
maker 文化偏偏不安分。
它不一定要推翻什么。很多时候,只是往统一模板上焊一根线,贴几颗 LED,写一段没那么必要的 Rust。动作很轻,但意思很清楚:我知道规则在这里,可我还想确认,自己能不能改一点。
这不是系统性抗议。作者没有说 Purdue 官方禁止这个装置,也没有真的戴着它上台。他也没有纵火,没有破坏租赁帽袍。原文的语气更像调侃:别把租来的东西搞坏,别把典礼变成事故现场。
所以这件事的分寸感很重要。
它不是反抗制度的大旗。它更像一次温和的越界练习。边界不宽,但足够让人看见一个活人。
喜欢科技博客锐评的读者,可以把它当成一个小样本:技术不总是产业发布会上的资本开支,也不总是模型参数和融资叙事。技术还可以是一个人拿来处理无聊、尴尬和标准化生活的手艺。
这也是它比“毕业帽会发光”更有意思的地方。
灯效俗一点没关系。真正难得的是,在一套必须付费、必须归还、必须按流程走的仪式里,还有人愿意花几个小时,把自己的手伸进去。
