梳妆台仪表盘

这是一种快速查看开始一天所需的一切的方式。

硬件

软件

手工工具

介绍

  • 我需要什么
  • 硬件
  • 软件
  • 组装

定制零件和外壳(3D)

完整代码

硬件/软件/手工工具

介绍

我需要什么

这是我为此项目设置的一些要求:

  • 访问我的Outlook和Google日历以显示我当天的时间表
  • 通过任何免费的可靠天气API访问天气。 (RIP Weather Underground的API)
  • 显示来自RSS提要集合的最新标题
  • 通过WMATA API显示我的地铁路线的下一个预计到达时间
  • 显示提醒消息
  • 使用电子墨水显示屏,这样项目就可以消耗最少的功率,并且可以在不发光的情况下“打开”
  • 使用熟悉的硬件平台,例如Raspberry Pi Zero

硬件

对于显示器,我选择了Waveshare上最大的电子墨水显示器。 除了喜欢大尺寸的屏幕外,它还支持灰度图像(与站点上其他只有1位黑白的E-Ink显示器相反),并且显示器更新非常快。 显示器随附驱动板和文档,用于连接Raspberry Pi的GPIO引脚以及示例代码。

软件

在开始组装硬件之前,我想确保我可以按照自己想要的方式来运行软件。 Waveshare上其他尺寸的E-Ink显示器的一些示例代码是用Python编写的,但不幸的是,并非针对我选择的这种特定显示器。 该示例代码仅在C中可用,以我对C的一般理解,用C构建整个项目或将示例代码移植到Python似乎是一项艰巨的任务。 幸运的是,示例C代码可以编译为仅将8位灰度文件作为参数并使用该图像更新显示的程序。

有了该计划,我将一个Python项目组合在一起,该项目能够使用Pillow库将一组小部件呈现为BMP文件。 (开放源代码的用户可以使用一些不同的参数来配置YAML文件以满足他们的需求。)YAML文件控制最终仪表板的宽度和高度以及小部件位置的行和列的总数。 YAML文件控制着他们想使用的每个小部件的参数。 当前有五种类型的小部件可用,但是可以扩展代码以支持更多类型。 当前的是:

  • 日历:指定任意数量的Google和/或Exchange日历。仪表板将查询今天的事件并合并列表。
  • WMATA:设置起点站,在同一条线上的终点站和API密钥,仪表板将查询WMATA API以获取起点站的下一个火车到达预测。
  • 消息:它检查指定的URL并显示文本响应,这使我可以向自己发送提醒。我建立了另一个我可以向其发送短信的服务,然后可以查询此代码。
  • 天气:近来似乎免费的API数量有限。 因此,对于这个项目,我不得不转向OpenWeatherMap。 在此处设置API密钥和位置ZIP,仪表板将呈现当前温度,高温和低温以及当前天气。
  • 新闻:设置任意数量的RSS提要,仪表板将显示这些提要中最新帖子的合并列表。

组装

前部是一个倾斜的箱子,其开口尺寸基于Waveshare提供的尺寸,后部则设置为可卡入前部。 原始印刷品是基本的白色,因此为了给它一些生命,我将其喷涂成光泽的蓝色。

外壳背面显示了树莓派Zero WH和显示驱动器

使用简单的胶带将E-Ink显示器的机箱正面固定到机箱上

在测试了代码并正常工作之后,对机箱进行了油漆和准备,我开始进行组装。 除了显示器驱动器底部的HAT连接器以外,大多数零件都可以正确安装,我的螺孔距离我的螺丝孔大约短了三毫米,因此PCB的位置是奇怪的。 另外,我打算用螺钉固定构建的背面,但背面已经相当牢固地卡入,因此没有必要。

您可以下载STL文件,所有文件都与此项目链接。 在计算机上以及在新的Pi安装上启动并运行代码所需的所有步骤都在该项目的自述文件中。

定制零件和外壳(3D)/完整代码

点击获取完整文档+代码

阅读 46