怎么让树莓派raspberry 4B驱动摄像头模块

Openfans是一个魔改的64位操作系统,根据官方的数据,运行效率比官方32位的系统高很多,但是没有内置rspi-config命令,让树莓派4B使用摄像头模块比较曲折,本教程将会一步步展示我是怎么驱动摄像头模块的

所有的操作都是在root用户下进行。

开启摄像头模块

系统没有内置rspi-config命令,配置/boot/config.txt文件开启摄像头模块,修改如下几个配置项


##########################################
## - Enable audio (loads snd_bcm2835) - ##
##
dtparam=audio=on
########################################################################
## per https://github.com/anholt/mesa/issues/56#issuecomment-263283300
## gpu_mem is for closed-source driver only; since we are only using the
## open-source driver here, set low.
gpu_mem=256
################################
## Camera Module used: start_x=1 
start_x=1

gpu_mem:分配给摄像头模块的内存大小,最小需要128M

start_x=1:设置打开摄像头模块

之后重启系统,使配置生效。

编译安装userland

userland是树莓派GPU相关的一些工具库,摄像头模块也包含其中。

编译之前先安装开发环境:


apt-get install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

cmake也可能没有,提前安装一下:


apt-get install build-essential cmake

然后把库从github下载下来,上传到树莓派某个目录下,解压缩:


unzip userland-master.zip

进入解压后的目录,可以看到buildme脚本,执行这个脚本,编译安装:


buildme --aarch64

编译后的文件自动安装在/opt/目录

userland安装文件位置

userland安装文件位置

其中vc/bin/目录中的raspistill,raspivid,raspiyuv是操作摄像头的命令。把这个目录加入系统目录中,方便使用。编辑/etc/profile文件,增加配置:


export PATH=$PATH:/opt/vc/bin

使配置生效:


source /etc/profile

使用raspistill命令拍一张照片测试一下


raspistill -t 2000 -o test.jpg

正常情况,过两秒钟就能在命令执行目录得到test.jpg照片。但好事多磨,一般情况下会得到这样一个错误:


libmmal.so: cannot open shared object file: No such file or directory

看起来是依赖库的问题,执行ldd查看依赖:


ldd raspistill
正常情况的raspistill依赖库

正常情况的raspistill依赖库

补上依赖,编辑/etc/ld.so.conf.d/vc-userland.conf文件,如果没有就新建一个,增加如下内容:


/opt/vc64/lib/
/opt/vc/lib/

后记

在编译安装userland之前系统内实际上是有这个命令的,同样在/opt/vc/bin目录下,但是执行这个命令会提示:

/opt/vc/bin/raspistill: No such file or directory

百思不得其解,只好重新编译安装userland.

 

平均: 0 / 5. votes: 0

到目前为止还没有投票!成为第一位评论此文章。

欢迎转载,请留下出处链接:Labno3 » 怎么让树莓派raspberry 4B驱动摄像头模块

赞 (0)

评论

1+4=