跳到主要内容

示例程序使用

墨水屏驱动​

硬件连接​

请注意,该电路的 PWR 脚与我们通用例程中使用 PWR 脚不一样,如果使用通用例程中的程序注意修改

树莓派连接引脚对应关系

e-PaperRaspberry PiRaspberry Pi
BCM2835编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DINMOSI19
CLKSCLK23
CSCE024
DC2522
RST1711
BUSY2418
PWR2713

开启SPI接口​

  • 打开树莓派终端,输入以下指令进入配置界面:

    sudo raspi-config
    选择Interfacing Options -> SPI -> Yes 开启SPI接口

RPI open spi

  • 重启树莓派:

    sudo reboot
  • 检查 /boot/firmware/config.txt,可以看到 'dtparam=spi=on' 已被写入

RPI open spi 1

  • 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常

RPI open spi 2

运行C语言例程​

  • 安装 lg 库

    #打开树莓派终端,并运行以下指令:
    wget https://github.com/joan2937/lg/archive/master.zip
    unzip master.zip
    cd lg-master
    make
    sudo make install
    # 更多的可以参考源码:https://github.com/gpiozero/lg
  • 安装 gpiod 库(可选)

    #打开树莓派终端,并运行以下指令:
    sudo apt-get update
    sudo apt install gpiod libgpiod-dev
  • 安装 BCM2835(可选)

    #打开树莓派终端,并运行以下指令:
    wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
    tar zxvf bcm2835-1.71.tar.gz
    cd 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.deb
    sudo dpkg -i wiringpi-latest.deb
    gpio -v
    # 运行 gpio -v 会出现 2.52 版本,如果没有出现,说明安装出错。

    #Bullseye 分支系统使用如下命令:
    git clone https://github.com/WiringPi/WiringPi
    cd WiringPi
    ./build
    gpio -v
    # 运行 gpio -v 会出现 2.60 版本,如果没有出现,说明安装出错。
  • 下载程序(已下载可跳过)

    wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zip
    unzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPainter
    cd RPi_Zero_PhotoPainter/7in3_e-Paper_E
  • 编译程序(说明:-j4 为使用4线程编译,数字可自行修改)

    # 此时在 RPi_Zero_PhotoPainter/7in3_e-Paper_E 位置
    cd c
    sudo make clean
    sudo make -j4
  • 运行程序

    sudo ./epd

运行python例程​

  • 安装函数库

    sudo apt-get update
    sudo apt-get install python3-pip
    sudo apt-get install python3-pil
    sudo apt-get install python3-numpy
    sudo pip3 install spidev
  • 安装函数库(python2)

    sudo apt-get update
    sudo apt-get install python-pip
    sudo apt-get install python-pil
    sudo apt-get install python-numpy
    sudo pip install spidev
  • 安装gpiozero库(系统默认已安装,如果没有安装请按照以下命令进行安装)

    sudo apt-get update
    # python3
    sudo apt install python3-gpiozero
    # python2
    sudo apt install python-gpiozero
  • 下载程序(已下载可跳过)

    wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zip
    unzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPainter
    cd 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 内核驱动

RPI open i2c

然后重启树莓派:

sudo reboot

运行示例程序​

  • 下载程序(已下载可跳过)

    wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zip
    unzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPainter
    cd RPi_Zero_PhotoPainter/UPS
    python3 INA219.py

程序运行后会输出电池电压,电流,功率以及电池剩余电量百分比等数值。

RPi Zero PhotoPainter-1

注意:如果电流为负数则表示电池输出电流(可认为树莓派负载电流),电流为正数则表示电池充电电流。

RTC时钟使用​

开启I2C接口​

  • 打开树莓派终端,输入以下指令进入配置界面

    sudo raspi-config
    选择 Interfacing Options -> I2C ->yes 启动 i2C 内核驱动

RPI open i2c

然后重启树莓派:

sudo reboot

C​

  • 安装 lg 库

    #打开树莓派终端,并运行以下指令:
    wget https://github.com/joan2937/lg/archive/master.zip
    unzip master.zip
    cd lg-master
    make
    sudo make install
    # 更多的可以参考源码:https://github.com/gpiozero/lg
  • 安装 BCM2835(可选)

    #打开树莓派终端,并运行以下指令:
    wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.71.tar.gz
    tar zxvf bcm2835-1.71.tar.gz
    cd 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.deb
    sudo dpkg -i wiringpi-latest.deb
    gpio -v
    # 运行 gpio -v 会出现 2.52 版本,如果没有出现,说明安装出错。

    #Bullseye 分支系统使用如下命令:
    git clone https://github.com/WiringPi/WiringPi
    cd WiringPi
    ./build
    gpio -v
    # 运行 gpio -v 会出现 2.60 版本,如果没有出现,说明安装出错。
  • 下载程序(已下载可跳过)

    wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zip
    unzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPainter
    cd RPi_Zero_PhotoPainter/RTC
  • 运行程序

    cd c
    make clean
    make -j8
    sudo ./main

Python​

  • 安装函数库

    sudo apt-get update
    sudo apt-get install ttf-wqy-zenhei
    sudo apt-get install python3-pip
    sudo pip3 install spidev
  • 下载程序(已下载可跳过)

    wget https://files.waveshare.net/wiki/RPi_Zero_PhotoPainter/RPi_Zero_PhotoPainter.zip
    unzip -o RPi_Zero_PhotoPainter.zip -d RPi_Zero_PhotoPainter
    cd 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