跳转到内容

显示屏与仪表盘 ​

给 ESP32 接一块屏,就能做成桌面时钟、天气站、Home Assistant 墙面面板、电子相框或迷你游戏机。适合想做「看得见」的项目、不想只面对串口日志的人。

这是什么玩法 ​

按屏幕类型,大致分为三类:

类型特点典型场景
TFT / IPS LCD彩色、刷新快、便宜,持续耗电桌面仪表盘、控制面板
AMOLED对比度高、色彩鲜艳,价格较高智能手表、小型展示屏
电子墨水 (e-paper)断电保持画面,刷新慢,功耗极低日历、天气、电池供电显示牌、相框

典型硬件 ​

  • CYD (Cheap Yellow Display):社区对 ESP32-2432S028 一类带 2.8 英寸触摸屏的廉价开发板的昵称,板载 ESP32、ILI9341 屏幕、电阻触摸、SD 卡槽,价格约十美元量级,同款有多个版本,屏驱动和触摸芯片可能不同,详见 Cheap Yellow Display。
  • 带屏开发板:LILYGO T-Display-S3、Waveshare ESP32-S3-Touch-LCD、Waveshare ESP32-S3-Touch-AMOLED。
  • 乐鑫官方带屏产品:ESP32-S3-BOX-3;高性能的 ESP32-P4 Function EV Board 带 MIPI-DSI 接口,可以接更大的屏。
  • M5Stack 系列:CoreS3、Tab5、电子墨水的 PaperS3。
  • 电子墨水成品:TRMNL 是一款 7.5 英寸黑白电子墨水设备,据其官方 GitHub 与媒体报道基于 ESP32-C3,固件开源(usetrmnl/trmnl-firmware,GPL-3.0),可以指向自托管服务器;同类硬件也有基于 ESP32 开发板自己组装的方案。

软件 ​

  • LVGL:嵌入式 GUI 库,支持按钮、图表、滑块等控件,乐鑫在 官方方案 里提供了集成。
  • ESPHome:内置 display 组件和 lvgl 组件,用 YAML 描述界面,适合做和 HA 联动的面板。
  • openHASP:为 HA 和 MQTT 设计的开源触摸面板固件,用 JSON 描述页面。
  • Tactility:面向 ESP32 的应用平台,可在支持的带屏设备上运行应用。
  • 驱动库:Arduino 下常用 TFT_eSPI、LovyanGFX,见 Arduino-ESP32。

入门路径 ​

  1. 买一块 CYD 或 LILYGO T-Display-S3 这类「屏幕已接好」的开发板,避免从接线开始踩坑。
  2. 先跑通厂商 Demo 或 TFT_eSPI 例程,确认屏幕显示正常、触摸坐标正确。
  3. 用 ESPHome 的 display 组件显示 HA 里的温度或天气。
  4. 想要漂亮控件,再学习 LVGL,或者直接用 openHASP 的 JSON 方式设计页面。
  5. 电子墨水屏则选择带驱动板的成品,例如 Waveshare 电子纸套件,并先读懂其局部刷新与全刷的区别。

进阶方向 ​

  • 墙面 HA 控制面板:触摸屏加电源加壳体,装在墙上。
  • 电子相框:用电子墨水屏定时从服务器拉取图片,电池可持续数月;彩色墨水屏刷新慢,需要接受数十秒的刷新时间。
  • 仪表盘服务端渲染:把网页渲染成图片,由 ESP32 定时拉取并显示,这也是 TRMNL 一类设备的思路。
  • ESP32-P4 大屏:算力强,可以跑更复杂的界面,但生态仍在成熟,具体可用性以官方 SDK 为准。
  • 低功耗:电子墨水设备大部分时间用深度睡眠,见 传感器与监测。

注意事项 ​

  • 电阻触摸屏要校准,电容触摸屏要核对驱动芯片型号。
  • 屏幕背光很耗电,电池供电要支持关闭或调暗。
  • 电子墨水屏不能高频刷新,频繁全刷会产生残影并缩短寿命,请遵循厂商的最小刷新间隔。
  • 内存:大屏加 LVGL 需要 PSRAM,没有 PSRAM 的 ESP32 很快会遇到内存不足。
  • 同名不同版的 CYD 很多,买前核对驱动芯片,避免跑 Demo 白屏。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。