跳到主要内容

搭配 ESP32 使用

前置说明​

我们提供了2个例程都是在Arduino环境进行开发的,首先就需要搭建Arduino下面的ESP32环境,这个可以单独在ESP32用户手册中学习,不过为了教程的完整性,这里也可以再次介绍:
1.如果您电脑之前并没有安装有 Arduino IDE,或者 IDE 的版本比较老。建议到 Arduino 官方网站根据自己的系统型号下载最新的 IDE 并安装。
-官网链接:https://www.arduino.cc/en/Main/Software
2. 下载 Arduino-ESP32 支持包:https://codeload.github.com/espressif/arduino-esp32/zip/master. 并将压缩包里面的文件解压到 Arduino IDE 安装目录下的Hardware->espressif->esp32 路径。(注意,如果在安装目录下没有相应文件夹的话,可以手动创建一下)。

12in48-epaper-esp32-1

3.打开tools,并以管理员身份运行一下get.exe文件。
4.等待安装完成后,把下载程序的中esp32-epd-12in48文件夹复制都Arduino目录下的Hardware->espressif->esp32 ->libraries(一般情况下他的目录为:C:\Program Files (x86)\Arduino\hardware\espressif\esp32\libraries)

12in48-epaper-esp32-2

硬件连接​

两个例程均使用e-Paper ESP32 Driver Board进行了验证,e-Paper ESP32 Driver Board可以直接插在驱动板上的ESP32接口上。
12in48-epaper-esp32connet 其硬件具体的管脚连接可以在原理图或者程序中查找到:

12in48-epaper-esp32-connet1

Arduino例程​

打开Arduino IDE,点击文件->示例,可以找到如下两个例程

12in48-epaper-esp32-3

如果你是黑白屏,请使用epd12in48-demo;
如果你是黑白红屏,请使用epd12in48B-demo;

WIFI控制​

ESP32是支持WiFi的,并且可以作为服务器和从机,因此我们可以对他进行编程,以实现网页控制墨水屏。这个在E-Paper ESP32 Driver Board里面有实现控制其他屏幕,是之前公司老外搞的,可能对部分的初学者的使用门槛比较高,因此这里进行重置,由于这个网页是边学边写的(一个电子工程师半路出家搞前端,可累坏我了),不免有BUG,测试时不一定能全部发现,希望您帮我们指出不足,我们会努力改进。
在esp32目录下面的wifi,因为是wifi的条件下使用,所以你不能直接使用例程,需要修改程序里面的WIFI账号密码:
打开目录下的Web_App.cpp,在第50行和51行有账号密码,自行修改成您的:

12in48-epaper-esp32-4

然后打开wifi.ino,编译下载到您的ESP32中,打开串口监视器,稍等片刻会连上WIFI,得到局域网IP地址:

12in48-epaper-esp32-5

打开浏览器(测试了QQ、谷歌、火狐均可以使用),输入IP地址,第一次加载可能需要一点时间,因为需要去下载jq包:

12in48-epaper-esp32-html0

上面显示了IP地址并可以选择12.48inch e-paper和12.48inch e-paper b分别对应黑白屏和黑白红,根据您自己的屏幕自行选择。

  • 下面以12.48inch e-paper(黑白)为例子讲解

点击12.48inch e-paper,右边将会显示出6个功能,可以实现画点、先、框、圆、字符、图片6个功能,网页主页将会显示墨水屏的像素以及可以显示的颜色,注意一下的颜色都是使用BLACK,如果white,什么都不会显示出来:

12in48-epaper-esp32-html1

工欲善其事,必先利其器,图片坐标系一般不同于我们的数学坐标系:

12in48-epaper-esp32-html2

1.画点
点击Draw Point,右侧会弹出以下,有4个选项:对应点的坐标,颜色,像素点大小。(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果

12in48-epaper-esp32-html3

2.画线
点击Draw Line,右侧会弹出以下,有7个选项:对应线的起始坐标(4个),颜色,线宽,实线虚线。(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果

12in48-epaper-esp32-html4

3.画框
点击Draw Rectangle,右侧会弹出以下,有7个选项:对应框的起始坐标(4个),颜色,线宽,内部是否填充。(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果

12in48-epaper-esp32-html5

4.画圈
点击Draw Circle,右侧会弹出以下,有6个选项:对应圆心的坐标,半径,颜色,线宽,内部是否填充。(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果

12in48-epaper-esp32-html6

5.写字符
点击Draw Circle,右侧会弹出以下,有5个选项:对应字符的左顶点坐标,字符内容,字体大小,颜色。(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果

12in48-epaper-esp32-html7

6.显示图片
点击Show Picture,右侧会弹出以下,有7个选项:对应图片的左顶点坐标,显示的图片,四种图片处理算法,对应:黑白色阶算法、三色色阶算法、黑白抖动算法、三色抖动算法(注意坐标不要超出图片的最大像素,否则不会显示),都选择好之后,点击任意位置即可显示效果
点击upload image,可以选择电脑本地的图片,选择对应图片,点击打开:

12in48-epaper-esp32-html8

将右边的条幅,拉到最下,可以看到原图:

12in48-epaper-esp32-html9

这里需要则对应的算法:由于使用的黑白屏幕,因此只支持:黑白色阶算法和黑白抖动算法(下面两张图片将会展示图片的效果),其他的两者红色如果点击会有弹窗警告您:

12in48-epaper-esp32-html10

12in48-epaper-esp32-html11

7.上传图片
点击左侧的upload image,上传图片,稍等10S左右黑白屏幕就会显示

12in48-epaper-esp32-html12

你可以打开Arduino IDE的串口监视器,里面详细的刷新调试信息

12in48-epaper-esp32-html13

你也可以在浏览器中按F12打开调试界面,可以看到对应的调试信息:

12in48-epaper-esp32-html14