“E-Paper ESP8266 Driver Board”的版本间的差异

来自Waveshare Wiki
跳转至: 导航搜索
(文本替换 - 替换“SPI Service”为“Service26”)
 
(未显示7个用户的79个中间版本)
第1行: 第1行:
{{DISPLAYTITLE:E-Paper ESP8266 Driver Board}}
+
<div class="wiki-pages blue-color">
 +
<div class="tabberlive  newwsnav" id="wsnavbar">
 +
<ul class="tabbernav">
 +
<li class="nav-link">[[#myintro|说明]]</li>
 +
<li class="nav-link">[[#prepare|使用准备]]</li>
 +
<li class="nav-link">[[#wifi|WiFi例程]]</li>
 +
<li class="nav-link">[[#local|本地例程]]</li>
 +
<li class="nav-link">[[#myresources|资料]]</li>
 +
<li class="nav-link">[[#myfaq|FAQ]]</li>
 +
<li class="nav-link">[[#mysupport|售后]]</li>
 +
</ul>
 +
</div>
 +
 
 
<div class="tabber">
 
<div class="tabber">
<!--<div class="tabbertab" title="说明"></div>-->
 
<div class="tabbertab" title="资料">
 
 
{{外围模块|colorscheme=blue
 
{{外围模块|colorscheme=blue
 
|name = E-Paper ESP8266 Driver Board
 
|name = E-Paper ESP8266 Driver Board
|img=[[File:e-Paper-ESP8266-Driver-Board-1.jpg|360px |link=http://www.waveshare.net/shop/e-Paper-ESP8266-Driver-Board.htm | E-Paper ESP8266 Driver Board]]
+
|img=[[File:e-Paper-ESP8266-Driver-Board-1.jpg|360px |link=https://{{SERVERNAME}}/shop/e-Paper-ESP8266-Driver-Board.htm | E-Paper ESP8266 Driver Board]]
 
|category1=e-paper
 
|category1=e-paper
 
|brand=Waveshare
 
|brand=Waveshare
 
|feature = 电子墨水屏网络驱动板
 
|feature = 电子墨水屏网络驱动板
 +
|Product1 = {{E-Paper ESP32 Related}}
 
}}
 
}}
===文档===
 
*[http://www.waveshare.net/w/upload/e/e7/E-Paper_Image_Loader_User_Manual_CN.pdf  用户手册]<br>
 
*[http://www.waveshare.net/w/upload/7/7e/ESP8266_e-paper.pdf 原理图]<br>
 
  
===视频===
+
='''支持型号'''=
 +
本Wiki主要介绍该产品的具体操作,如需获取该产品支持的墨水屏型号请前往官网产品详情最底部获取<br>
 +
官网链接:https://www.waveshare.net/shop/e-Paper-ESP8266-Driver-Board.htm <br>
 +
{{E-Paper ESP32 Driver Board程序参考表}}<br>
 +
*注:对应程序仅以屏幕最新版本为例,如果您使用的是旧版本,请以屏幕背面的版本标签为准。
 +
 
 +
<div class="tabbertab" title="说明" id="myintro">
 +
='''说明'''=
 +
==自我介绍==
 +
我是电子墨水屏网络驱动板,我可以通过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
 +
==功能引脚==
 +
{|border=1; style="width:700px;" align="center"
 +
|-style="background:#0000ff; color:white;" align="center"
 +
|功能引脚||ESP8266||描述
 +
|-align="center"
 +
|VCC||VCC||电源正(3.3V电源输入)
 +
|-align="center"
 +
|GND||GND||电源地
 +
|-align="center"
 +
|DIN||GPIO13(D7)||SPI的MOSI,数据输入
 +
|-align="center"
 +
|SCK||GPIO14(D5)||SPI的CLK,时钟信号输入
 +
|-align="center"
 +
|CS||GPIO15(D8)||片选,低电平有效
 +
|-align="center"
 +
|DC||GPIO4(D2)||数据/命令,低电平表示命令,高电平表示数据
 +
|-align="center"
 +
|RST||GPIO2(D4)||复位,低电平有效
 +
|-align="center"
 +
|BUSY||GPIO5(D1)||忙状态输出引脚(表示忙碌)
 +
|}
 +
'''PS:以上为板子固定连接,无需用户额外操作'''
 +
 
 +
==产品特点==
 +
*板载ESP8266,支持Arduino开发
 +
*提供HTML上位机程序,可通过网页远程更新内容,方便集成到各种网络应用中
 +
*支持Floyd-Steinberg抖动算法,以获得更多的颜色组合,对原始图片进行更好的阴影渲染
 +
*支持多种常用图片格式(BMP、JPEG、GIF和PNG等)
 +
*出厂内置电子墨水屏驱动程序(开源)
 +
*提供完善的配套资料手册
 +
==产品应用==
 +
这款驱动板配合微雪电子墨水屏,可以应用于电子标签的无线更新
 +
*超市的电子价格标签
 +
*客户服务窗口的信息标签,比如名字标签
 +
*广告小标签
 +
</div>
 +
 
 +
 
 +
<div class="tabbertab" title="使用准备" id="prepare">
 +
='''使用准备'''=
 +
==下载例程==
 +
我们有提供本地、WiFi两种例程,本页面的“资料”标签内可以找到示例程序,或者点击 [https://{{SERVERNAME}}/w/upload/d/d5/E-Paper_ESP8266_Driver_Board_Code.7z  示例程序] 下载<br>
 +
将下载下来的压缩包解压出来,可以得到以下文件:<br>
 +
[[File:epd_esp8266_download_1.png|600px]]<br>
 +
examples:本地例程<br>
 +
Loader:WiFi例程<br>
 +
==环境配置==
 +
在线安装需要使用翻墙软件,离线安装则无需使用
 +
*[https://www.waveshare.net/wiki/%E6%A8%A1%E6%9D%BF:Arduino_ESP32/8266_Online_Installation 在线安装]
 +
*[https://www.waveshare.net/wiki/%E6%A8%A1%E6%9D%BF:Arduino_ESP32/8266_Offline_Installation 离线安装]
 +
*设置型号开关,根据使用的墨水屏型号设置型号开关(如果显示效果差或者无法驱动,请尝试切换开关)
 +
[[File:epd_esp8266_hardware_1.png|600px]]
 +
{|border=1; style="width:900px;" align="center"
 +
|-style="background:#0000ff; color:white;" align="center"
 +
|Trigger state||E-Paper
 +
|-align="center"
 +
|A||1.54 inch, 2.13 inch, 2.9 inch
 +
|-align="center"
 +
|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(抖动法)<br>
 +
===色阶法===
 +
一张图像,我们可以把它划分为几个大的颜色域,图像上的每个像素点根据颜色跟这几个色域的趋近程度,被划分到这些颜色域中去。这种方法比较适用于颜色不多的图像,例如亮色或者三色的形状或者文字图像。以黑白红三色墨水屏为例,处理图像的时候我们希望把它处理成黑白红三色,因此对于一张图像来说,我们可以把图像的所有颜色划分三个大的颜色区域:黑色区域,白色区域,红色区域。<br>
 +
比如根据下图,如果灰度图中的某个像素点的值等于或者小于127的话,我们把这个像素点视为黑色像素,否则,就是白色<br>
 +
[[File:epd_esp32_lever_1.png|400px]]<br>
 +
对于彩色图来说,我们都知道RGB有三色通道,相对于红色通道来说,我们可以把蓝色和绿色统称为蓝-绿通道,或者是非红通道。根据下面的图,彩色图像上的某个像素点,如果它红色通道的值很高,但是蓝-绿通道的值很低的话,我们将它归为红色像素;如果说它红色通道和蓝-绿通道的值都很低的话,我们将它归为黑色像素;红色和蓝-绿通道值都很高的话我们把它归为白色。<br>
 +
[[File:epd_esp32_lever_2.png|400px]]<br>
 +
算法中,对于颜色定义是根据RGB值以及预期颜色值的平方和的差值计算的。其中预期颜色值是指的像素点最趋近的那个颜色值,这些值被保存在 curPal 数组中。<br>
 +
[[File:epd_esp32_lever_3.png|400px]]<br>
 +
===抖动法===
 +
对于那些颜色比较多,或者渐变区域比较多的图像,上面的色阶法并不太合适,很多时候图像里面的渐变区域的像素可能跟所有颜色域都很接近,如果用色阶法的画就会让图像丢失很多图像细节。很多摄像头拍摄的图片,通过混合颜色的方法来绘画阴影和过度区域,这些图像中,渐变区域占了大部分<br>
 +
对于人眼来说,很容易把特别小的颜色混淆了,比如两种颜色红和蓝并列,如果把它缩小到足够小的手,在人眼看来会变成一种由红和蓝混合而成的颜色。人眼的缺陷意味着我们可以通过欺骗人眼,利用“混合”的方法来获取更多可以表现的颜色,抖动算法就是采用了这一种现象。<br>
 +
我们提供的例程中使用了Floyd-Steinberg 抖动算法-基于错误扩散 (由Robert Floy 和Louis Steinberg在1976年发表)。公式是根据下面的图像的方式进行错误扩散<br>
 +
[[File:epd_esp32_dithering_1.png|400px]]<br>
 +
X 就是错误 (原始颜色和灰度值(颜色值)之间的一个标量(矢量)差值),这个错误会向右边,右下, 下边,和左下四个方向扩散, 分别以7/16, 1/16, 5/16和3/16的权重添加到这四个像素点的值中去。感兴趣的用户可以去了解该算法,网络上有很多资源。<br>
 +
===两种算法的处理效果比较===
 +
原图<br>
 +
[[File:epd_esp32_compare_1.png|400px]]<br>
 +
“黑白色阶处理”和“多色色阶处理”<br>
 +
[[File:epd_esp32_compare_2.png|400px]] [[File:epd_esp32_compare_2-2.png|400px]]<br>
 +
“黑白抖动处理”和“多色抖动处理”<br>
 +
[[File:epd_esp32_compare_3.png|400px]] [[File:epd_esp32_compare_3-2.png|400px]]<br>
 +
</div>
 +
 
 +
 
 +
<div class="tabbertab" title="WiFi例程使用" id="wifi" >
 +
='''WiFi例程'''=
 +
提供带HTML上位机的WiFi例程<br><font color="#FF0000">注意:该模块只支持2.4G的网络频段</font>
 +
==程序使用==
 +
*进入Loader文件夹,双击Loader.ino文件打开工程
 +
*选择Tools->Boards->ESP8266 Boards->NodeMCU 1.0,并且选择好对应的串口:Tools->Port
 +
[[File:epd_esp8266_wifi_1.png|600px]]
 +
*将Loader.ino中的 ssid和password改成实际使用的WiFi用户名和密码
 +
[[File:epd_esp8266_wifi_2.png|600px]]
 +
*按下win + R 键,输入CMD,打开命令行,获取电脑IP
 +
[[File:epd_esp32_wifi_10.jpg|400px]][[File:epd_esp32_wifi_11.jpg|600px]]
 +
*打开srvr.h文件,将图片所示位置的网段修改成对应的网段
 +
[[File:Epd_esp8266_wifi_12.jpg|600px]]
 +
*然后点击上传,把程序编译并下载到ESP8266驱动板上面
 +
*打开串口监视器,设置波特率为115200,可以看到串口将ESP8266驱动板的IP地址打印出来:
 +
[[File:epd_esp8266_wifi_3.png|600px]]
 +
*电脑或者手机(注意电脑/手机接入的网络需要时跟ESP8266接入的wifi是同一个网段的才可以)打开浏览器,在网址输入栏输入ESP8266的IP地址并打开,可以看到操作界面如下:
 +
[[File:epd_esp32_wifi_4.png|600px]]
 +
*整个操作见面分为五个区域:
 +
**'''图像操作区域''':<br>Select Image file: 点击在电脑或者手机里面选择一张图片<br>Level: mono: 黑白色阶图像处理算法<br>Level: color: 多色色阶图像处理算法(只对多色屏幕生效)<br>Dithering: mono: 黑色抖动图像处理算法<br>Dithering: color: 多色抖动图像处理算法(只对多色屏幕生效)<br>Update image: 上传图像
 +
**'''IP信息显示区域''':这里显示的是你当前连接的模块的IP地址信息
 +
**'''图像大小设置区域''':这里x和y可以设置你要显示的起始位置,这个设置是相对于你选择的图片文件的,比如选择一张800x480的图片,但是连接的墨水屏是2.9寸的,这时候墨水屏并无法显示整张图片的信息,所以在选择图像处理算法的时候,算法会自动从左上角开始截取一部分图片传到墨水屏显示,这里设置x和y可以自定义截取的起始位置。w和h是当前墨水屏的分辨率大小。<br>注意:如果修改了x和y的指的话,需要重新点击一下处理算法生成新的图像
 +
**'''型号选择区域''':这里可以选择你接入的墨水屏型号
 +
**'''图像显示区域''':这里会显示你选择的图片以及处理之后的图像
 +
**PS:在上传图像的时候,底部会显示上传的数据进度
 +
*区域①点击Select image file 选择一张图片,或者直接将图片拖拽至Original image的区域内
 +
*区域④选择对应的墨水屏型号,例如:1.54b
 +
*区域①点击一种图像处理算法, 例如:Dithering: color
 +
*区域①点击Upload image将图片上传到墨水屏显示。
 +
[[File:epd_esp32_wifi_5.png|600px]]
 +
</div>
 +
 
 +
 
 +
<div class="tabbertab" title="本地例程使用"id="local" >
 +
='''本地例程'''=
 +
提供基于ESP8266的本地例程,无需WiFi和其他设备
 +
==例程使用==
 +
*打开 Arduino IDE 查看项目文件夹位置(不要随意修改)</br>
 +
[[File:ESP8266-epapr-6.jpg|300px]]</br>
 +
[[File:ESP8266-epapr-7.jpg|600px]]</br>
 +
*进入 E-Paper_ESP8266_Driver_Board_Code\examples 目录,把整个 esp8266-waveshare-epd 文件夹复制到项目文件夹目录下的 libraries 目录下</br>
 +
[[File:ESP8266-epapr-5.jpg|600px]]</br>
 +
[[File:ESP8266-epapr-8.jpg|600px]]</br>
 +
*关闭所有的 Arduino IDE 窗口,再重新打开 Arduino IDE ,按图选择对应的示例程序</br>
 +
[[File:ESP8266-epapr-9.jpg|600px]]</br>
 +
*选择对应的开发板和串口</br>
 +
[[File:ESP8266-epapr-10.jpg|600px]]</br>
 +
[[File:ESP8266-epapr-11.jpg|600px]]</br>
 +
</div>
 +
 
 +
 
 +
<div class="tabbertab" title="资料" id="myresources">
 +
='''资料'''=
 +
==文档==
 +
*[https://{{SERVERNAME}}/w/upload/e/e7/E-Paper_Image_Loader_User_Manual_CN.pdf  用户手册]<br>
 +
*[https://{{SERVERNAME}}/w/upload/7/7e/ESP8266_e-paper.pdf 原理图]<br>
 +
 
 +
==视频==
 
*[[E-Paper-ESP8266-Driver-Board-Video|演示视频]][[File:video-logo.png|23px|link=E-Paper-ESP8266-Driver-Board-Video]]
 
*[[E-Paper-ESP8266-Driver-Board-Video|演示视频]][[File:video-logo.png|23px|link=E-Paper-ESP8266-Driver-Board-Video]]
 +
*[https://cloud.video.taobao.com//play/u/2206714651938/p/1/e/6/t/1/389743507508.mp4 操作视频]
  
===程序===
+
==程序==
*[http://www.waveshare.net/w/upload/d/d5/E-Paper_ESP8266_Driver_Board_Code.7z  示例程序]<br>
+
*[https://{{SERVERNAME}}/w/upload/d/d5/E-Paper_ESP8266_Driver_Board_Code.7z  示例程序]<br>
  
===ESP8266资料===
+
==驱动==
*[http://wiki.ai-thinker.com/esp8266 ESP8266相关资料下载链接]
+
*[https://{{SERVERNAME}}/w/upload/6/62/CP210x_USB_TO_UART.zip Window_CP2102驱动]<br/>
===相关墨水屏===
+
*[https://{{SERVERNAME}}/w/upload/8/8f/Mac_OSX_VCP_Driver.zip  Mac_OSX_VCP驱动]<br/>
*[[7.5inch e-Paper HAT]]
 
*[[7.5inch e-Paper HAT (B)]]
 
*[[7.5inch e-Paper HAT (C)]]
 
*[[5.83inch e-Paper HAT]]
 
*[[5.83inch e-Paper HAT (B)]]
 
*[[5.83inch e-Paper HAT (C)]]
 
*[[4.2inch e-Paper Module]]
 
*[[4.2inch e-Paper Module (B)]]
 
*[[4.2inch e-Paper Module (C)]]
 
*[[2.9inch e-Paper Module]]
 
*[[2.9inch e-Paper Module (B)]]
 
*[[2.9inch e-Paper Module (C)]]
 
*[[2.7inch e-Paper HAT]]
 
*[[2.7inch e-Paper HAT (B)]]
 
*[[2.13inch e-Paper HAT]]
 
*[[2.13inch e-Paper HAT (B)]]
 
*[[2.13inch e-Paper HAT (C)]]
 
*[[1.54inch e-Paper Module]]
 
*[[1.54inch e-Paper Module (B)]]
 
*[[1.54inch e-Paper Module (C)]]
 
<br /><big>批量下载教程——请戳<big><big><big>☛</big></big></big></big>[[File:download-icon.png|link=批量下载教程]]
 
  
<!--{{Join_us}}-->
+
== 相关资料 ==
 +
*[https://docs.ai-thinker.com/en/esp8266 ESP8266相关资料]<br />
 +
*[[E-Paper-Floyd-Steinberg|使用Photoshop制作散点图]]
 +
*[https://{{SERVERNAME}}/w/upload/c/c6/Zimo221.7z 字摸提取软件]
 +
*[https://{{SERVERNAME}}/w/upload/3/36/Image2Lcd.7z Image2Lcd图片取模软件]
 +
*[https://www.waveshare.net/wiki/Image2Lcd%E5%9B%BE%E7%89%87%E5%8F%96%E6%A8%A1%E6%AD%A5%E9%AA%A4#Image2Lcd Image2Lcd图片取模步骤]
 
</div>
 
</div>
<div class="tabbertab" title="FAQ">
+
 
 +
<div class="tabbertab" title="FAQ" id="myfaq">
 +
 
 +
='''FAQ'''=
 
{{FAQ|一直提示ERROR刷新不出图片?|
 
{{FAQ|一直提示ERROR刷新不出图片?|
 
*用谷歌浏览器试下,如果还不行换一个网络再试下。|||}}
 
*用谷歌浏览器试下,如果还不行换一个网络再试下。|||}}
第59行: 第217行:
 
打开工程中的epd1in54.h,把如下值改成1<br />
 
打开工程中的epd1in54.h,把如下值改成1<br />
 
[[File:epd1in54_esp_chose.png|400px]]
 
[[File:epd1in54_esp_chose.png|400px]]
|||}}
+
|||}}<br />
<br /></div>
+
 
<div class="tabbertab" title="售后"><br />{{Service18}}</div>
+
{{FAQ|wifi例程上传正常,串口输出了ip地址,但是电脑输入IP地址无法访问,需要检查ip的网段与wifi的网段值一致,且IP不冲突|
 +
修改IP网段,如下图所示<br />
 +
[[File:ESP8266_wifi_ip.png.png|400px]]
 +
|||}}<br />
 +
</div>
 +
 
 +
<div class="tabbertab" title="售后" id="mysupport">
 +
='''技术支持'''=
 +
{{Service26}}</div>
 +
</div>

2023年7月26日 (三) 14:46的最新版本

E-Paper ESP8266 Driver Board
{{{name2}}}
{{{name3}}}
功能简介
特性 电子墨水屏网络驱动板
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
' 无特性,不解释
接口

支持型号

本Wiki主要介绍该产品的具体操作,如需获取该产品支持的墨水屏型号请前往官网产品详情最底部获取
官网链接:https://www.waveshare.net/shop/e-Paper-ESP8266-Driver-Board.htm

E-Paper 程序对应参考表
屏幕型号 程序
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
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

  • 注:对应程序仅以屏幕最新版本为例,如果您使用的是旧版本,请以屏幕背面的版本标签为准。

说明

自我介绍

我是电子墨水屏网络驱动板,我可以通过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两种例程,本页面的“资料”标签内可以找到示例程序,或者点击 示例程序 下载
将下载下来的压缩包解压出来,可以得到以下文件:
Epd esp8266 download 1.png
examples:本地例程
Loader:WiFi例程

环境配置

在线安装需要使用翻墙软件,离线安装则无需使用

  • 在线安装
  • 离线安装
  • 设置型号开关,根据使用的墨水屏型号设置型号开关(如果显示效果差或者无法驱动,请尝试切换开关)

Epd esp8266 hardware 1.png

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的话,我们把这个像素点视为黑色像素,否则,就是白色
Epd esp32 lever 1.png
对于彩色图来说,我们都知道RGB有三色通道,相对于红色通道来说,我们可以把蓝色和绿色统称为蓝-绿通道,或者是非红通道。根据下面的图,彩色图像上的某个像素点,如果它红色通道的值很高,但是蓝-绿通道的值很低的话,我们将它归为红色像素;如果说它红色通道和蓝-绿通道的值都很低的话,我们将它归为黑色像素;红色和蓝-绿通道值都很高的话我们把它归为白色。
Epd esp32 lever 2.png
算法中,对于颜色定义是根据RGB值以及预期颜色值的平方和的差值计算的。其中预期颜色值是指的像素点最趋近的那个颜色值,这些值被保存在 curPal 数组中。
Epd esp32 lever 3.png

抖动法

对于那些颜色比较多,或者渐变区域比较多的图像,上面的色阶法并不太合适,很多时候图像里面的渐变区域的像素可能跟所有颜色域都很接近,如果用色阶法的画就会让图像丢失很多图像细节。很多摄像头拍摄的图片,通过混合颜色的方法来绘画阴影和过度区域,这些图像中,渐变区域占了大部分
对于人眼来说,很容易把特别小的颜色混淆了,比如两种颜色红和蓝并列,如果把它缩小到足够小的手,在人眼看来会变成一种由红和蓝混合而成的颜色。人眼的缺陷意味着我们可以通过欺骗人眼,利用“混合”的方法来获取更多可以表现的颜色,抖动算法就是采用了这一种现象。
我们提供的例程中使用了Floyd-Steinberg 抖动算法-基于错误扩散 (由Robert Floy 和Louis Steinberg在1976年发表)。公式是根据下面的图像的方式进行错误扩散
Epd esp32 dithering 1.png
X 就是错误 (原始颜色和灰度值(颜色值)之间的一个标量(矢量)差值),这个错误会向右边,右下, 下边,和左下四个方向扩散, 分别以7/16, 1/16, 5/16和3/16的权重添加到这四个像素点的值中去。感兴趣的用户可以去了解该算法,网络上有很多资源。

两种算法的处理效果比较

原图
Epd esp32 compare 1.png
“黑白色阶处理”和“多色色阶处理”
Epd esp32 compare 2.png Epd esp32 compare 2-2.png
“黑白抖动处理”和“多色抖动处理”
Epd esp32 compare 3.png Epd esp32 compare 3-2.png


WiFi例程

提供带HTML上位机的WiFi例程
注意:该模块只支持2.4G的网络频段

程序使用

  • 进入Loader文件夹,双击Loader.ino文件打开工程
  • 选择Tools->Boards->ESP8266 Boards->NodeMCU 1.0,并且选择好对应的串口:Tools->Port

Epd esp8266 wifi 1.png

  • 将Loader.ino中的 ssid和password改成实际使用的WiFi用户名和密码

Epd esp8266 wifi 2.png

  • 按下win + R 键,输入CMD,打开命令行,获取电脑IP

Epd esp32 wifi 10.jpgEpd esp32 wifi 11.jpg

  • 打开srvr.h文件,将图片所示位置的网段修改成对应的网段

Epd esp8266 wifi 12.jpg

  • 然后点击上传,把程序编译并下载到ESP8266驱动板上面
  • 打开串口监视器,设置波特率为115200,可以看到串口将ESP8266驱动板的IP地址打印出来:

Epd esp8266 wifi 3.png

  • 电脑或者手机(注意电脑/手机接入的网络需要时跟ESP8266接入的wifi是同一个网段的才可以)打开浏览器,在网址输入栏输入ESP8266的IP地址并打开,可以看到操作界面如下:

Epd esp32 wifi 4.png

  • 整个操作见面分为五个区域:
    • 图像操作区域
      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将图片上传到墨水屏显示。

Epd esp32 wifi 5.png


本地例程

提供基于ESP8266的本地例程,无需WiFi和其他设备

例程使用

  • 打开 Arduino IDE 查看项目文件夹位置(不要随意修改)

ESP8266-epapr-6.jpg
ESP8266-epapr-7.jpg

  • 进入 E-Paper_ESP8266_Driver_Board_Code\examples 目录,把整个 esp8266-waveshare-epd 文件夹复制到项目文件夹目录下的 libraries 目录下

ESP8266-epapr-5.jpg
ESP8266-epapr-8.jpg

  • 关闭所有的 Arduino IDE 窗口,再重新打开 Arduino IDE ,按图选择对应的示例程序

ESP8266-epapr-9.jpg

  • 选择对应的开发板和串口

ESP8266-epapr-10.jpg
ESP8266-epapr-11.jpg


技术支持

联系人:张工
邮箱:3004637648@qq.com
QQ:3004637648
微信:扫下方二维码添加
QRCode SiminZhang.png

说明:进行售后服务前,请准备好客户信息(定货单位、定货人等),以供验证