Waveshare的12.48英寸(1304x984)三色电子纸显示屏

2020-12-24 21:32:41

我正在运行一个太阳能博客,我想添加一个低功率显示器以显示每日的太阳能收获1,也许还有一些其他信息。

因此,我决定使用电子纸显示器。我想要一个可以从远处读取的显示器,所以越大越好。因此,我选择了Waveshare 12.48英寸电子纸显示屏2。

在撰写本文时,这种特殊的显示器售价179美元(不含税和运费)。

Waveshare出售两种颜色(黑色和白色)和三种颜色的版本(黑色,白色,红色)。我买了三色版。三色版本是(B)模型。

屏幕尺寸:12.48英寸分辨率:1304 x 984颜色:黑色,白色,红色灰度:2级刷新率:16秒部分刷新:不支持接口:Raspberry Pi,ESP32,STM32,Arduino

该显示显然很慢。此外,缺少部分刷新支持可能会使此显示不适用于某些应用程序。刷新速度很慢,我还可以。

下图演示了不同的字体和大小。我认为DejaVuSansMono-Bold在显示器上看起来确实不错,比Waveshare提供的字体更好。

该显示器包括一个微控制器,该微控制器又可以通过四个接口之一驱动:

我曾用Arduino Uno尝试使用Arduino标头,但提供的演示代码无法正常工作。我没有进一步调查为什么会这样。电压调节可能会出现问题。

这些电子纸显示器主要作为超市和其他企业的产品信息显示器出售。但是,质量足以显示图像。特别是对红色的支持可以使图像突出。

该显示实际上就像是将两个显示合而为一。黑色和白色显示,以及红色和白色显示。

首先,绘制黑白图像。接下来,将红色和白色图像放在顶部。

因为显示器必须连续绘制两个图像,所以刷新屏幕需要16秒。这就解释了为什么此屏幕的黑白版本会在八秒内刷新:它不必刷新红色。

请注意,在屏幕上显示内容的整个过程需要更长的时间。

在撰写本文时,我找不到用于此显示器的任何信息或工具3。

许多Waveshare电子纸显示器很受欢迎,并得到了社区的良好支持。然而,似乎这种显示是相当未知的。

因此,似乎没有可用的工具在此显示器上显示任意图像。您可以使用示例Python代码显示图像,但必须遵循以下步骤:

创建图像的红色和白色版本,其中仅包含图像红色部分的数据

如果源图像不符合要求的分辨率,则必须在适当的地方调整图像大小,裁剪并填充图像。

都是'黑色'和' red'图像需要与显示器的分辨率(1304x984)完全匹配,否则库将因错误中止。

我使用了Waveshare提供的python库,并在其之上创建了一个命令行工具(Github),以执行上一部分中所述的所有必需步骤。我正在使用Imagemagick进行所有图像处理。

红色是从图像中提取的,但并非总是完美的。通过应用--fuzz参数(参数为百分比),可以捕获图像的更多红色(或选定的颜色)。

--color选项指定应将颜色转换为'变成红色。默认情况下,此颜色为'红色' (明显)。太阳能图表(在本文开头)是一个将黄线转换为红色的示例。

非常慢:使用Raspberry Pi 3B +大约需要55秒才能显示图像。那分钟的一半是花在使用Imagemagick将图像转换成适当的格式上。

信息性:Python程序包括Waveshare Python库的修改版本。已对该库进行了更改,以防止图像的双重转换,这会严重降低图像质量。

如果您使用提供的Python库(与Python3兼容),则大约需要30秒钟以上才能在屏幕上绘制图像。 (这不包括使用' display'工具执行的图像处理。)

进一步的测试表明,Python库会在将图像发送到显示器之前对其进行转换和抖动处理。黑色和红色都可以。通过在Python中循环遍历130万像素中的每一个像素来执行抖动。

在Raspberry Pi 3B +上,每个循环(黑色和红色)大约需要10秒钟,这解释了为什么更新显示需要这么长时间。因此,我认为在这种情况下,Python + Raspberry Pi 3B +的组合并不理想。

我想分享我的经验,让其他人知道它的存在。我创建的工具应该使安装和运行以及显示图像变得简单。

它显然有一些缺点,但是由于尺寸,分辨率和第三种颜色,它似乎是唯一的,因此可能很有趣。

尽管我从未尝试过使用ESP32进行显示,但我认为它非常适合用于低功耗相框。

请注意:Waveshare还以相近的价格出售较小的10.3英寸黑白电子纸显示屏,具有一些明显的优势:

屏幕尺寸:10.3英寸分辨率:1872 x 1404颜色:黑色和白色灰度:16级刷新率:450毫秒部分刷新:支持

这种特殊的显示屏较小,但具有较高的分辨率,支持16个灰度级别,并在半秒内更新。此显示可能会更适合您的特定需求。例如,我相信该显示器可能已在该项目中使用过,它是太阳能数码相框。

这些信息直接来自Waveshare网站,但出于完整性和易用性考虑,我将其包括在内。

警告:该库似乎已弃用。支持Raspberry Pi 4,但可能不支持Raspberry Pi的未来版本。

connectionPi库用作名为" DEV_Config.so"的已编译库的一部分。在./lib目录中找到。

@raspberrypi:〜/ epaper_display $ ldd lib / DEV_Config.so linux-vdso.so.1(0x7ee0d000)/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v7l.so(0x76f1e000)libwiringPi.so => /usr/lib/libwiringPi.so(0x76f00000)libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6(0x76e7e000)libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6(0x76d30000)libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0(0x76d06000)librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1(0x76cef000)libcrypt.so.1 => /lib/arm-linux-gnueabihf/libcrypt.so.1(0x76caf000)/lib/ld-linux-armhf.so.3(0x76f46000)

sudo apt-get更新udo apt-get安装python3-pipsudo apt-get安装python3-pilsudo pip3安装RPi.GPIOsudo pip3安装spidev

我将自己视为消费者,我不希望以较低的刷新率或部分刷新支持来破坏显示器,但有损坏显示器的风险。

但是,我发现关于该主题的一个非常有用的资源是来自YouTube频道" Applied Science"的视频。 (Ben Krasnow),称为“电子纸骇客:最快的刷新率”。

我还找到了可能支持此显示的github存储库。该代码(也)在我的Arduino uno上对我不起作用。这可能是由于电压不匹配造成的,但是我不愿意焊接并可能损坏显示屏。

在秋天和冬天,由于阳台的位置不太理想,几乎没有电力产生。 ↩