您的位置:首页 > 其它

树莓派3摄像头配置过程(包括遇到的问题)

2016-10-24 21:22 204 查看
找不到devvideo0

如何设置开机自启并捕捉到运动物体

找不到/dev/video0

买了个树莓派CSI接口的摄像头。连在树莓派上面去后, 用 raspistill,raspiyuv,raspivid等命令拍摄图片,录制视频,没有问题。(过程见链接这或者这里

但是等到用motion命令时,问题就来了。就是找不到文件 /dev/video 文件问题 。先将解决的过程记录如下:

讲解链接

还有这里

其实,网上讲解的是正确的,只是该文件时打错字了。因为:bcm2835-v4l2 是l不是1。

下面是上面链接的一些内容

pi@raspberrypiding:/lib/modules/4.4.9 v7+/kernel/drivers/media/platform/bcm2835 $ cd /lib/modules/4.4.9-v7+/kernel/drivers/media/platform/bcm2835/pi@raspberrypiding:/lib/modules/4.4.9-v7+/kernel/drivers/media/platform/bcm2835 $ ls
bcm2835-v4l2.ko


本以为我的问题和网上的不一样,但是通过运行上面的路径,发现我的 电脑也有 bcm2835-v4l2.ko。仔细检查,才知道打错字了。因为:bcm2835-v4l2 是l不是1。

相信大家入手的树莓派都玩起来了,买了摄像头模块的也demo起来的网上都有的几个例子,但是真正自己写程序的时候就会出现各种各样的问题,我是用树莓派的camera来实现一个远程视频传输的过程,Camkit就是这么一个简单的例子,然而一切准备就绪之后运行起来就会发现找不到/dev/video0设备,但是树莓派官方自带的raspistill却能够用起来,这怎么回事呢?
先放个wiki的地址:https://wiki.archlinux.org/index.php/Raspberry_Pi,这里讲了很多关于启动的问题,其中Raspberry Pi camera module这一章节就是说如何起camera。树莓派中的camera module是放在/boot/目录下以固件的形式加载的,不是一个标准的v4l2的摄像头ko驱动,所以加载起来之后会找不到/dev/video0的设备节点,这是因为这个驱动是在底层的,v4l2这个驱动框架还没有加载,所以要在/etc/下面的modules-load.d/rpi-camera.conf里面添加一行bcm2835-v4l2,这句话意思是在系统启动之后会加载这个文件中模块名,这个模块会在树莓派系统的/lib/modules/xxx/xxx/xxx下面,添加之后重启系统,就会在/dev/下面发现video0设备节点了。这个文件名可能不是叫modules-load.d/rpi-camera.conf,也有可能直接就是/etc/modules,我用的是树莓派2,就是/etc/modules。
OK,祝大家玩的愉快。


另一个链接,留着以后用,可能用得到

在用
motion
或者
motion -s
应该就好了。

如何设置开机自启,并捕捉到运动物体

安装motion

sudo apt-get install motion


配置 开机自启(在root权限下弄)

* sudo vim /etc/default/motion ,然后 找到 start_motion_daemon=no 改为 yes

* sudo vim /etc/motion/motion.conf

将 daemon 的off 改为on

videodevice 改为设备路径 按道理应该就是 /dev/video0

target_dir 表示 图片存储在哪里,后的路径默认是/tmp/motion ,由于/tmp每次重启就会清空,所以 换一个路径文件夹(自己先mkdir 创建好)

其他的参数见下列博客的详解

sudo vim /etc/rc.local

在exit 0前添加 motion , 保存,就会开机自动运行了。

(就是没有这一步,弄了我好长时间)

sudo /etc/init.d/motion start

正常情况下,树莓派以后开机后,摄像头就会自启,然后摄像头模块上面的小灯会亮。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