嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content

PaPiRus:树莓派的ePaper显示器

title

为热门计算平台提供低能耗,高能见度的显示

电子纸(ePaper)显示器,也叫电子墨水(E-ink)显示器,已不是新鲜名词,被广泛应用于电子书,并正在向手机、手表,以及商店展示行业扩展。它们耗能很少,反射光线而非发出光线,这就意味着它们可以在强日光下阅读且可视角度大。

PaPiRus (RS库存编号: 897-7147) 是一块附加板,针对树莓派有三种尺寸的ePaper屏,为样板测试提供了灵活选择。在这篇文章中我们将装配、连接其中一块显示屏到树莓派3上。

第一印象

title

盒子中有PaPiRus板,安装零件,三个不同的尺寸的显示屏和贴纸。还包括一个“Pogo Pin”连接器是用于到Pi的一个焊盘上的。增加这个Pin是选择性的,它是用来使用板上RTC的唤醒提示功能的,但只适用于Pi 2,因为Pi 3并没有这个焊盘。

PaPiRus所选择的ePaper显示屏是由Pervasive Displays生产的,是一个也给很多其它与Pi和Arduino一样热门的开发工具提供显示屏的公司。虽然易碎,但这些套件质量很高,也是其它开发套件生产商的热门选择。

title

在2014年,Pervasive Displays发布了 RePaper.org,是一个包括了实例程序、硬件文件和控制板原理图的资源包,目的是鼓励关于他们的ePaper产品的创新发明。很高兴看到这样的事件,我认为更多的公司应该采取一些行动来支持自己的产品以及想要使用这些产品的用户。

除了控制ePaper显示器之外,PaPiRus还有一个板上温度传感器和可通过i2c使用的实时时钟。

组装

title

将所有的部件从盒子中拿出,整齐地摆放在工作台上,我们就可以开始组装了。首先,如果你有电烙铁在手边,如果你愿意可以先将PaPiRus板上的四个开关焊上。这样做不是必须的,但是在连接ePaper显示器之前焊接开关看起来是一个不错的选择。额外的附加在GPIO的开关也可以派上用场。如果用Pi3使用PaPiRus,则不需焊接Pogo Pin。

title

在将显示屏接到板上之前,取出四个M2.5 x 5mm尼龙螺丝和四个连接件,如图所示连接到板上。这件事最好现在做,因为如果装上最大的显示屏会部分覆盖住螺丝孔位。

title

接下来,必须做一个选择。先试哪一个尺寸的屏幕?我取出最大的那个,小心的将扁平线插入板上连接头。泡沫胶是用来将屏幕粘到板上的,但是对一个显示屏来说提供的数量似乎太多,尤其是你可能会想转换不同的屏幕尺寸。一个有效的解决办法就是将一个剪成4块。

title

在这一阶段,PaPiRus板和Pi可以通过对齐GPIO接口将他们连接在一起。剩下的四个螺丝可以用来确保PaPiRus在正确的位置,尽管这会多占用四个Pi的安装孔。为了使Pi能正常安装,一个解决办法是购买或是自制一个固定台,并且使用长一些的螺丝。

title

为了使整个组装更加耐用,并且降低损坏显示屏的可能性,我快速设计、激光剪裁了一个简易的保护壳,文件可以如下链接中找到。

配置Pi

title

从一个Raspbian图像开始,确保系统足够新,满足如下两个要求:

$ sudo apt-get udpate

$ sudo apt-get upgrade

PaPiRus GitHub资源库中的README 文件为如何使用显示屏提供了介绍。跟着如下指示,先使用raspi-config功能激活SPI,然后重启系统:

$ sudo raspi-config

$ sudo reboot

接下来你可以运行提供的脚本本或是手动安装每一个元件,我们接下来会这么做。

  • 安装git和软件依赖关系

$ sudo apt-get install git python-imaging

  • 克隆PaPiRus资源库

$ git clone https://github.com/PiSupply/PaPiRus.git

  • 改变目录并且安装PaPiRus Python资料库

$ cd PaPiRus

$ sudo python setup.py install

  • 安装驱动,在这里我们使用提供脚本而不是手动操作每一步

$ papirus-setup

 

测试显示

title

完成了上述步骤之后我们再开始测试屏幕之前需要设置屏幕尺寸。脚本必须以root身份运行:

$ sudo papirus-set 2.7

确定的屏幕尺寸会被打印到终端。现在我们可以用演示工具papirus-clock来测试显示器功能,这也必须以root身份运行:

$ sudo papirus-clock

title

当我第一次运行这个演示的时候,我发现一些屏幕上有一些颗粒,我猜想这可能代表着我没有将屏幕正确地连接到PaPiRus板。然而,一段时间(大约15分钟左右)过后,颗粒消失了并且并没有再次出现过。

title

一旦确定屏幕可以正常工作,你可能会想试着显示一张图片来看一下屏幕的可以表现到什么程度,来确定ePaper与传统显示屏相比有何限制。我们可以使用GIMP(免费的跨平台图片处理系统)来显示,使用有相似功能的图片处理包也是可以的。

概括来说,图片文件应该有如下性质:

  • 正确的分辨率(大:264 x 176 px,中:200 x 96 px,小:128 x 96 px)
  • 1-bit 调色板(可以在GIMP中设置 图片>模式>索引,选择“黑白(1-bit)调色板”)

用电脑编辑过的图片文件可以保存,复制到Pi,用PaPiRus显示。这是一个python脚本示例,在资源库的/bin/文件夹中,我们可以用来发送图片,为了简化使用我们让它变为可执行文件。从/bin/文件夹中:

$ sudo chmod +x papirus-draw

然后把图片文件名作为一个参数执行指令:

$ sudo ./papirus-draw /imagePath/ImageName

这将会显示图片并且将确认在终端输出。

 

PythonPaPiRus

title

 

除了提供的例子,还有一个Python API可从你自己的Python脚本使用PaPiRus。API 的参考在GitHub README中有,但是在写这篇文章时仍在开发完善,所以我觉得去看papirus-write例子来弄清楚它是怎么工作的。

通过结合papirus-write和一个之前的设计,我合成了一个简单的订阅到MQTT主题的脚本,

将最近信息的净负荷写到PaPiRus。(MQTT是一个受欢迎的轻量可靠的机对机或物联网协议。)

上述的Python、MQTT设计的代码以及项目详细信息可在如下链接中找到。

 

结语

title

 

PaPiRus是值得加入树莓派HAT家族的产品,也是初步学习接触使用ePaper的好选择。选择Pervasive Displays 系列产品的一个易被忽视的重要优势是可以得到他们的开源信息、实例的结实基础。

用PaPiRus,除了一些网络文件的疏漏,从盒中的一个个小元件到组装成一个可工作的Pi显示器是简单快速的。一旦这些疏漏被解决,这将是为你的Pi设计添加一个集成ePaper的最简单选择。所以,你会先选择哪一个尺寸的屏幕呢?

maker, hacker, doer
DesignSpark Electrical Logolinkedin