跳到主要内容

搭配 树莓派 使用

硬件连接​

连接树莓派的时候,可以直接插到树莓派的40PIN排针上去,注意对好引脚。如果是选择用12PIN排线连接的话,请参考下方的引脚对应表格

树莓派连接引脚对应关系

Touch e-PaperRaspberry PiRaspberry Pi
BCM2835编码Board物理引脚序号
VCC3.3V3.3V
GNDGNDGND
DINMOSI19
CLKSCLK23
CSCE024
DC2522
ERST1711
BUSY2418
INT2713
SCLSCL15
SDASDA13
TRST2215

以2.13inch Touch e-Paper HAT为例,直接插在树莓派上即可:

Touch ePaper HAT con

开启SPI接口​

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

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

RPI open spi

  • 重启树莓派:

    sudo reboot
  • 检查 /boot/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

开启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
  • 安装 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 版本,如果没有出现,说明安装出错。

安装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 python3-pip
    sudo apt-get install python3-pil
    sudo apt-get install python3-numpy
    sudo pip3 install spidev
  • 安装gpiozero库(系统默认已安装,如果没有安装请按照以下命令进行安装)

    sudo apt-get update
    # python3
    sudo apt install python3-gpiozero
    # python2
    sudo apt install python-gpiozero

下载测试程序​

打开树莓派终端,执行:
方法一:从我们官网下载,推荐使用。

cd ~
wget https://www.waveshare.net/w/upload/3/3e/Touch_e-Paper_Code.zip
unzip Touch_e-Paper_Code.zip -d Touch_e-Paper_Code

如果unzip解压遇到问题可使用7z解压:
sudo apt-get install p7zip-full
7z x Touch_e-Paper_Code.zip -o./Touch_e-Paper_Code

方法二:使用github仓库,github可能更新会有延迟,推荐使用方法一。

cd ~
git clone https://github.com/waveshare/Touch_e-Paper_HAT

运行测试程序​

C语言​

  • 进入C语言例程目录

    cd ~/Touch_e-Paper_Code/c
  • (可选)修改Makefile的14-17行切换依赖库,程序默认使用LGPIO库,兼容性最好。

如下图,切换注释即可:

Touch ePaper HAT makefile

  • 修改 main.c 文件选择相应的测试程序:将对应的函数取消注释即可

  • 重新编译,然后运行程序,编译过程可能需要几秒

    在c目录下,运行以下指令
    sudo make clean
    sudo make -j4
    sudo ./main

python​

  • 进入python程序目录

    cd ~/Touch_e-Paper_Code/python/examples
  • 运行对应屏幕的例程,程序支持python2/3

以2.13inch Touch e-Paper HAT为例 ,输入

# python2
sudo python2 TP2in13_V4_test.py
# python3
sudo python3 TP2in13_V4_test.py