树莓派 连接 5.65inch e-Paper Module (F)
参考网站 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所以看上去是不会显示的
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号