自己做墨水屏阅读器

2023-08-21 11:56:12 227点赞 683收藏 210评论

看到大尺寸的墨水屏阅读器实在是太贵了。正好有时间就想,能不能用开源的硬件自己做一个。这两年玩开源硬件开发,发现价格便宜,耗时长,还非常有成就感(家里的珊瑚缸的LED灯光控制、造流泵、滴定泵控制,还有一些关键指标的测量都是自己动手做的)。

马上动手,先搞个简单的使用串口墨水屏。先寻找硬件,很快就在小黄鱼全部选定。

1、10.2寸,黑白双色局刷,分辨率960*640,SPI总线 24PIN排线, 160元

自己做墨水屏阅读器

2、ESP32墨水屏开发板支持tf卡,锂电池充放电 60元

自己做墨水屏阅读器

3、1000毫安锂电池15.1元

10.2墨水屏阅读器,整体硬件成本一共160+60+15.1=235.1元,感觉有点贵,心疼。

计划实现的功能:

1、 电子说阅读(这个开发板上的ESP32有16MB存储,所以这个阅读器支持本机存储和TF卡存储);

2、 图片显示(完成功能验证,直接读取显示jpg文件,速度太慢。暂停);

现在跟大家聊一下计划做的这个电子阅读器,开发班使用的.ESP32-WROVER-E模块 8MB内存,16MB 存储,USB-C充电。

自己做墨水屏阅读器

