之前一直对电子墨水屏很感兴趣,所以最近入手了一个墨水屏模块来玩玩,主控是ESP32,但是在上手的过程中因为有些商家资料有问题踩了很多坑。

这里记录下来希望对同样入手了的同学有所帮助吧。

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图

电子墨水具有超低耗电量的特点,在显示的影像有变化时才耗用电力,在保持显示的影像时可以不耗电,但缺点是反应速度慢,不适合用于播放如动画及电影等动态画面,较适合用于静态显示。

维基百科

家里有kindle或者类似电子阅读器的同学应该有所体会,在kindle没电了之后,还是能显示最后一个页面的。

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图_02


一、一些问题和解决办法

1、模块到手上电之后没有任何反应,怎么知道是否正常?

解决:模块没有led指示,到手上电后目录也没有显示,只有通过串口工具才能查看到设备的运行情况。

下图是这个模块到手上电后串口的输出,可以看到默认连接的是“CSBZY”的WiFi,但是又没有提前告知WiFi的密码,否则自己开一个一样的热点也是可以直接用了的。

esp32 墨水屏传图 esp32 电子墨水屏_物联网_03

2、下载固件到开发板的时候是否需要按一下EN按键复位,将GPIO0接地?

解决:不需要。从2.13inch_e-Paper_Cloud_Module_Sch 文件可以看到是包含了esp32的自动下载电路的,不需要手动将GPIO0 接地后rst一下进入下载模式。

esp32 墨水屏传图 esp32 电子墨水屏_物联网_04

esptool.py 文件 bootloader_reset 函数也能找到自动让模块进入下载模式的代码,有兴趣的可以研究一下。

3、官方提供的驱动程序 CP210x_USB_TO_UART 安装后虽然设备管理列表中正确显示, 但在串口工具中却打开不了串口?

esp32 墨水屏传图 esp32 电子墨水屏_c语言_05

解决:估计是兼容性问题,卸载原来的驱动后安装文件里面兼容Windows10 的 CP210x_Universal_Windows_Driver 解决。也可以自己在网上找个兼容的驱动。

微雪官方驱动下载链接:

https://www.waveshare.net/w/upload/6/62/CP210x_USB_TO_UART.zip

自测可用驱动

链接:https://pan.baidu.com/s/1fTL1e3-IsOC-jQOytVTBYg 提取码: uwgt

4、点击上传按钮后,编译成功但是报 不存在或开发板没有连接 错误?

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图_06

解决:依赖python环境,需要安装环境并安装 pyserial 包,注意如果有安装 serial 包最好卸载一下。可以执行一下 python esptool.py 看下输出是否正常。

esp32 墨水屏传图 esp32 电子墨水屏_物联网_07

5、打开串口监视器或下载固件时候报**(Port busy)**错误?

esp32 墨水屏传图 esp32 电子墨水屏_智能传感器_08

解决:按下模块上的EN按键,或者拔插一下模块和电脑的连接线。如果拔插数据线多次还有问题,可以打开 CoolTerm 串口工具,点击 Connect 测试下连接。

二、环境配置与编译

1、安装 arduino,可以从官网下载链接下载,也可以直接从Windows 10 的应用商店搜索下载。

官方链接:https://www.arduino.cc/en/Main/Software

esp32 墨水屏传图 esp32 电子墨水屏_编程语言_09

2、下载 Arduino-ESP32 支持包

官方下载链接:https://codeload.github.com/espressif/arduino-esp32/zip/master

3、将压缩包里面的文件解压到 Arduino IDE 安装目录下的 hardware\espressif\esp32 路径,如果没有该路径需要自己创建一下

4、打开 tools 目录,并以管理员身份运行以下 get.exe 文件。会下载当前环境下需要的一些编译工具链

esp32 墨水屏传图 esp32 电子墨水屏_智能传感器_10

5、等待安装,下载时间可能会有点久,需要耐心等待

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图_11

6、安装完成后,可以在 IDE 的“工具 - 开发板”里面找到 ESP32 Dev Module 的型号选项

esp32 墨水屏传图 esp32 电子墨水屏_c语言_12

7、下载模块的示例代码,解压压缩包

链接:https://www.waveshare.net/w/upload/5/50/E-Paper_ESP32_Driver_Board_Code.7z

如果电脑没有装7z,可以到7z官方下载

链接:https://www.7-zip.org/a/7z1900-x64.exe

8、进入_Loader_esp32wf_文件夹,双击**Loader_esp32wf.ino文件打开工程。将开发板选择ESP32 Dev MOdule**,选好开发板对应的端口。

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图_13

9、打开**srvr.h,将ssidpassword**修改为实际使用的WiFi名称和密码

esp32 墨水屏传图 esp32 电子墨水屏_c语言_14

esp32 墨水屏传图 esp32 电子墨水屏_智能传感器_15

10、编译并下载到开发板上。

esp32 墨水屏传图 esp32 电子墨水屏_物联网_16

11、按一下开发板上的EN按键复位一下模块,打开“工具 - 串口监视器”,可以查看到会打印出模块WiFi的连接情况和IP,如果显示乱码需要自己调整一下波特率。

esp32 墨水屏传图 esp32 电子墨水屏_编程语言_17

esp32 墨水屏传图 esp32 电子墨水屏_智能传感器_18

12、将电脑或手机连接到同一个WiFi下,访问模块的IP地址,比如这里是http://192.168.233.71

esp32 墨水屏传图 esp32 电子墨水屏_esp32 墨水屏传图_19

13、屏幕选择**2.13** ,点击**Select image file选择一张本地的图片, 点击Level:mono** 或 Dithering:mono 选择一种图像处理算法

esp32 墨水屏传图 esp32 电子墨水屏_智能传感器_20

14、最后点击 Upload image 将图片上传,这时候屏幕就会刷新显示,刷新挺慢的,还会有闪屏,效果如下视频。