墨水屏阅读器
thumbnail

墨水屏阅读器

本项目是一款基于Quectel Pi H1智能主控板的智能电子墨水屏阅读器。系统结合电子墨水屏低功耗显示特性与基于摄像头的眼动追踪技术,实现了无需手动操作的自然翻页阅读方式。通过检测用户眼球视线变化完成翻页控制,并配合物理按键作为辅助输入,提升系统可靠性。

  • 案例描述
  • 资源准备
  • 快速上手
  • 应用演示

本项目是一款基于Quectel Pi H1智能主控板的智能电子墨水屏阅读器。系统结合电子墨水屏低功耗显示特性与基于摄像头的眼动追踪技术,实现了无需手动操作的自然翻页阅读方式。通过检测用户眼球视线变化完成翻页控制,并配合物理按键作为辅助输入,提升系统可靠性。

在显示方面,系统采用局部刷新与分区渲染策略,支持中英文本的自动排版与连续阅读,同时具备页面记忆与快速唤醒功能,适用于长时间阅读及嵌入式智能终端应用场景。

开发配件清单

配件名称 数量 规格参数
Quectel Pi H1智能主控板 1 块 Quectel Pi H1智能主控板
电源适配器 1 个 27 W USB Type-C接口充电器 1.2 米线长中规电源PD电源 适用于树莓派 5 代
HDMI线 1 根 规格:HDMI 2.0;线长:1 m;接口:HDMI-A(公头)-HDMI-D(公头)
网线 1 根 线长:1 m;传输速率:千兆
CPU散热风扇 1 个 树莓派 5 代官方原装散热器带导热贴
7.5 英寸墨水屏 1 个 7.5 英寸墨水屏e-Paper 800×480 分辨率 黑白带板
扩展坞 1 个 绿联 USB 3.0 扩展器扩展坞
USB摄像头模块 1 个 OV5693 USB摄像头模块
显示屏 1 个 24 英寸HDMI显示器

配件实物参考

开发准备

Quectel Pi H1智能主控板出厂默认搭载Debian 13系统镜像,因此无需再次烧录镜像,仅需按照如下步骤操作即可。

硬件连接

散热风扇安装

先将散热风扇的排线插入智能主控板的FAN插槽中,然后将散热器上的两端固定在智能主控板预留的插孔中,如下:

显示连接

将HDMI线一端接入智能主控板的HDMI接口,另一端接入显示器的HDMI接口。

image-20251017144027933

输入设备连接

将USB键盘、鼠标接入扩展坞的USB接口,再将扩展坞接入智能主控板的USB接口,若用无线输入设备,将接收器插入扩展坞的USB口即可。

image-20251017144124363

网络连接

将网线一端接入智能主控板的千兆网口,另一端接入路由器的网口(确保路由器已联网)。

跳线帽连接

智能主控板左上角标有AUTO_POWER_ON丝印的排针,确保已经用跳线帽短接。

image-20251017144330473

供电连接

将USB-A电源线的USB-A端接入电源适配器,USB-C端接入智能主控板的电源口(通常标注POWER IN)。

image-20251017172353513

墨水屏连接

选择用PIN排线连接,参考下方的引脚对应表格:

EPD 引脚 BCM2835编码 Board物理引脚序号
VCC 3.3 V 3.3 V
GND GND GND
DIN MOSI 19
CLK SCLK 23
CS CE0 24
DC 25 22
RST 17 11
BUSY 24 18
PWR 18 12

摄像头连接

将OV5693摄像头模块接入智能主控板或扩展坞的USB接口即可。

连接完成参考

项目实现

获取项目源码

1.在智能主控板的根目录下新建e-ink-reader文件夹存放项目源码。

2.点击下载源码。

3.利用SCP命令上传文件至e-ink-reader目录下,参考远程访问SCP文件拷贝章节。

4.在该文件夹路径下打开终端运行以下命令修改文件权限。

sudo chmod -R 755 folder_path

例:sudo chmod -R 755 /home/pi/e-ink-reader

编译LG库

在e-ink-reader目录下依次执行下面命令。

cd lg-master

sudo apt update && sudo apt install python3-setuptools

make

sudo make install

配置Python环境

目前系统默认的Python版本为3.13,而我们使用的MediaPipe模型需要的开发环境在Python 3.9-3.12,需要重新指定Python路径,系统中已经安装了Python 3.10,修改Python默认路径即可。

# 备份当前Python路径链接

sudo cp /usr/bin/python3 /usr/bin/python3.backup

# 删除当前Python路径链接

sudo rm /usr/bin/python3

# 创建新的路径链接指向

Python 3.10 sudo ln -s /usr/bin/python3.10 /usr/bin/python3

# 验证修改

ls -l /usr/bin/python3 python3 --version

image-20251211175705335

激活Python虚拟环境

执行下面命令创建并激活Python虚拟环境。

python3.10 -m venv 文件夹名称

例: python3.10 -m venv ~/mediapipe_env source ~/mediapipe_env/bin/activate

安装Python依赖项

  • e-ink-reader目录下安装Python依赖项。

pip install --upgrade pip

pip install -r requirements.txt

  • 单独安装evdev库。

sudo ln -s /usr/bin/aarch64-linux-gnu-gcc /usr/bin/aarch64-qcom-linux-gcc

CPPFLAGS="-I/usr/include/python3.13 -I/usr/include/python3.10"

CFLAGS="-I/usr/include/python3.13 -I/usr/include/python3.10" pip3 install --no-binary evdev evdev==1.9.2

编译墨水屏驱动程序

e-ink-reader/src/c目录下编译墨水屏阅读器程序,若该目录出现epd文件则证明编译成功。

make CC=gcc EPD=epd7in5V2

创建udev规则文件

  • 先输入下面命令创建并打开udev规则文件。

sudo nano /etc/udev/rules.d/99-uinput.rules

  • 在文件中添加下面语句,按下"ctrl + o" + Enter保存编辑内容,然后按下"ctrl + x"退出编辑。
KERNEL=="uinput", MODE="0660", GROUP="input"

添加input组

将用户添加至input组。

sudo usermod -aG input pi

开启SPI功能

在终端输入下面命令开启SPI功能。

sudo qpi-config 40pin set

验证配置

  • 重启系统后在终端输入下面命令验证用户是否在input组中以及udev规则配置是否生效。

ls -l /dev/uinput

groups

  • 验证SPI功能是否开启。
ls /dev/spi*

配置免密运行程序

在终端输入下面命令配置免密运行epd程序。

echo "pi ALL=(ALL) NOPASSWD: /home/pi/e-ink-reader/src/c/epd" | sudo tee /etc/sudoers.d/ebook-reader

准备书籍文件

将您的.txt文件放入e-ink-reader/src/tools/books目录下,并确保编码为GB2312

Windows用户操作路径:记事本 → 另存为 → 编码选"ANSI"(即GB2312)。

运行程序

e-ink-reader文件夹下执行startup.sh脚本运行项目。

沟通无界,服务无限

了解更多关于mksports公司、产品和技术支持的信息。