I built Timeframe, our family e-paper dashboard
Timeframe:家庭信息看板系统构建历程 (Timeframe: A Decade Building the Perfect Family Dashboard)
概要: 这篇文章讲述了作者 Joel Hawksley 在过去十年中构建的家庭信息看板系统 Timeframe 的历程。最初旨在解决卧室没有屏幕显示日历和天气信息的问题,Timeframe 经过多次迭代,最终成为家庭生活中不可或缺的一部分。
早期原型 (Early Prototypes):
- 魔法镜 (Magic Mirror): 最初使用 Magic Mirror 作为显示屏,但由于白天难以阅读,夜间光线刺眼,效果不佳。
- Kindle 电子墨水屏 (Kindle E-paper Display): 随后尝试使用改造后的 Kindle 设备,通过定制的 Ruby on Rails 应用和 IMGKit 将数据渲染成 PNG 图像并显示在电子墨水屏上。虽然解决了光线问题,但刷新速度慢。
- OLED 屏幕 (OLED Screen): 尝试使用 OLED 屏幕,但效果与 Magic Mirror 类似,光线过于刺眼。
更可靠的方案 (A More Reliable Approach):
- Visionect 显示屏 (Visionect Displays): 转向使用 Visionect 提供的多种尺寸的电子墨水显示屏(6"/10"/13"/32")。作者选择组合使用 6"(天气)、13"(冰箱侧)、10"(卧室)三种尺寸的屏幕。
- 后端架构 (Backend Architecture): 使用 Raspberry Pi 运行 Rails 后端,通过 IMGKit 生成 PNG 图像并通过 Visionect API 推送到显示屏,稳定性良好。
首次客户试点 (First Customer Pilot):
- 尝试向潜在客户推广 Timeframe,但由于成本过高(13" 设备 $1000,每月订阅 $10)且 Visionect 开始收取设备使用费,未能成功。
意外的转折 (An Unexpected Pivot):
- 火灾 (Marshall Fire): 在房屋被火灾摧毁后,作者得以重新设计新家。
- Boox Mira Pro (25.3”): Boox Mira Pro 的发布提供了更大尺寸、高分辨率、实时更新的电子墨水屏幕,作者认为这是关键突破。
后端升级 (Backend Overhaul):
- 实时性要求 (Real-time Requirements): 实时更新需求导致后端性能瓶颈,需要彻底重写。
- Home Assistant 集成 (Home Assistant Integration): 迁移至 Home Assistant 作为主要数据源,大幅减少了代码量。
- 简化架构 (Simplified Architecture): 移除数据库和 Redis,使用 Rufus Scheduler 和 Rails 文件存储缓存后端。
- 自定义传感器 (Custom Sensors): 利用 Home Assistant 的模板传感器,实现自定义提醒功能。
当前状况 (Today):
- Timeframe 现在成为家庭状态监控中心,通过简洁的显示内容让用户了解房屋的健康状态。
- 作者致力于将 Timeframe 推广到市场,但仍需解决硬件成本、软件稳定性和 Home Assistant 集成等问题。
未来展望 (What’s Next):
- 部署优化 (Deployment Optimization): 致力于提高系统稳定性,减少维护需求。
- Home Assistant 集成 (Home Assistant Integration): 将 Timeframe 转化为 Home Assistant App,简化分发。
- 硬件成本降低 (Hardware Cost Reduction): 探索更低成本的硬件方案,以降低用户门槛。