版本1.4.1正式发布!欢迎分享、star和fork~ 上面的图是项目看板娘, 盖. 可爱的盖姐在等你哟~
即将发布7个全新的屏幕驱动: 欢迎支持! (详见后面的驱动表格)
欢迎克隆, 项目交流QQ群: 926824162 (萌新可以进来问问题的哟), 项目的 Bilibili 主页: BV1f94y187wz 记得三连+关注我这个宝藏up主哦~
注意, 有问题一定要先加群问, 先不要提issue, 提了小影 (也就是作者FriendshipEnder) 也不会看的.
依赖的库: LovyanGFX
依赖的环境: Arduino-ESP8266 或者 Arduino-ESP32.
有不少人吐槽我这个库的WiFi功能可不可以关掉 就是把WiFi独立出来 其实是可以的, 教程如下
其中的WiFi功能, 其实是可以禁掉的. 只要你提前配置成功, 那么就可以摆脱WiFi配网配引脚功能.
使用方法: 打开文件guy_driver_config.h, 随后便根据注释来选择性的开启或关闭一些系统功能.
Supported chips: esp8266/esp32/esp32s3/esp32s2/esp32c3
Supported displays: 1.54-inch, 2.13-inch, 2.66-inch, 2.9-inch, 4.2-inch.
# | 屏幕名称 | 驱动 | 分辨率 | 灰度 | 连续灰度刷新 | 慢刷时间 | 快刷时间 |
---|---|---|---|---|---|---|---|
1 | 1.54寸标准 | 原创自研 | 200*200 | 16阶 | 不支持 | 1.3s | 0.35s |
2 | 1.54寸Lilygo | 原创自研 | 200*200 | 16阶 | 支持 | 2.3s | 0.6s |
3 | 2.13寸汉朔价签 | 原创自研 | 122*250 | 16阶 | 不支持 | 1.6s | 0.31s |
4 | 2.13寸低分辨率版 | 原创自研 | 104*212 | 16阶 | 支持 | 1.12s | 0.17s |
5 | 2.66寸Vusion价签 | 和4号相同 | 152*296 | 16阶 | 支持 | 1.12s | 0.17s |
6 | 2.7寸佳显触摸屏 | 和2号相同 | 176*264 | 16阶 | 支持 | 2.3s | 0.6s |
7 | 2.9寸A01 | 和1号相同 | 128*296 | 16阶 | 不支持 | 1.8s | 0.55s |
8 | 2.9寸T94背光 | 和2号相同 | 128*296 | 16阶 | 支持 | 2.3s | 0.6s |
9 | 3.7寸高dpi墨水屏 | 原创自研 | 280*480 | 16阶 | 不支持 | 1.3s | 0.5s |
10 | 4.2寸HINK黑白价签 | 原创自研 | 400*300 | 16阶 | 支持 | 1.72s | 0.38s |
11 | 4.2寸WF丝印 | 原创自研 | 400*300 | 16阶 | 不支持 | 3.6s | 0.8s |
12 | 2.13寸三色 | 和4号相同 | 122*250 | 16阶 | 支持 | 未知 | 未知 |
13 | 2.66寸三色价签 | 和4号相同 | 152*296 | 16阶 | 支持 | 2.48s | 0.65s |
14 | M5 Core.Ink 1.54寸 | 即将支持 | 200*200 | / | / | / | / |
15 | 3.7寸低DPI版墨水屏 | 即将支持 | 416*240 | / | / | / | / |
16 | 4.26寸高分辨率墨水屏 | 即将支持 | 800*480 | / | / | / | / |
17 | 5.83寸墨水屏幕 | 原创自研 | 600*448 | 16阶 | 支持 | 1.7s | 0.8s |
18 | 5.83寸GDEQ0583T31 | 即将支持 | 640*480 | / | / | / | / |
19 | 7.5寸三色墨水屏幕 | 即将支持 | 800*480 | / | / | / | / |
20 | 10.2寸GDEQ102T90 | 即将支持 | 960*640 | / | / | / | / |
可以自己在代码中加入你想要的屏幕型号
You can add the screen model you want in the code.
支持sd卡读取
SD is available
仅需1-3个gpio按键
Only 1 button is needed and can be added to maximum 3 READGUY_buttons.
可选的ds1302,ds1307,ds3231 rtc (现在还不支持)
Using a real-time clock module is optional. (Not supported now)
可选的背光灯调节
Light-brightness-control is optional.
-
WiFi功能完善
-
web配网/文件管理
-
自定义布局的时钟(需要bmp图片和一个布局json文件)
-
心知天气
-
资讯查看+二维码查看
-
相册
-
txt阅读器带进度指示
-
sd卡固件更新/切换
-
首次烧录完成后, 按下板子的复位按键.
-
打开手机或者电脑的WiFi, 然后找到名称为
readguy
的网络, 连接. 密码为12345678. -
连接完成后, 打开该手机的浏览器, 访问192.168.4.1 如果手机提示该网络无法访问因特网, 则选择保持连接.
-
加载完成之后, 根据你的硬件配置引脚. 网页会提供输入各个引脚的输入框, 根据自己的硬件情况输入引脚即可. 如果你正在使用甘草和半糖的开发板, 点击最上方的自定义线序, 可以快捷设置引脚.
-
点击下方的OK!来确定配置, 直到屏幕闪烁并显示〝口口口口〞后, 即可进入下一步
-
根据网页的按键说明提示, 依次按下按键, 直到屏幕刷新出4位数字验证码后, 将验证码填写到网页上, 最后点击确定!即可完成配置.
-
如果刚才的引脚配置有误 (如按下按键无响应, 或者屏幕不显示), 则需要从该步骤的第一步重新开始.
-
烧录成功后,即刻出现一个wifi热点“readguy”,(wifi密码为12345678)
-
连接此wifi之后访问192.168.4.1之后就可以对其中的初始设定项目更改。
-
根据网页内容设置引脚之后就可以尽情使用!
-
单按键操作说明
-
单击:向右移动
-
双击:向左移动
-
长按半秒:选择/确定
-
三连击:界面内返回,键盘输入状态下可以快速切换英文大小写
- 双按键操作说明:
-
按键1单击:向右移动
-
按键1长按:向左移动
-
按键2单击:确定
-
按键2长按半秒:界面内返回,键盘输入状态下可以快速切换英文大小写
- 三按键操作说明:(只不过, GUI功能还在研发编写中...)
-
按键1:向左/向上,
-
按键2单击:确定,
-
按键3:向右/向下。
-
按键2长按半秒:界面内返回,键盘输入状态下可以快速切换英文大小写
- 关于菜单控件: 在菜单模式下若处于最后一个菜单选项,再按 向右/向下 功能键则会进入滑动条(选择菜单选项).
-
启动时, 通过WiFi进行初始化配置
-
配置好之后, 程序会按照配置里面的数据进行对屏幕的初始化等工作
-
如果屏幕初始化成功, 屏幕上将会显示一段文本, 然后在web上输入此文本即可完成显示设备验证
-
按键初始化也需要验证. 只需要按下对应按键就可以了, 可以自由选择是低电平按下or高电平按下
-
sd卡和背光初始化是可选的
-
设备最好都要支持littlefs来存放书籍文件
- 在压缩包内准备好以下三个文件:
如果压缩包内没有, 请浏览群文件内更大的压缩包, 其中应当右这些文件
bootloader.bin
partitions.bin
ota_data_initial.bin
firmware.bin
- 打开烧录软件 flash_download_tool_3.9.2.exe 烧录选项: flash 80MHz, DIO模式
bootloader.bin 0x1000
partitions.bin 0x8000
ota_data_initial.bin 0xe000
firmware.bin 0x10000
- 等待烧录完成
文件结构更改, 现在它更像一个 "库文件夹" 而不是一个 "项目文件夹". 因此使用时请按照以下说明, 自己编写程序
-
新建一个
PlatformIO
项目, 克隆readguy
并放置于lib
文件夹(用户库文件夹), 并在lib文件夹下额外克隆LovyanGFX
库.(LovyanGFX
库也需要放到lib
文件夹内), 详见下图下方红框. -
将库的
platformio.ini
(位于项目的extra/platformio/platformio.ini
)替换掉新建项目内的platformio.ini
. 默认编译的是ESP8266
平台. 其实这一步可有可无, 只是这里提供了一种编译一定能成功的示例 -
如果编译目标是
ESP32
, 则需要更改platformio.ini
内的[default_envs]
(在PlatformIO.ini
文件内有说明), 而且还需要额外增加一个components
文件夹 (文件结构直接看图吧). -
注意编译目标是
ESP32
时, 此文件内的默认的ESP32环境并非纯arduino, 而是ESP-IDF arduino component
. 此处platformio.ini
里的framework是espidf,arduino
, 这说明正在使用ESP-IDF arduino component
. 这样可玩性更高涅!
如果想要使用纯arduino环境, 需要更改platformio.ini, 并将framework更改为arduino
. 此时可以跳过 5~6 步骤.
- 编译目标是
ESP32
且使用ESP-IDF arduino component
时, 需要单独安装LittleFS
库来实现相关功能. 在项目内新建文件夹components
, 在components
文件夹内放入刚刚克隆的LittleFS
库. 详见下图上方红框. (使用纯arduino时跳过此步骤)
-
把
readguy
的extra
文件夹内的platformio
文件夹内所有文件都放在当前目录. 这些文件包含推荐的ESP32 sdkconfig, flash分区表等文件. 使用pio run -t menuconfig
可以更改项目的menuconfig数据. (使用纯arduino时跳过此步骤) -
打开
examples
, 找到示例程序, 然后将源代码文件拷贝到项目的src
文件夹内即可. 可以根据需要自己编写程序.(这不是废话??! <憨色声线>) -
爽快的编译上传吧! 祝你
0 error(s), 0 warning(s)
,加油~
-
克隆项目之后, 首先你刚克隆完可能文件名是readguy-main.zip, 你需要把克隆好的文件重命名为readguy.zip 再通过Arduino IDE添加到库, 或者解压拷贝到arduino IDE的libraries(arduino IDE的默认第三方库位置是C:\Users\$你的用户名$\OneDrive\documents\Arduino\libraries)文件夹内.
-
现在打开arduino IDE, 找到examples, 选择需要的示例进行运行.
-
打开库管理器, 找到
LovyanGFX
库并安装. 安装不了的用上述的1~2步骤克隆LovyanGFX
并安装到arduino IDE
内. -
爽快的编译上传吧! 祝你
0 error(s), 0 warning(s)
,加油~
此库可以选择将一些功能关闭来减少flash的消耗.
其中的WiFi功能, 其实是可以禁掉的. 只要你提前配置成功, 那么就可以摆脱WiFi配网配引脚功能.
使用方法: 打开文件guy_driver_config.h
, 随后便根据注释来选择性的开启或关闭一些系统功能.
不推荐的做法!: 其中有些屏幕用不到, 也可以通过guy_epaper_config
来配置.
使用方法: 打开文件guy_epaper_config.h
, 随后便可以设置不加载哪些屏幕的驱动程序.
此操作可以节约flash和RAM消耗, 但是实际上此操作并不能节省太多的flash. 为确保编译获得的程序兼容性, 应尽量不要更改这个文件.
-
还有一部分功能可以通过更改这两个文件来进行编辑 (如你想自己实现一个SD卡驱动)
-
但是如果自己更改了WiFi配置引脚的功能, 这样编译出的程序就不能实现跨硬件运行了
有一些宏定义的组合是没有检验是否能够通过编译的. 如果有问题请提issue或者群里反馈
menuconfig 内容:
FREERTOS_HZ = 1000
ESP32_DEFAULT_CPU_FREQ_MHZ = 240
ESP32_BROWNOUT_DET_LVL = 0
ESP_PHY_REDUCE_TX_POWER=y
FATFS_API_ENCODING_UTF_8 = true
; SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS = true
; SPI_MASTER_IN_IRAM = true ; 该选项能提高SPI传输速率
; SPI_MASTER_ISR_IN_IRAM = true
Copyright © 2022-2025 FriendshipEnder. All Rights reserved.
版权声明:需要经过作者@friendshipender的许可才能商用。 可以联系邮箱playyinzhe@qq.com询问商用事宜