示例程序使用
墨水屏驱动
硬件连接
请注意,该电路的 PWR 脚与我们通用例程中使用 PWR 脚不一样,如果使用通用例程中的程序注意修改
树莓派连接引脚对应关系
| e-Paper | Raspberry Pi | Raspberry Pi |
|---|---|---|
| BCM2835编码 | Board物理引脚序号 | |
| VCC | 3.3V | 3.3V |
| GND | GND | GND |
| DIN | MOSI | 19 |
| CLK | SCLK | 23 |
| CS | CE0 | 24 |
| DC | 25 | 22 |
| RST | 17 | 11 |
| BUSY | 24 | 18 |
| PWR | 27 | 13 |
开启SPI接口
-
打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config选择Interfacing Options -> SPI -> Yes 开启SPI接口

-
重启树莓派:
sudo reboot -
检查 /boot/firmware/config.txt,可以看到 'dtparam=spi=on' 已被写入
- 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
运行C语言例程
-
安装 lg 库
#打开树莓派终端,并运行以下指令:wget https://github.com/joan2937/lg/archive/master.zipunzip master.zipcd lg-mastermakesudo make install# 更多的可以参考源码:https://github.com/gpiozero/lg -
安装 gpiod 库(可选)
#打开树莓派终端,并运行以下指令:sudo apt-get updatesudo apt install gpiod libgpiod-dev -
安装 BCM2835(可选)
#打开树莓派终端,并运行以下指令:wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gztar zxvf bcm2835-1.71.tar.gzcd bcm2835-1.71/sudo ./configure && sudo make && sudo make check && sudo make install# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/ -
安装 wiringPi(可选)
#打开树莓派终端,并运行以下指令:sudo apt-get install wiringpi#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:wget https://project-downloads.drogon.net/wiringpi-latest.debsudo dpkg -i wiringpi-latest.debgpio -v# 运行 gpio -v 会出现 2.52 版本,如果没有出现,说明安装出错。#Bullseye 分支系统使用如下命令:git clone https://github.com/WiringPi/WiringPicd WiringPi./buildgpio -v# 运行 gpio -v 会出现 2.60 版本,如果没有出现,说明安装出错。 -
下载程序(已下载可跳过)
wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zipunzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPaintercd RPi_Zero_PhotoPainter/7in3_e-Paper_E -
编译程序(说明:-j4 为使用4线程编译,数字可自行修改)
# 此时在 RPi_Zero_PhotoPainter/7in3_e-Paper_E 位置cd csudo make cleansudo make -j4 -
运行程序
sudo ./epd
运行python例程
-
安装函数库
sudo apt-get updatesudo apt-get install python3-pipsudo apt-get install python3-pilsudo apt-get install python3-numpysudo pip3 install spidev -
安装函数库(python2)
sudo apt-get updatesudo apt-get install python-pipsudo apt-get install python-pilsudo apt-get install python-numpysudo pip install spidev -
安装gpiozero库(系统默认已安装,如果没有安装请按照以下命令进行安装)
sudo apt-get update# python3sudo apt install python3-gpiozero# python2sudo apt install python-gpiozero -
下载程序(已下载可跳过)
wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zipunzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPaintercd RPi_Zero_PhotoPainter/7in3_e-Paper_E -
运行程序
# 确保在 RPi_Zero_PhotoPainter/7in3_e-Paper_E 位置cd python/examples/python3 epd_7in3e_test.py
UPS监控
- UPS的启停为硬件自动控制,该程序主要是监控电池电量,以及输入输出
开启I2C接口
-
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

然后重启树莓派:
sudo reboot
运行示例程序
-
下载程序(已下载可跳过)
wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zipunzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPaintercd RPi_Zero_PhotoPainter/UPSpython3 INA219.py
程序运行后会输出电池电压,电流,功率以及电池剩余电量百分比等数值。
注意:如果电流为负数则表示电池输出电流(可认为树莓派负载电流),电流为正数则表示电池充电电流。
RTC时钟使用
开启I2C接口
-
打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

然后重启树莓派:
sudo reboot
C
-
安装 lg 库
#打开树莓派终端,并运行以下指令:wget https://github.com/joan2937/lg/archive/master.zipunzip master.zipcd lg-mastermakesudo make install# 更多的可以参考源码:https://github.com/gpiozero/lg -
安装 BCM2835(可选)
#打开树莓派终端,并运行以下指令:wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gztar zxvf bcm2835-1.71.tar.gzcd bcm2835-1.71/sudo ./configure && sudo make && sudo make check && sudo make install# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/ -
安装 wiringPi(可选)
#打开树莓派终端,并运行以下指令:sudo apt-get install wiringpi#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:wget https://project-downloads.drogon.net/wiringpi-latest.debsudo dpkg -i wiringpi-latest.debgpio -v# 运行 gpio -v 会出现 2.52 版本,如果没有出现,说明安装出错。#Bullseye 分支系统使用如下命令:git clone https://github.com/WiringPi/WiringPicd WiringPi./buildgpio -v# 运行 gpio -v 会出现 2.60 版本,如果没有出现,说明安装出错。 -
下载程序(已下载可跳过)
wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zipunzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPaintercd RPi_Zero_PhotoPainter/RTC -
运行程序
cd cmake cleanmake -j8sudo ./main
Python
-
安装函数库
sudo apt-get updatesudo apt-get install ttf-wqy-zenheisudo apt-get install python3-pipsudo pip3 install spidev -
下载程序(已下载可跳过)
wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zipunzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPaintercd RPi_Zero_PhotoPainter/RTC -
运行程序
cd python#设置RTC时间,并循环显示时间、日期、温度sudo python3 main.py#将RTC时间同步至系统中,仅限于没有联网的系统使用sudo python3 Set_system_time.py -
树莓派启动时同步RTC时间:
注意:该过程不能联网。
添加内核方式驱动
注意使用这种方法,就不可以使用上面的示例程序
修改 /boot/config.txt 末尾添加
dtoverlay=i2c-rtc,ds3231
# 重启树莓派
sudo reboot
同步系统时钟 -> 硬件时钟
sudo hwclock -w
同步硬件时钟 -> 系统时钟
sudo hwclock -s
#需要关闭网络,或者关闭网络对时,否则会被改回去
设置硬件时钟时间:
sudo hwclock --set --date="9/8/2021 16:45:05"
查看硬件时钟
sudo hwclock -r
显示版本信息
sudo hwclock --verbose