1、显示屏驱动
1.1、显示屏的参数
这次用的显示屏是直接在PDD上淘来的,大致参数如下:
- 尺寸:3.5寸,基本和树莓派一样大,安装后正好覆盖
- 接口:SPI接口,需要26个引脚,如果对GPIO需求强烈的话,可以选择HDMI接口的屏
- 刷新率:60帧,实际测试后满足使用需求,稍微有点卡顿
目前使用显示屏也仅仅是展示摄像头实时捕捉的画面而已,因此上面这些参数也够用了。
1.2、显示屏驱动安装
未安装驱动连接显示屏,上电后会展示白屏,如下图所示:
我们可以在显示屏连接的情况下安装驱动,这样,驱动安装好后显示屏就自动出现画面了。如果没有,可以重启树莓派。
驱动安装非常简单,购买显示屏的说明书中也介绍了安装过程,主要分为如下几步:
- ssh远程登录
- sudo rm -rf LCD-show
- git clone github.com/Lcdwiki/LCD…。如果网络比较差可以在外部下载好zip包后上传树莓派进行加压缩安装。
- chmod -R 755 LCD-show
- cd LCD-show
- sudo ./MHS35-show
成功安装后发现画面正常显示。
2、摄像头驱动
2.1、摄像头接线
摄像头驱动的过程有点曲折,下面慢慢道来。
这次使用的是树莓派官方的摄像头组件,其中接口为CSI(Camera Serial Interface)。将摄像头与树莓派连接。注意,接线处的蓝色面要朝向黑色滑口,即有焊盘的一面要对向白色固定处。这样才能连接成功。
4B的树莓派有J3(位于中间)和J4(位于左手边)两个CSI接口,但尝试过后发现只有J3口能够连接成功,并成功检测到摄像头组件。J4口无法成功,并且J4口连接后,摄像头部分的红色LED会被点亮,J3不会,暂时没有去深究这里面的原因,有小伙伴知道的话可以在评论区介绍下。
2.2、校验连接
连接成功后,树莓派上电(一定要在断电情况下连接摄像头哈,不然可能会损坏摄像头),ssh远程连接,在终端中输入如下命令,检测是否成功安装。
pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=1, libcamera interfaces=0
如果出现了supported=1 detected=1两个1,那么恭喜你,一次性就连接成功了。
如果出现一个0或者两个0,首先检测下接线是否正常(断电检测),然后可以按照下面的方法逐步执行:
2.2.1、使能Camera
输入如下命令进行配置页面:
sudo raspi-config
然后依次选择:Interface Options → Legacy Camera → Yes进行激活,激活后提示重启系统。
再次重试vcgencmd get_camera命令,查看是否出现两个1。
2.2.2、修改/boot/config.txt
注释掉自动检测配置,添加start_x和gpu_mem配置
pi@raspberrypi:~ $ sudo vim /boot/config.txt
# 注释
# camera_auto_detect=1
# 添加
gpu_mem=128
start_x=1
2.2.3、修改/etc/modules
修改该文件目的是为了重新加载老版本的V4L2驱动。
pi@raspberrypi:~ $ sudo vim /etc/modules
# 在后面添加
bcm2835-v4l2
2.2.4、重启树莓派
sudo reboot
再次校验应该就能发现两个1了
pi@raspberrypi:~ $ vcgencmd get_camera
supported=1 detected=1, libcamera interfaces=0
此时系统已经支持并检测到了摄像头组件。
2.5、测试
执行如下脚本,如果在当前目录下出现pic.jpg的图片说明摄像头已经能够正常工作了。
pi@raspberrypi:~ $ raspistill -o pic.jpg -t 1000