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/目录
其中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
补上依赖,编辑/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.
欢迎转载,请留下出处链接:Labno3 » 怎么让树莓派raspberry 4B驱动摄像头模块