使用开源工具和电子墨水屏让每个人都掌握家庭日程。有些家庭的日程安排很复杂:孩子上学和放学后的活动、您想记住的重要事情、每个人都有多个约会等等。虽然您可以使用手机和应用程序关注一切,但如果您家里有一台大型低功耗显示器来显示您家人的日程安排吗?电子墨水时间表正好符合要求!EInk日历硬件这个项目是作为一个假期项目开始的,所以我尝试使用尽可能多的旧东西。其中包括闲置太久的RaspberryPi2。由于我没有电子墨水屏,我需要购买一个。幸运的是,我找到了一家供应商,他们为支持树莓派的屏幕提供开源驱动程序和示例,使用GPIO端口连接。我的家人也想在不同的时间表之间切换,因此需要某种形式的输入。我没有添加USB键盘,而是选择了一个更简单的解决方案,并购买了一个类似于本文所述的1x4尺寸键盘。这允许我将键盘连接到树莓派中的一些GPIO端口。最后,我需要一个相框来容纳整个设置。虽然背面看起来有点乱,但它完成了工作。Calendarinternalssoftware我从一个类似的项目中得到灵感,并开始为我的项目编写Python代码。我需要从两个地方获取数据:天气信息:来自OpenWeatherAPI的时间信息:我将使用CalDav标准连接到在我的家庭服务器上运行的日历,因为我必须等待某些部分到达我使用模块化方法进行输入和显示,这使我可以在没有硬件的情况下调试大多数代码。日历应用程序需要一个驱动程序,所以我写了一个Pygame驱动程序在桌面上运行它。编写代码最好的部分是能够重用现有的开源项目,因此访问不同的API很容易。我可以专注于设计用户界面,其中包括每个人的每周日历和每个人的日历,以及允许使用键盘选择事件。我还花时间添加了一些额外的功能,例如特殊日子的自定义屏幕保护程序。EInk日历屏幕保护程序的最后集成步骤将确保我的日历应用程序将在启动时运行并具有容错能力。我使用了一个基本的RaspberryPi系统映像并将应用程序配置为一个systemd服务,这样它就可以在故障和系统重启时幸存下来。完成所有工作后,我将代码上传到GitHub。所以,如果你想创建一个类似的日历,请随时审查和重构它!结论日历已成为我们厨房中的日常工具。它帮助我们记住我们的日常活动,甚至我们的孩子在上学前用它来检查时间表。对我来说,这个项目让我感受到了开源的力量。如果没有开源驱动程序、库和开放API,我们仍将使用笔和纸来安排我们的日程安排。疯了,不是吗?需要确保您的日程安排不冲突?了解如何使用这些免费的开源项目来做到这一点。