我使用Arduino开发,因为简单。我就是一个业余爱好者,怎么简单怎么来(项目开源地址https://gitee.com/vonteng/epdlangke开源地址)。下面介绍一个简单开发过程:

1、 搭建开发环境,此处省略一千字;

2、 WiFi上传书籍到本机或TF卡存储

3、 连接驱动墨水屏;

4、 读取书籍TXT文件,创建书籍目录索引文件;

5、 分页读取书籍TXT文件,并显示;

6、 使用EEPROM记录设备配置及阅读记录(书签);

2、WiFi上传书籍到本机或TF卡存储

简单修改使用Arduino安装配置后代的例程就可以运行了。使用的是例程(WebServer>>>SDWebServer)

因为要同时使用开发板自带的16MB存储和SD(TF)所以修改如下:

(参考例程FFat>>>FFat_Test);项目添加一个全局变量bool BooKFat,值为true使用FFat操作开发板自带的16MB存储使CURD。可以在初始化时,直接调用writeFile方法写一个index.htm文件,用于书籍文件上传页面。如果上传的文件名相同,会进行覆盖操作。

3、连接驱动墨水屏

使用的是开源的GxEPD2库,在Arduino下载安装完成GxEPD2库后,使用的是例程(GxEPD2>>> GxEPD2_SD_Example)因为使用SD和墨水屏都需要SPI。所以重要参加了例程的以下代码:

#if defined(ESP32) && defined(USE_HSPI_FOR_EPD)

hspi.begin(13, 12, 14, 15); // remap hspi for EPD (swap pins)

display.epd2.selectSPI(hspi, SPISettings(4000000, MSBFIRST, SPI_MODE0));

#elif defined(ESP32) && defined(USE_HSPI_FOR_SD)

SPI.begin(13, 12, 14, 15); // remap SPI for EPD

hspi.begin(SCK, MISO, MOSI, SS); // remap hspi for SD

#endif

墨水屏定义使用GxEPD2_BW< GxEPD2_1160_T91, GxEPD2_1160_T91::HEIGHT / 2>

4、读取书籍TXT文件,创建书籍目录索引文件,分页读取书籍TXT文件,并显示

仍然可以(参考例程FFat>>>FFat_Test),此处需要补充说明的是因为开发板自带的8MB的外部RAM,所以在读取操作文件时,尽量使用了外部RAM。

heap_caps_malloc(size,MALLOC_CAP_SPIRAM) ,还有使用file.seek(p)读取指定页码的文字内容。中文汉字的显示使用u8g2_wqy的字库

打开书籍文件后,逐页读取文字内容,使用Regexp库实现正则表达式,来查找章节文字,并记录章节所在的页码。

String sfindChapter(String str) {

MatchState ms((char *)str.c_str());

char result = ms.Match("(%第+[一二三四五六七八九十百千零]+%章)", 0);

if (result == REGEXP_NOMATCH) {

result = ms.Match("(%第%d+%章)", 0);

}

char cap[50];

return String(ms.GetMatch(cap));

}

给大家看看现在的进度

自己做墨水屏阅读器

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

iReader 掌阅 Color7 彩色墨水屏 7英寸电纸书阅读器

iReader 掌阅 Color7 彩色墨水屏 7英寸电纸书阅读器

1689元起

Hanvon 汉王 Clear 7 墨水屏电子书阅读器 4GB+64GB 灰色

Hanvon 汉王 Clear 7 墨水屏电子书阅读器 4GB+64GB 灰色

1389元起

Hanvon 汉王 N10touch智能办公本10.3英寸电纸书电子书阅览器

Hanvon 汉王 N10touch智能办公本10.3英寸电纸书电子书阅览器

2530元起

Xiaomi 小米电纸书 7英寸 64GB

Xiaomi 小米电纸书 7英寸 64GB

1309元起

BOOX 文石 Leaf3C 7英寸 墨水屏电子书阅读器 4GB+64GB 黑色

BOOX 文石 Leaf3C 7英寸 墨水屏电子书阅读器 4GB+64GB 黑色

1789元起

BOOX 文石 Leaf3 7英寸 墨水屏电子书阅读器 WiFi 3GB+32GB 黑色

BOOX 文石 Leaf3 7英寸 墨水屏电子书阅读器 WiFi 3GB+32GB 黑色

1529元起

Hanvon 汉王 Clear 7英寸 墨水屏电子书阅读器 32GB 灰色

Hanvon 汉王 Clear 7英寸 墨水屏电子书阅读器 32GB 灰色

1259元起

BOOX 文石 Tab10C 10.3英寸 墨水屏电子书阅读器 Wi-Fi 4GB+128GB 蓝色

BOOX 文石 Tab10C 10.3英寸 墨水屏电子书阅读器 Wi-Fi 4GB+128GB 蓝色

3284.05元起

iReader 掌阅 Ocean3 Turbo 7英寸 墨水屏电子书阅读器 Wi-Fi 4+64GB 黑色

iReader 掌阅 Ocean3 Turbo 7英寸 墨水屏电子书阅读器 Wi-Fi 4+64GB 黑色

1569元起

Xiaomi 小米多看电纸书Pro II 7.8英寸纯平电子书阅读器 Wi-Fi 32GB 黑色

Xiaomi 小米多看电纸书Pro II 7.8英寸纯平电子书阅读器 Wi-Fi 32GB 黑色

975元起

掌阅iReader Neo2 高清智能阅读本 电纸书阅读器 高刷智能电子书平板 轻量便携

掌阅iReader Neo2 高清智能阅读本 电纸书阅读器 高刷智能电子书平板 轻量便携

969元起

Hanvon 汉王 N10 10.3英寸墨水屏电子书阅读器 32GB WiFi

Hanvon 汉王 N10 10.3英寸墨水屏电子书阅读器 32GB WiFi

1849元起

BOOX 文石 Tab10C Pro 10.3英寸 墨水屏电子书阅读器 Wi-Fi 6GB+128GB 蓝色

BOOX 文石 Tab10C Pro 10.3英寸 墨水屏电子书阅读器 Wi-Fi 6GB+128GB 蓝色

4179.05元起

BOOX 文石 Poke5 6英寸 墨水屏电子书阅读器 2GB+32GB 黑色

BOOX 文石 Poke5 6英寸 墨水屏电子书阅读器 2GB+32GB 黑色

777.99元起

Hanvon 汉王 N10 10.3英寸 墨水屏 电子书阅读器 64GB 冰山灰

Hanvon 汉王 N10 10.3英寸 墨水屏 电子书阅读器 64GB 冰山灰

1989元起

iReader 掌阅 Ocean3 Plus 8英寸 墨水屏电子书阅读器 WiFi 32GB 石墨灰

iReader 掌阅 Ocean3 Plus 8英寸 墨水屏电子书阅读器 WiFi 32GB 石墨灰

1619元起
210评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
683
扫一下,分享更方便,购买更轻松