低功耗树莓派 Zero E-ink 仪表盘:实时公交、天气等多功能显示
概述
作为一名软件工程师,我深刻体会到实时信息若能直接投射在墙面上将极其宝贵。利用树莓派 Zero W 与 E-ink 墨水屏,我打造了一个仪表盘,它从多个 API 拉取数据——公交时刻表、天气预报、日历等——并以低功耗、常亮的方式呈现。
为何选择 E-ink?
与 LCD 面板不同,E-ink 显示屏在待机时仅消耗微安级电流,使设备能靠单节 3V 电池运行数月。这非常适合每小时仅更新几次的壁挂式系统。
初始版本 (V 1.0)
首个原型包含:
- 公交模块:显示 4 个附近站点,每站点两个即将到达的时间。
- 天气模块:当前天气与两日预报。
- 月历视图。
在树莓派社区分享设计后,我收到了诸如基于 Google Sheets 的任务清单等功能建议。实现该功能需要集成 Google Cloud 凭证与 google-api-python-client 库。
功能扩展 (V 1.5)
在稳固基础上,我新增了多个模块:
- 货币转换器:支持 5 种用户自选货币,另加比特币与以太坊。
- 股票行情:5 只用户自选股票。
- 新闻标题:5 条本地新闻与 5 条自选订阅源,每 15 分钟刷新。
- Google 会议:从用户 Google 日历获取即将到来的事件。
版本 2.0 及后续
版本 2.0 整合所有前序模块,并针对显示刷新率与电源管理进行额外调优。一个轻量级 Flask Web 界面让用户无需改代码即可更新 API 密钥与偏好设置。应用运行于 Gunicorn,Nginx 负责静态资源与反向代理。
技术亮点
- Python 3.11,
requests处理 HTTP 调用,Pillow生成 PNG。 - Waveshare E-Paper HAT 驱动实现低延迟更新。
- 基于 JSON 的配置文件,可通过 Web UI 编辑。
- 部署架构:树莓派 Zero W → Gunicorn → Nginx → Web UI。
整体而言,该项目展示了单板微型计算机如何将墙面化身为个人信息中枢,兼顾续航与视觉清晰度。
来源: E-ink Dashboard
制造工艺