简介
我在运行一个ob比分网
博客和我想增加一个低功率显示器来显示每天的太阳能“收获”。欧宝体育链接也许还有一些额外的信息。
所以我决定使用电子纸显示.我想要一个从远处就能读懂的显示器,所以越大越好。因此我选择了12.48英寸的电子纸显示.

一个基于夏天数据的例子,由Graphite生成
在撰写本文时,这个特殊的显示器的价格是179美元,不包括税和运费。
规范
Waveshare卖一个的双色(黑白)和三色版(黑、白、红)。我买了三色版。三色版本是(B)型。
规格:
屏幕尺寸:12.48英寸分辨率:1304 * 984颜色:黑、白、红灰度:2级刷新率:16秒部分刷新:不支持接口:树莓派、ESP32、STM32、Arduino
这款双色显示屏的刷新率为8秒。
这个显示明显很慢。此外,缺乏部分刷新支持可能使这种显示不适合某些应用程序。我可以接受这种缓慢的刷新率。
下图展示了不同的字体和大小。我认为DejaVuSansMono-Bold显示效果非常好,比Waveshare提供的字体要好。

的接口
显示器包括一个微控制器,它可以通过以下四个接口之一驱动:
- 树莓派(已使用)
- ESP32(未测试)
- Arduino(不能用)
- STM32(未测试)
我已经尝试了Arduino Uno的Arduino头,但提供的演示代码无法工作。我没有进一步调查为什么会出现这种情况。这可能是电压调节的问题。

在上图中,黑色塑料背板被移除。
图像质量
这些电子纸显示器主要作为超市和其他企业的产品信息显示器出售。不过,它的质量足以显示图像。特别是对红色的支持可以使图像脱颖而出。
下面是一个包含第三种颜色(红色)的图像示例。

这个陈列柜似乎适合展示艺术。

