SIGNAL LAMP 第三版:把状态灯做成不需要解释的东西
2026-10-14 · 工程 / 硬件 / 产品
前两版都失败了——不是因为技术,是因为"没人愿意改状态"。第三版我们把同步这件事从人身上拿走了。
SIGNAL LAMP 是一台放在桌上的小灯:红灯勿扰,黄灯可打断,绿灯在找人聊。工作室内部每人一台,现在迭代到第三版。 前两版都不算成功。这篇写我们错在哪,以及第三版改了什么。
第一版:做一个能手动切状态的灯
硬件很简单,ESP32-C3 加一枚 WS2812,三个物理按键。做完我们都很满意——然后两个月后统计了一下使用情况:基本没人切。 原因说出来很蠢:
- 切状态是一个额外的动作,而"不切"没有任何即时惩罚
- 大家不确定别人看不看这盏灯,所以懒得维护一个没人看的信号
- 红灯亮着自己也会忘,一开就是一下午
问题不在灯,在于我们把同步的责任推给了人。
第二版:加个插件自动同步
写了个浏览器插件,检测到会议软件在前台就自动转红灯。这个思路是对的,但实现上有两个坑:
| 问题 | 表现 |
| 误判太多 | 打开日历看一眼也被当成"在开会" |
| 需要装东西 | 工作室 4 个人里只有 2 个装了,剩下 2 个还是手动 |
一个只有部分人参与的信号系统,等于没有信号系统。
第三版:换掉的是"谁来判断"
这一版我们做了三个决定:
- 默认有状态。 插件没装、电脑没开,灯也是绿灯——因为"联系得上"是默认假设,不是需要宣告的状态。
- 只保留一个自动信号。 会议中=红灯。其他全部手动。判据只看有没有在用麦克风,不看前台窗口是谁。
- 不经过任何服务器。 插件通过局域网 UDP 直推给灯,状态不上云、不留日志。
插件 --UDP 41234 (局域网)--> 灯
每 5 秒一次心跳,超时 15 秒自动转绿灯
第三条不只是洁癖。我们不想为了一个桌面小灯去运维一套账号体系,也不想让"今天谁在忙"变成一份可以回看的日志。
一个意外的好处
心跳超时自动转绿灯,意味着人走了灯自己会灭。这个副作用比自动红灯更受欢迎——它解决的是"忘记关"的问题。
一个状态系统能不能好用,取决于它的默认值,而不是它的功能列表。
成本
| 项目 | 数值 |
| 单台物料 | 约 35 元 |
| 待机功耗 | 0.4W |
| 固件大小 | 约 780KB |
| 从改代码到刷进灯里 | 约 40 秒(OTA) |
现状
工作室内部每人一台,稳定跑了八个月。暂无量产计划——它解决的问题很具体(三个人以上的远程小团队),做成商品反而要背上一堆我们不想做的功能。 别让用户维护状态,让状态自己过期。