树莓派 连接 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所以看上去是不会显示的

 

posted @ 2022-03-08 00:40  likehc  阅读(89)  评论(0编辑  收藏  举报