E-Paper ESP8266 Driver Board
| ||||||||||||||||||
| ||||||||||||||||||
支持型号
本Wiki主要介绍该产品的具体操作,如需获取该产品支持的墨水屏型号请前往官网产品详情最底部获取
官网链接:https://www.waveshare.net/shop/e-Paper-ESP8266-Driver-Board.htm
屏幕型号 | 程序 |
1.54inch e-Paper | epd1in54_V2-demo |
1.54inch e-Paper (B) | epd1in54b_V2-demo |
2.13inch e-Paper | epd2in13_V3-demo |
2.13inch e-Paper (B) | epd2in13b_V4-demo |
2.13inch e-Paper (D) | epd2in13d-demo |
2.66inch e-Paper | epd2in66-demo |
2.66inch e-Paper (B) | epd2in66b-demo |
2.7inch e-Paper | epd2in7_V2-demo |
2.7inch e-Paper (B) | epd2in7b_V2-demo |
2.9inch e-Paper | epd2in9_V2-demo |
2.9inch e-Paper (B) | epd2in9b_V3-demo |
3.7inch e-Paper | epd3in7-demo |
4.01inch e-Paper (F) | epd4in01f-demo |
4.2inch e-Paper | epd4in2-demo |
4.2inch e-Paper (B) | epd4in2b_V2-demo |
4.26inch e-Paper | epd4in26-demo |
5.65inch e-Paper (F) | epd5in65f-demo |
5.83inch e-Paper | epd5in83_V2-demo |
5.83inch e-Paper (B) | epd5in83b_V2-demo |
7.5inch e-Paper | epd7in5_V2-demo |
7.5inch e-Paper (B) | epd7in5b_V2-demo |
13.3inch e-Paper (B) | epd13in13b-demo |
13.3inch e-Paper (K) | epd13in3k-demo |
- 注:对应程序仅以屏幕最新版本为例,如果您使用的是旧版本,请以屏幕背面的版本标签为准。
说明
自我介绍
我是电子墨水屏网络驱动板,我可以通过WiFi从PC机或智能手机上获取图片信息,并将信息通过电子墨水屏显示出来。 我支持Arduino开发,你可以像使用其它Arduino板一样使用我。
产品参数
- WiFi标准:802.11b/g/n
- 通信接口:3-wire SPI、4-wire SPI(默认)
- 工作电压:5V
- 工作电流:50mA ~ 100mA
- 外形尺寸:29.57mm x 48.26mm
- 过孔直径:2.9mm
功能引脚
功能引脚 | ESP8266 | 描述 |
VCC | VCC | 电源正(3.3V电源输入) |
GND | GND | 电源地 |
DIN | GPIO13(D7) | SPI的MOSI,数据输入 |
SCK | GPIO14(D5) | SPI的CLK,时钟信号输入 |
CS | GPIO15(D8) | 片选,低电平有效 |
DC | GPIO4(D2) | 数据/命令,低电平表示命令,高电平表示数据 |
RST | GPIO2(D4) | 复位,低电平有效 |
BUSY | GPIO5(D1) | 忙状态输出引脚(表示忙碌) |
PS:以上为板子固定连接,无需用户额外操作
产品特点
- 板载ESP8266,支持Arduino开发
- 提供HTML上位机程序,可通过网页远程更新内容,方便集成到各种网络应用中
- 支持Floyd-Steinberg抖动算法,以获得更多的颜色组合,对原始图片进行更好的阴影渲染
- 支持多种常用图片格式(BMP、JPEG、GIF和PNG等)
- 出厂内置电子墨水屏驱动程序(开源)
- 提供完善的配套资料手册
产品应用
这款驱动板配合微雪电子墨水屏,可以应用于电子标签的无线更新
- 超市的电子价格标签
- 客户服务窗口的信息标签,比如名字标签
- 广告小标签
使用准备
下载例程
我们有提供本地、WiFi两种例程,本页面的“资料”标签内可以找到示例程序,或者点击 示例程序 下载
将下载下来的压缩包解压出来,可以得到以下文件:
examples:本地例程
Loader:WiFi例程
环境配置
在线安装需要使用翻墙软件,离线安装则无需使用
Trigger state | E-Paper |
A | 1.54 inch, 2.13 inch, 2.9 inch |
B | 1.54 inch(b), 2.13 inch(b), 2.7 inch, 2.7 inch(b), 2.9 inch(b), 4.2 inch, 4.2 inch (b), 7.5 inch(b), 7.5 inch(b) |
图像处理
在蓝牙和WiFi例程中,提供了两种图像处理算法,分别是 Level(色阶法)以及 Dithering(抖动法)
色阶法
一张图像,我们可以把它划分为几个大的颜色域,图像上的每个像素点根据颜色跟这几个色域的趋近程度,被划分到这些颜色域中去。这种方法比较适用于颜色不多的图像,例如亮色或者三色的形状或者文字图像。以黑白红三色墨水屏为例,处理图像的时候我们希望把它处理成黑白红三色,因此对于一张图像来说,我们可以把图像的所有颜色划分三个大的颜色区域:黑色区域,白色区域,红色区域。
比如根据下图,如果灰度图中的某个像素点的值等于或者小于127的话,我们把这个像素点视为黑色像素,否则,就是白色
对于彩色图来说,我们都知道RGB有三色通道,相对于红色通道来说,我们可以把蓝色和绿色统称为蓝-绿通道,或者是非红通道。根据下面的图,彩色图像上的某个像素点,如果它红色通道的值很高,但是蓝-绿通道的值很低的话,我们将它归为红色像素;如果说它红色通道和蓝-绿通道的值都很低的话,我们将它归为黑色像素;红色和蓝-绿通道值都很高的话我们把它归为白色。
算法中,对于颜色定义是根据RGB值以及预期颜色值的平方和的差值计算的。其中预期颜色值是指的像素点最趋近的那个颜色值,这些值被保存在 curPal 数组中。
抖动法
对于那些颜色比较多,或者渐变区域比较多的图像,上面的色阶法并不太合适,很多时候图像里面的渐变区域的像素可能跟所有颜色域都很接近,如果用色阶法的画就会让图像丢失很多图像细节。很多摄像头拍摄的图片,通过混合颜色的方法来绘画阴影和过度区域,这些图像中,渐变区域占了大部分
对于人眼来说,很容易把特别小的颜色混淆了,比如两种颜色红和蓝并列,如果把它缩小到足够小的手,在人眼看来会变成一种由红和蓝混合而成的颜色。人眼的缺陷意味着我们可以通过欺骗人眼,利用“混合”的方法来获取更多可以表现的颜色,抖动算法就是采用了这一种现象。
我们提供的例程中使用了Floyd-Steinberg 抖动算法-基于错误扩散 (由Robert Floy 和Louis Steinberg在1976年发表)。公式是根据下面的图像的方式进行错误扩散
X 就是错误 (原始颜色和灰度值(颜色值)之间的一个标量(矢量)差值),这个错误会向右边,右下, 下边,和左下四个方向扩散, 分别以7/16, 1/16, 5/16和3/16的权重添加到这四个像素点的值中去。感兴趣的用户可以去了解该算法,网络上有很多资源。
两种算法的处理效果比较
WiFi例程
提供带HTML上位机的WiFi例程
注意:该模块只支持2.4G的网络频段
程序使用
- 进入Loader文件夹,双击Loader.ino文件打开工程
- 选择Tools->Boards->ESP8266 Boards->NodeMCU 1.0,并且选择好对应的串口:Tools->Port
- 将Loader.ino中的 ssid和password改成实际使用的WiFi用户名和密码
- 按下win + R 键,输入CMD,打开命令行,获取电脑IP
- 打开Loader.ino文件,将图片所示位置的网段修改成对应的网段;注意:ESP8266的IP地址(也就是第四位)不要和电脑的地址一样,其他的要和电脑的IP地址要一模一样
- 然后点击上传,把程序编译并下载到ESP8266驱动板上面
- 打开串口监视器,设置波特率为115200,可以看到串口将ESP8266驱动板的IP地址打印出来:
- 电脑或者手机(注意电脑/手机接入的网络需要时跟ESP8266接入的wifi是同一个网段的才可以)打开浏览器,在网址输入栏输入ESP8266的IP地址并打开,可以看到操作界面如下:
- 整个操作见面分为五个区域:
- 图像操作区域:
Select Image file: 点击在电脑或者手机里面选择一张图片
Level: mono: 黑白色阶图像处理算法
Level: color: 多色色阶图像处理算法(只对多色屏幕生效)
Dithering: mono: 黑色抖动图像处理算法
Dithering: color: 多色抖动图像处理算法(只对多色屏幕生效)
Update image: 上传图像 - IP信息显示区域:这里显示的是你当前连接的模块的IP地址信息
- 图像大小设置区域:这里x和y可以设置你要显示的起始位置,这个设置是相对于你选择的图片文件的,比如选择一张800x480的图片,但是连接的墨水屏是2.9寸的,这时候墨水屏并无法显示整张图片的信息,所以在选择图像处理算法的时候,算法会自动从左上角开始截取一部分图片传到墨水屏显示,这里设置x和y可以自定义截取的起始位置。w和h是当前墨水屏的分辨率大小。
注意:如果修改了x和y的指的话,需要重新点击一下处理算法生成新的图像 - 型号选择区域:这里可以选择你接入的墨水屏型号
- 图像显示区域:这里会显示你选择的图片以及处理之后的图像
- PS:在上传图像的时候,底部会显示上传的数据进度
- 图像操作区域:
- 区域①点击Select image file 选择一张图片,或者直接将图片拖拽至Original image的区域内
- 区域④选择对应的墨水屏型号,例如:1.54b
- 区域①点击一种图像处理算法, 例如:Dithering: color
- 区域①点击Upload image将图片上传到墨水屏显示。
本地例程
提供基于ESP8266的本地例程,无需WiFi和其他设备
例程使用
- 打开 Arduino IDE 查看项目文件夹位置(不要随意修改)
- 进入 E-Paper_ESP8266_Driver_Board_Code\examples 目录,把整个 esp8266-waveshare-epd 文件夹复制到项目文件夹目录下的 libraries 目录下
- 关闭所有的 Arduino IDE 窗口,再重新打开 Arduino IDE ,按图选择对应的示例程序
- 选择对应的开发板和串口
资料
文档
视频
程序
驱动
相关资料
FAQ
- 用谷歌浏览器试下,如果还不行换一个网络再试下。