用 13.3 英寸的电子墨水屏做个自托管仪表盘到底有多爽
把 Spectra 6 这种大尺寸电子墨水屏摆在桌上,如果不跑点实用的信息,简直是对硬件的浪费。很多现成的方案要么配置复杂得像在写底层驱动,要么样式死板得像十年前的电子报纸。这就是我折腾 Tesserae 的原因,它本质上是一个专门给 e-ink 面板设计的自托管仪表盘服务器,核心逻辑就是让用户能低门槛地自定义屏幕上显示什么。
下一篇
用 Go 语言写 AI 驱动的软件工程其实比 Python 爽得多 →
最让我觉得舒服的是它的两种编辑模式。一种是卡片式布局,你可以像拼图一样把各种组件塞进可调节大小的单元格里;另一种是画布模式,直接拖拽元素,完全自由。而且它现在支持通过 MCP 来驱动画布编辑器,这意味着如果你想搞一个细节极其复杂、动态更新的仪表盘,可以通过大模型直接生成布局,不用在那儿手动对齐像素。
在架构设计上,这个项目走的是一个很极客的「文件夹投放」路线。如果你想增加新的组件、主题或者适配某种特定的渲染器,不需要去深挖复杂的配置文件,直接把对应的文件夹丢进 Tesserae 目录下就能识别。这种设计让扩展性变得极强,目前它已经预装了 30 多个组件,而且社区里已经有人在贡献不同硬件的固件了。
目前它已经支持了 10 多种不同的面板设备,而且因为采用 AGPL 协议,完全开源。如果你手里有 Seeed 或者其他品牌的电子墨水屏,想搞一个常亮且低功耗的监控面板(比如显示天气、股票、GitHub 提交数或个人日程),这个方案比自己从零写脚本要高效得多。
部署和扩展的逻辑大致如下:
一、安装服务端并配置好你的 e-ink 设备连接。
二、通过 Web 界面选择卡片模式或画布模式,从内置组件库中挑选所需插件。
三、如果需要自定义组件,按照以下结构创建文件夹并放入 widgets 目录:
widget-name/
├── config.json # 定义组件参数
├── index.js # 处理数据逻辑
└── template.html # 定义渲染样式四、保存配置后,服务器会自动将渲染结果推送到电子墨水屏。