本文讲讲树莓派如何正常安装CSI摄像头以及一些基础的配置和简单的使用
测试环境
硬件:树莓派3B/3B+
系统:Raspberry Debian 9 / Debian 10
硬件连接
1、找到CSI 接口(树莓派3B的CSI接口在HDMI接口和音频口中间),需要拉起 CSI 接口挡板,如下:
2、将摄像头排线插入CSI接口。记住,有蓝色胶带的一面应该面向音频口或者网卡方向, 确认方向并插紧排线,将挡板压下去,如下所示:
安装好的效果图大致如下:
使能摄像头
1、首先使用"ls"指令来查看是否存在vchiq设备节点:
linux@ubuntu:~$ls/devpi@raspberrypi:~$ls/dev/autofsdiskgpiomemloop3mmcblk0ptmxram15randomstdouttty15tty23tty31tty4tty48tty56tty7vchiqvcs6vcsa7blockdrihwrngloop4mmcblk0p1ptsram2rawttytty16tty24tty32tty40tty49tty57tty8vciovcs7vcsmbtrfs-controlfb0initctlloop5mmcblk0p2ram0ram3rfkilltty0tty17tty25tty33tty41tty5tty58tty9vc-memvcsavhcibusfdinputloop6mqueueram1ram4serial0tty1tty18tty26tty34tty42tty50tty59ttyAMA0vcsvcsa1watchdogcachefilesfullkmsgloop7netram10ram5serial1tty10tty19tty27tty35tty43tty51tty6ttyprintkvcs1vcsa2watchdog0charfuselogloop-controlnetwork_latencyram11ram6shmtty11tty2tty28tty36tty44tty52tty60ttyS0vcs2vcsa3zeroconsolegpiochip0loop0mappernetwork_throughputram12ram7sndtty12tty20tty29tty37tty45tty53tty61uhidvcs3vcsa4cpu_dma_latencygpiochip1loop1memnullram13ram8stderrtty13tty21tty3tty38tty46tty54tty62uinputvcs4vcsa5cusegpiochip2loop2memory_bandwidthpppram14ram9stdintty14tty22tty30tty39tty47tty55tty63urandomvcs5vcsa6pi@raspberrypi:~$
如果没有,则可能是内核或者设备硬件存在问题,可尝试重刷系统或更换硬件。
2、运行"vcgencmd get_camera"查看当前摄像头是否可用:
pi@raspberrypi:~$vcgencmdget_camerasupported=1detected=1"
如果detected=0,说明摄像头模块没接好,重新排查下硬件。detected=1则说明CSI摄像头接入正常。supported=1说明摄像头已经使能,摄像头已经可以使用。supported=1则说明CSI摄像头没有使能。需要使能下摄像头模块。
3、运行"sudo raspi-config"命令使能树莓派CSI摄像头
pi@raspberrypi:~$sudoraspi-config
然后重启下树莓派
添加UVC驱动
有些程序采用V4L2编程,会访问到/dev/videoX设备,因此需要添加UVC驱动,针对树莓派3B/3B+可以采用如下的方法添加bcm2835-v4l2驱动:
pi@raspberrypi:~$vim.tiny/etc/modules#/etc/modules:kernelmodulestoloadatboottime.##Thisfilecontainsthenamesofkernelmodulesthatshouldbeloaded#atboottime,oneperline.Linesbeginningwith"#"areignored.i2c-devbcm2835-v4l2
然后重启即可在/dev/目录下看到videoX(X为数字编号,如0)的驱动
使用rapistill命令拍照
运行"raspistill -o image.jpg"即可成功拍照并保存,更多参数使用raspistill --help
pi@raspberrypi:~$raspistill-oimage.jpg
将image.jpg图片传输到windows桌面打开, 即可看到拍照出来的效果,如