Waveshare 电子纸显示
waveshare_epaper 显示平台允许你使用
Waveshare 销售的一些电子纸显示
配合 ESPHome。2.13” TTGO 模块 和
带 ESP32 的 Waveshare 云模块 也支持。根据 TTGO 板的具体修订版,你可能需要试用 -b73 或 -b1
版本(见下文)。
1.54” Good Display gdew0154m09
(用于 M5Stack Core Ink)
也支持。
其他供应商销售的类似模块可能也有效,但尚未测试。
目前,ESPHome 管理的大多数显示是单色电子墨水显示;但 ESPHome 也支持可显示多达 7 种颜色的电子墨水显示。


ESPHome 为此集成选择的通信方式是 4 线 SPI,因为它是最稳定和高速的。因此你需要确保板卡设置为 4 线 SPI 模式,并在配置中有一个 spi: 部分。
| 电子纸引脚 | ESP 引脚 | ESPHome 选项 |
|---|---|---|
VCC | 3.3V | N/A |
GND | GND | N/A |
CLK | 任意 GPIO | spi.clk_pin |
DIN | 任意 GPIO | spi.mosi_pin |
CS | 任意 GPIO | cs_pin |
DC | 任意 GPIO | dc_pin |
BUSY(可选) | 任意 GPIO | busy_pin |
RESET(可选) | 任意 GPIO | reset_pin |
# 示例配置条目font: - file: 'fonts/Comic Sans MS.ttf' id: font1 size: 8
spi: clk_pin: D0 mosi_pin: D1
display: - platform: waveshare_epaper cs_pin: D2 dc_pin: D3 busy_pin: D4 reset_pin: D5 model: 2.90in full_update_every: 30 lambda: |- it.print(0, 0, id(font1), "Hello World!");对于 7 色显示,颜色可以在 lambda 函数中这样定义:
lambda: |- const auto BLACK = Color(0, 0, 0, 0); const auto RED = Color(255, 0, 0, 0); const auto GREEN = Color(0, 255, 0, 0); const auto BLUE = Color(0, 0, 255, 0); const auto YELLOW = Color(255, 255, 0, 0); const auto ORANGE = Color(255, 127, 0, 0); const auto WHITE = Color(255, 255, 255, 0);
it.print(0, 0, id(font1), BLUE, "Hello World in blue!"); it.print(100, 100, id(font1), RED, "Hello World in red!");-
cs_pin (必需, Pin Schema): CS 引脚。
-
dc_pin (必需, Pin Schema): DC 引脚。
-
model (必需): 电子纸显示的型号。可选值有:
1.54in1.54inv21.54inv2-b- 黑/白/红2.13in- 未测试2.13in-ttgo- T5_V2.3 已测试。也适用于 Wemos D1 Mini 电子纸屏蔽 2.13 1.0.0 “LOLIN”2.13in-ttgo-b73- T5_V2.3 带 B73 显示已测试2.13in-ttgo-b74- T5_V2.3.1 带 B74 显示已测试2.13in-ttgo-b1- T5_V2.3 带 B1 显示已测试2.13in-ttgo-dke- T5_V2.3 带 DKE 组显示(DEPG0213BN)已测试2.13inv2- 2.13in V2 显示(Pico 电子纸 2.13v2 和云模块)2.13inv3- 2.13in V3 显示(Pico 电子纸 2.13v3)2.70in- 目前与 HAT Rev 2.1 版本不兼容2.70inv22.70in-b- 黑/白/红2.70in-bv2- 黑/白/红2.90in2.90in-dke2.90inv22.90inv2-r2- 2.9in V2 显示,但初始化和完整/局部显示刷新管理不同于2.90inv22.90in-b- 仅 B/W 渲染2.90in-bV3- 仅 B/W 渲染4.20in4.20in-bV2- 仅 B/W 渲染gdey042t81- GoodDisplay GDEY042T81 4.2” B/W4.20in-bV2-bwr- 启用 BWR 渲染(比 B/W 渲染使用的显示缓冲区 RAM 多一倍)5.83in5.83inv2gdey0583t81- GoodDisplay GDEY0583T81 5.83” B/W7.30in-f- 7.3in 7 色显示(黑、白、红、黄、蓝、绿、橙)7.50in7.50in-bV2- 也支持 v3,仅 B/W 渲染7.50in-bV3- 背面带”(V3)“贴纸的显示,仅 B/W 渲染7.50in-bV3-bwr- 背面带”(V3)“贴纸的显示,启用 BWR 渲染(比 B/W 渲染使用的显示缓冲区 RAM 多一倍)7.50in-bc- 背面带版本贴纸”(C)“的显示,仅 B/W 渲染7.50inV2- 不能使用 ESP8266,因为内存不足7.50inV2alt(上述7.50inV2的替代版本)7.50inV2p- 支持局部刷新和快速刷新(仅适用于 2023 年 9 月后生产的7.50inV2型号)7.50in-hd-b- 不能使用 ESP8266,因为内存不足gdey029t94- GooDisplay GDEY029t94,用于 SeeedStudio 的单色 2.9 英寸显示gdew029t5- GooDisplay GDEW029T5,用于 AdaFruit MagTag 和 Pimoroni Badger1.54in-m5coreink-m09- GoodDisplay gdew0154m09,用于 M5Stack Core Ink13.3in-k- 13.3in,K 型号,960x680,仅 B/W 渲染
WARNING
gdew0154m09、Waveshare 7.30in-f 和 Waveshare 7.50in V2 型号上的 BUSY 引脚必须反转,以防止显示永久损坏。在配置中设置 busy 引脚为 inverted: true。
-
busy_pin (可选, Pin Schema): BUSY 引脚。默认为未连接。
-
reset_pin (可选, Pin Schema): RESET 引脚。默认为未连接。 如果未连接到 GPIO 引脚,请确保将该引脚拉高(通过电阻连接到 3.3V)。 2.13” B74 和 V2 显示变体需要复位引脚。
-
rotation (可选): 设置显示的旋转角度。你在
lambda:中绘制的一切都将 根据此选项进行旋转。可选值为0°(默认)、90°、180°、270°。 -
full_update_every (可选, int): 电子纸显示有两种切换到下一幅图像的模式:只更改已更改像素的 局部更新,以及先清除整个显示然后重绘图像的完整更新模式。前者要快得多且效果更好,但每隔一段时间需要完整更新 因为伪影会累积。在
1.54in、1.54inv2、2.13in、2.13inv2、2.90in、2.90inv2、7.50inV2p和gdew029t5型号上,你可以选择使用此选项 每隔 x 次进行一次完整重绘。在所述型号上默认为30,其他型号默认为完整更新。 -
reset_duration (可选, Time): 显示复位操作的持续时间。默认为
200ms。 将此值设置为2ms可能解决较新的电子纸驱动模块(如 Rev 2.1)的问题。 -
update_interval (可选, Time): 重新绘制屏幕的间隔。默认为
1s,使用never仅通过component.update手动更新屏幕。 -
pages (可选, list): 显示页面而非单个 lambda。请参见 显示页面。
-
id (可选, ID): 手动指定用于代码生成的 ID。