如何利用树莓派和低功耗显示器来跟踪你的家庭日程表

小编给大家分享一下如何利用树莓派和低功耗显示器来跟踪你的家庭日程表,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!


硬件

这个项目是作为假日项目开始,因此我试着尽可能多的旧物利用。其中包括一台已经闲置了太长时间树莓派 2。由于我没有电子墨水屏,因此我需要购买一个。幸运的是,我找到了一家供应商,该供应商为支持树莓派的屏幕提供了 开源驱动程序和示例,该屏幕使用 GPIO 端口连接。

我的家人还想在不同的日程表之间切换,因此需要某种形式的输入。我没有添加 USB 键盘,而是选择了一种更简单的解决方案,并购买了一个类似于在 这篇文章 中所描述 1x4 大小的键盘。这使我可以将键盘连接到树莓派中的某些 GPIO 端口。

最后,我需要一个相框来容纳整个设置。虽然背面看起来有些凌乱,但它能完成工作。

如何利用树莓派和低功耗显示器来跟踪你的家庭日程表

Calendar internals

软件

我从 一个类似的项目 中获得了灵感,并开始为我的项目编写 Python 代码。我需要从两个地方获取数据:

  • 天气信息:从 OpenWeather API 获取

  • 时间信息:我打算使用 CalDav 标准 连接到一个在我家服务器上运行的日程表

由于必须等待一些零件的送达,因此我使用了模块化的方法来进行输入和显示,这样我可以在没有硬件的情况下调试大多数代码。日程表应用程序需要驱动程序,于是我编写了一个 Pygame 驱动程序以便能在台式机上运行它。

编写代码最好的部分是能够重用现有的开源项目,所以访问不同的 API 很容易。我可以专注于设计用户界面,其中包括每个人的周历和每个人的日历,以及允许使用小键盘来选择日程。并且我花时间又添加了一些额外的功能,例如特殊日子的自定义屏幕保护程序。

如何利用树莓派和低功耗显示器来跟踪你的家庭日程表

E Ink calendar screensaver

最后的集成步骤将确保我的日程表应用程序将在启动时运行,并且能够容错。我使用了一个基本的 树莓派系统 镜像,并将该应用程序配置到 systemd 服务,以便它可以在出现故障和系统重新启动依旧运行。

做完所有工作,我把代码上传到了 GitHub。因此,如果你要创建类似的日历,可以随时查看并重构它!

以上是“如何利用树莓派和低功耗显示器来跟踪你的家庭日程表”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!