参考网站 https://www.waveshare.net/wiki/5.65inch_e-Paper_Module_(F)
产品 选型
接线 方法
e-Paper |
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 |
开启SPI接口
sudo raspi-config 选择Interfacing Options -> SPI -> Yes 开启SPI接口
sudo reboot
安装库
PS:使用 Bullseye 分支的系统时,建议使用“apt" 替换“apt-get”;且 Bullseye 分支的系统只支持 Python3。
BCM2835
#打开树莓派终端,并运行以下指令 wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz tar zxvf bcm2835-1.68.tar.gz cd bcm2835-1.68/ 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版本,如果没有出现说明安装出错
l 安装Python函数库
#python2sudo apt-get update sudo apt-get install python-pip sudo apt-get install python-pil sudo apt-get install python-numpy sudo pip install RPi.GPIO sudo pip install spidev
#python3sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-numpy sudo pip3 install RPi.GPIO sudo pip3 install spidev
下载测试程序
打开树莓派终端,执行:
方法一:从官网下载
sudo apt-get install p7zip-full wget https://www.waveshare.net/w/upload/3/39/E-Paper_code.7z 7z x E-Paper_code.7z -O./e-Paper cd e-Paper/RaspberryPi_JetsonNano/
方法二:使用github仓库
git clone https://github.com/waveshare/e-Paper cd e-Paper/RaspberryPi_JetsonNano/
python
PS:Bullseye 分支的系统只支持 Python3。
l 进入python程序目录,并运行指令ls -al
cd python/examples ls -al
运行测试
自己写使用代码
l 需要使用image库,需要安装库
sudo apt-get install python3-pil 安装库
然后导入库
from PIL import Image,ImageDraw,ImageFont
其中Image为基本库、ImageDraw为画图功能、ImageFont为文字
l 定义一个图像缓存,以方便在图片上进行画图、写字等功能
image = Image.new('1', (epd.width, epd.height), 255) # 255: clear the frame
第一个参数定义图片的颜色深度,定义为1说明是2位图,第二个参数是一个元组,定义好图片的宽度和高度,第三个参数是定义缓存的默认颜色,0为黑色,255为白色。
l 创建一个基于image的画图对象,所有的画图操作都在这个对象上
# 写入 图片 (600*448)
#!/usr/bin/python # -*- coding:GBK -*- import os from waveshare_epd import epd5in65f from PIL import Image,ImageDraw,ImageFont epd = epd5in65f.EPD() epd.init() #epd.Clear() image = Image.open('/test.bmp') epd.display(epd.getbuffer(image)) #epd.sleep()
#写字
#!/usr/bin/python # -*- coding:GBK -*- from waveshare_epd import epd5in65f from PIL import Image,ImageDraw,ImageFont epd = epd5in65f.EPD() epd.init() #epd.Clear() font24 = ImageFont.truetype('Font.ttc',24) Himage = Image.new('RGB', (epd.width, epd.height), 0xffffff) # 255: clear the frame draw = ImageDraw.Draw(Himage) #draw.text((8, 12), 'hello world', font = font24, fill = 255) draw.text((8, 36), u'你好,世界', font = font24, fill = 0) epd.display(epd.getbuffer(Himage)) #epd.sleep()
第一个参数为一个2个元素的元组,以(8,12)为左顶点,字体为font,点,fill为字体颜色,第一句fill=255所以看上去是不会显示的