它在现实生活中看起来相当不错(对不起,太刺眼了)。
显示器如何显示三种颜色
显示器就像真的一样两个显示在一个。一个黑白显示屏,一个红白显示屏。
首先,绘制黑白图像。接下来,红色和白色的图像被放在上面。
由于显示器必须连续绘制两幅图像,刷新屏幕需要16秒。这就解释了为什么黑白版本的屏幕会在8秒内刷新:它不需要刷新红色。
请注意,在屏幕上显示内容的整个过程要长得多。
一个示范:
显示图像很麻烦(在树莓派3B+上)
在写这篇文章的时候,我找不到任何关于这个展示的信息或工具.
许多Waveshare电子纸显示器都很受欢迎,并得到了良好的社区支持。然而,这种现象似乎并不为人所知。
因此,似乎没有任何工具可以在这个显示器上显示任意图像。你可以使用示例Python代码来显示图像,但你必须遵循以下步骤:
- 创建图像的黑白版本
- 创建图像的红白版本,其中仅包含图像红色部分的数据
- 如果源图像不符合所需的分辨率,则必须在适当的地方调整图像的大小、裁剪和填充。
“黑色”和“红色”图像都需要与显示器的分辨率(1304x984)完全匹配,否则库将失败。
当我发现这个过程很乏味时,我就把它自动化了。
一个新的工具,使显示图像更容易
我使用了Waveshare提供的python库,并创建了一个命令行工具(Github)在它上面执行所有必要的步骤,如前一节所述。我使用Imagemagick进行所有的图像处理。
脚本是这样工作的:
./display -i <图像文件>[——rotate 90][——fuzz 35][——color yellow]
-fuzz和-color参数可能需要一些澄清。
红色是从图像中提取出来的,但它并不总是完美的。通过应用——fuzz参数(参数为百分比),可以捕获图像的更多红色(或所选颜色)。
——color选项指定应该将哪种颜色“转换”为红色。默认情况下,这个颜色是“红色”(很明显)。“太阳图”欧宝体育链接(本文开头)就是一个将黄线转换为红线的例子。
非常缓慢的:大约需要欧宝体育直播官网55秒使用树莓派3B+显示图像。这一分钟的一半时间是使用Imagemagick将图像转换为适当的格式。
信息: Python程序包含一个修改版本Waveshare Python库。这个图书馆已经改成了防止图像的双重转换,这大大降低了图像质量。
缓慢的性能
如果使用提供的Python库(兼容Python3),则需要大约欧宝体育直播官网30 +秒在屏幕上绘制图像。(这不包括使用“显示”工具执行的图像处理。)
进一步的测试表明,Python库在将图像发送到显示器之前会对图像进行转换和抖动。黑色和红色都是这样。抖动是通过在Python中对每一个130万像素进行循环来执行的。
在树莓派3B+上,每个循环(黑色和红色)大约需要10秒,这就解释了为什么更新显示需要这么长欧宝体育直播官网时间。因此,我认为Python +树莓派3B+的组合在这种情况下并不理想。
评价
我想分享我对这个展览的经验,让其他人知道它的存在。我创建的工具应该使启动、运行和显示图像变得简单。
它显然有一些缺点,但由于尺寸、分辨率和第三种颜色,它似乎是独特的,因此可能会很有趣。
虽然我从未尝试过ESP32的显示屏,但我认为它是低功耗相框的理想选择。
这篇文章被讨论过黑客新闻(短暂)。这导致这篇文章有大约9000个独立欧宝体育直播官网访问者。
附录A -其他显示说明
请注意:Waveshare还出售较小的10.3英寸黑白电子纸显示屏价格相似,但有一些显著的好处:
屏幕尺寸:10.3英寸分辨率:1872 * 1404颜色:黑白灰度:16级刷新率:450毫秒部分刷新:支持
这种特殊的显示器更小,但具有更高的分辨率,支持16个灰度级别,并在半秒内更新。这个显示器可能更适合你的特殊需要。例如,我相信这种显示器可能已经被用于这个项目这是一款欧宝体育链接太阳能数码相框。
附录B -如何使显示工作在树莓派
这些信息是直接从Waveshare网站,但我包括它的完整性和易用性。
第一部分:使用raspi-config启用SPI接口
- sudo raspi-config
- 选择接口选项
- 选择SPI
- 选择Yes
- 重启树莓派
第二部分:安装所需的库
安装BCM283
网站
获取http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz tar ZXVF bcm2835-1.60.tar.gz CD bcm2835-1.60/ sudo ./configure sudo make sudo make check sudo make install
安装wiringPi
网站
Sudo apt-get install wiringpi CD /tmp wget https://project-downloads.drogon.net/wiringpi-latest.deb Sudo DPKG -i wiringpi- update .deb gpio -v
谨慎:该库似乎已弃用。支持树莓派4,但未来的版本可能不支持。
wiringPi库被用作称为“DEV_Config”的编译库的一部分。在。/lib目录中找到。
@raspberrypi:~/epaper_display $ ldd lib/DEV_Config。所以linux-vdso.so.1(0 x7ee0d000) /usr/lib/arm-linux-gnueabihf / libarmmem - ${}的平台。所以=> /usr/lib/arm-linux-gnueabihf/ libarmmemm -v7l。so (0x76f1e000) libwiringPi。so => /usr/lib/libwiringPi。因此(0x76f00000) libm.so。6 => /lib/arm-linux-gnueabihf/libm.so.6(0 x76e7e000) libc.so。6 => /lib/arm-linux-gnueabihf/libc.so.6(0 x76d30000) libpthread.so。0 => /lib/arm-linux-gnueabihf/libpthread.so.0(0 x76d06000) 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)
安装Python3和所需的库
sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo pip3 install RPi。GPIO sudo pip3安装spidev
附录C -电子纸黑客
我认为自己是一个消费者,我不想为了更低的刷新率或部分刷新支持而入侵显示器,因为在这个过程中有损坏显示器的风险。
然而,关于这个话题,我发现一个非常有用的资欧宝体育直播官网源是Youtube频道“应用科学”(Ben Krasnow)的一个视频,叫做“电子纸黑客:最快的刷新率”。
附录D -可用的库
所有受支持平台的示例代码都可以在这里找到github的位置.
我还发现这个github存储库这可能支持这种显示。这段代码在我的Arduino uno上也不工作。这可能是由于电压不匹配,但我不愿意焊接,并有可能破坏显示器。
附录E -其他电子论文项目的链接
非常大和昂贵的显示器(中等收费)
电子日历
欧宝体育链接太阳能数码相框