想给3D打印机做一个“监控”,能够在手机上查看打印情况。最简单的想法就是给它旁边放个摄像头,虽然可以买一个,但看到用树莓派结合摄像头就可以实现,于是试着做了一下。

用树莓派调用摄像头的程序有不少,但motion似乎用到的还挺多,还可以检测画面中是否有物体在运动。这样后期可以调用画面的变动来检测是否打印完成。打印完成后,可以调用物联网模块切断电源。

安装motion时遇到了不少问题,现在整理一下安装方法以及遇到的问题及处理方法。

一、安装方法:

打开树莓派的设置面板,将摄像头启用。这一步既可以在终端用 sudo raspi-config 进行,也可以在GUI界面进行。这一部分可以百度查看。启用摄像头后重启树莓派。如果用的外置USB摄像头,不用重启,但注意是否需要安装驱动,我用的是免驱摄像头。

我的安装图如下:

然后将树莓派系统更新到最新版,然后输入以下命令进行安装

安装过程中会要求输入Y进行确认。

安装完毕后,其实在树莓派上就可以用的。但在使用之前,根据需求,还应该做一些设置才好用。所以先不着急运行。

由于motion需要调用摄像头,我们就得知道摄像头的设备号。默认是 video0,如果用的USB摄像头,可能会是video1等别的序号。而motion默认调用的是video0,所以这一点得事先注意。

查看摄像头的设备号的代码是:

比如我的设备号为:

记下 video0或video1,如果你没有这个,说明摄像头没有被识别,或者没有成果安装。最好也检查一下插线是否正确。

二、做一下配置:

配置是为了满足需求而做的,我的需求如下:

  • 首先,由于是在终端中安装的,需要在终端关闭后依然能够运行;
  • 其次,由于我需要在电脑或者手机上查看摄像头,就需要关闭该限制;
  • 最后,希望它能够在树莓派重启后自动运行。

现在逐个解决:

首先,解决后台运行的问题,需要打开 motion daemon 守护进程,让它可以一直在后台运行,用以下代码:

在里面找 start_motion_daemon ,把 no修改成yes:

其次,解决局域网访问,要修改motion的配置文件,用以下代码:

其他诸如开启ipv6,运动监测等,根据需求进行配置。可以参看这个来学习:ConfigFileOptions < Motion < Foswiki (lavrsen.dk)

最后,加入启动项进行自启动:

编辑/etc/rc.local文件

在文件中的 exit 0 之前添加需要执行的程序,注意要使用绝对路径,这里只需要输入 motion  即可:

保存退出,然后运行 motion:

如果修改了配置文件,则要重启服务,可以使用代码:

实际效果如下面视频所示:

rasp_motion_test


最后附上我自用的motion配置(注意,video1是我的配置,用的USB外置摄像头,如果你用的树莓派CSI摄像头,你可能得改为video0才能用)

下载地址:taholab_motion_conf.zip

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注