作者:手机用户2502935255 | 来源:互联网 | 2023-09-08 16:55
参考网站https:www.waveshare.netwiki5.65inch_e-Paper_Module_(F) 产品选型 接线方法 e-PaperRaspberr
参考网站 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所以看上去是不会显示的