倒计时器桌面 桌面倒计时软件怎么用

桌面倒计时软件怎么用,倒计时器桌面 。小编来告诉你更多相关信息 。
使用树莓派和电子纸显示屏开始倒计时你的下一个假期 。

倒计时器桌面 桌面倒计时软件怎么用

文章插图
倒计时器桌面 桌面倒计时软件怎么用

文章插图
圆周率日Pi Day(3 月 14 日) 来了又走,留下美好的回忆以及许多树莓派项目等待我们去尝试 。在任何令人精神振奋、充满欢乐的假期后回到工作中都很难,圆周率日也不例外 。当我们回望三月的时候,渴望那些天的快乐 。但是不用害怕,亲爱的圆周率日庆祝者们,我们开始下一个节日的漫长倒计时!
好了,严肃点 。我做了一个圆周率日倒计时器,你也可以!
不久前,我购买了一个 树莓派 Zero W,并且用它来解决 WiFi 信号较差的原因 。我也对使用电子纸ePaper来作为它的显示屏十分感兴趣 。虽然我不知道该用它来干什么,但是!它看起来真的很有趣!我买了一个十分适合放在树莓派的顶部的 2.13 英寸的WaveShare 显示器 。安装很简单:只需要将显示器接到树莓派的 GPIO 上即可 。
我使用 树莓派操作系统来实现该项目,虽然其他的操作系统肯定也能完成 。但是下面的raspi-config命令在树莓派系统上很容易使用 。
一.设置树莓派和电子纸显示屏
设置树莓派和电子纸显示屏一起工作,需要你在树莓派软件中启用串行外设接口(SPI),安装 BCM2835 C 库(来访问树莓派上的博通 BCM 2835 芯片的 GPIO 功能),安装 Python GPIO 库来控制电子纸显示屏 。最后,你需要安装 WaveShare 的库来使用 Python 控制这个 2.13 英寸的显示屏 。
下面是完成这些的步骤 。启用 SPI
树莓派上启用 SPI 最简单的方式是使用 raspi-config命令 。SPI 总线允许与设备进行串行数据通信——在本例中,电子纸显示:
$ sudo raspi-config
从弹出的菜单中, 选择 “接口选项Interfacing Options-> SPI -> 是Yes” 来启用 SPI 接口,然后启动 。
安装 BCM2835 库
如上所述,BCM2835 库是用于树莓派博通 BCM2385 芯片的软件,它允许访问 GPIO 引脚来控制设备 。
在我写这篇文章之时,用于树莓派的最新博通 BCM2385 库版本是 v1.68。安装此库需要下载软件压缩包然后使用 make来安装:
$ pushd bcm2835-1.68/
$ sudo ./configure
$ sudo make check
$ sudo make install
安装需要的 Python 库
你用 Python 控制电子纸显示屏需要安装 Python 库 RPi.GPIO,还需要使用python3-pil包来画图 。显然,PIL 包已经不行了,但 Pillow 可以作为代替方案 。我还没有为该项目测试过 Pillow ,但它可行:
$ sudo apt-get update
$ sudo apt-get install python3-pip python3-pil
$ sudo pip3 install RPi.GPIO
注意:这些是 Python3 的指令 。你可以在 WaveShare 网站查到 Python2 的指令 。
下载 WaveShare 示例和 Python 库
Waveshare 维护了一个 Python 和 C 的 Git 库,用于使用其电子纸显示屏和一些展示如何使用它们的示例 。对这个倒计时时钟而言,你需要克隆这个库并使用用于 2.13 英寸显示屏的库:
$ git clone https://github.com/waveshare/e-Paper.gi>
如果你用不同的显示器或者其他公司产品,需要使用适配软件 。
Waveshare 提供了很多指导:
WaveShare 电子纸设置指导
WaveShare 电子纸库安装指导
获得有趣的字体(选做)
你可以随心所欲的使用显示器,为什么不搞点花样?找一个炫酷的字体!
这有大量 开放字体许可的字体可供选择 。我十分喜爱 Bangers 字体 。如果你看过 YouTube 那你见过这种字体了,它十分流行 。你可以下载到本地的共享字体目录文件中,并且所有的应用都可以使用,包括这个项目:
$ mkdir -p ~/.local/share/fonts
$ curl -sSL https://github.com/google/fonts/raw/master/ofl/bangers/Bangers-Regular.ttf -o fonts/Bangers-Regular.ttf
创建一个圆周率日倒计时器
现在你已经安装好了软件,可以使用带有炫酷字体的电子纸显示屏了 。你可以创建一个有趣的项目:倒计时到下一个圆周率日!
如果你想,你可以从该项目的 GitHub 仓库直接下载countdown.py这个 Python 文件并跳到文章结尾 。
为了满足大家的好奇心,我将逐步讲解 。
导入一些库
import logging
import os
import sys
import time
from datetime import datetime
from pathlib import Path
from PIL import Image,ImageDraw,ImageFont
logging.basicConfig(level=logging.INFO)
basedir = Path(__file__).parent
waveshare_base = basedir.joinpath(\’e-Paper\’, \’RaspberryPi_JetsonNano\’, \’python\’)

推荐阅读