模板: E-paper for rpiuse 2in13 HAT+
来自Waveshare Wiki
Raspberry Pi
硬件连接
连接树莓派的时候,可以直接将板子插到树莓派的 40PIN 排针上去,注意对好引脚。
开启SPI接口
- 打开树莓派终端,输入以下指令进入配置界面:
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
- 重启树莓派:
sudo reboot
- 检查 /boot/config.txt,可以看到 'dtparam=spi=on' 已被写入
- 为了确保 SPI 没有被占用,建议其他的驱动覆盖暂时先关闭。可以使用 ls /dev/spi* 来检查 SPI 占用情况,终端输出 /dev/spidev0.0 和 /dev/spidev0.1 表示 SPI 情况正常
开启I2C接口
- 打开树莓派终端,输入以下指令进入配置界面
sudo raspi-config 选择 Interfacing Options -> I2C ->yes 启动 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 apt-get install python3-smbus 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 apt-get install python-smbus sudo pip install spidev
- 安装gpiozero库(系统默认已安装,如果没有安装请按照以下命令进行安装)
sudo apt-get update # python3 sudo apt install python3-gpiozero # python2 sudo apt install python-gpiozero
e-Paper
运行C语言例程
- 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- 备用解压方式
sudo apt-get install p7zip-full 7z x E-Paper_code.zip -O./e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- 通过 GitHub 下载程序(备用方式,已下载可跳过)
目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- 编译程序(说明:-j4 为使用4线程编译,数字可自行修改;EPD=epd2in13V4 是指定一个宏定义,epd2in13V4 对应主函数中的测试程序)
# 此时在 e-Paper/RaspberryPi_JetsonNano 位置 cd c sudo make clean sudo make -j4 EPD=epd2in13V4
- 运行程序
sudo ./epd
运行python例程
- 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/7/71/E-Paper_code.zip unzip E-Paper_code.zip -d e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- 备用解压方式
sudo apt-get install p7zip-full 7z x E-Paper_code.zip -O./e-Paper cd e-Paper/RaspberryPi_JetsonNano/
- 通过 GitHub 下载程序(备用方式,已下载可跳过)
目前访问 GitHub 并不是很流畅,建议使用上面的方法从我们官网下载。
git clone https://github.com/waveshare/e-Paper.git cd e-Paper/RaspberryPi_JetsonNano/
- 运行程序
# 确保在 e-Paper/RaspberryPi_JetsonNano/ 位置 cd python/examples/ python3 epd_2in13_V4_test.py
RTC
运行C语言例程
- 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/d/dd/2in13_e-Paper-RTC.zip unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC cd 2in13_e-Paper-RTC/Raspberrypi/
- 编译程序(说明:-j4 为使用4线程编译,数字可自行修改;)
# 此时在 2in13_e-Paper-RTC/Raspberrypi/ 位置 cd c make clean make -j4
- 运行程序
# 注意:运行时需要注释掉 config.txt 中设置的内核驱动代码,否则可能导致输出数据不正确 sudo ./main
运行python例程
- 下载程序(已下载可跳过)
wget https://www.waveshare.net/w/upload/d/dd/2in13_e-Paper-RTC.zip unzip 2in13_e-Paper-RTC.zip -d 2in13_e-Paper-RTC cd 2in13_e-Paper-RTC/Raspberrypi/
- 运行程序
# 此时在 2in13_e-Paper-RTC/Raspberrypi/ 位置 # 注意:运行时需要注释掉 config.txt 中设置的内核驱动代码,否则可能导致输出数据不正确 cd python # 设置RTC时间,并循环显示时间、日期、温度 sudo python main.py # 将RTC时间同步至系统中,仅限于没有联网的系统使用 sudo python Set_system_time.py
添加内核方式驱动
注意使用这种方法,就不可以使用上面的示例程序
在 /boot/config.txt 末尾添加
dtoverlay=i2c-rtc,ds3231
Hwclock简单使用
同步系统时钟 -> 硬件时钟
sudo hwclock -w
同步硬件时钟 -> 系统时钟
sudo hwclock -s #需要关闭网络,或者关闭网络对时,否则会被改回去
设置硬件时钟时间:
sudo hwclock --set --date="9/8/2021 16:45:05"
查看硬件时钟
sudo hwclock -r
显示版本信息
sudo hwclock --verbose



