友情提示:380元/半年,儿童学编程,就上码丁实验室。
开搞
先说下实现框架:采用USB免驱摄像头,移动探测采用motion库,探测到后自动运行Python脚本。脚本可以写一段发送邮箱、短信、微博。。。。。。,看你能想到的,只要有API提供基本都能实现。
Arduino YUN的联网基本配置,这里不多说了,传送门。
登陆Arduino YUN页面,http://arduino.local。登陆Arduino Luci/System/Software

下载“kmod-video-uvc”摄像头驱动和 “motion” 移动侦测安装包。
先来看下摄像头是否可以用,网上很多摄像头不一定支持,我第一次用的一款,出来的图片严重失真,后来用了一个淘宝上写着支持树莓派、linux的摄像头,才成功。
用Putty,开启SSH,在命令行里输入dmesg,可以看到

输入lsusb,查看是否识别为USB了,也可以查看、/dev目录下是不是多了个video0设备。

接下来配置motion库
这里可以用WinSCP软件,采用SCP协议登陆。

在/etc目录下,找到motion.conf,下载到本地。
vi etc/motion.conf(里面的具体配置意义可以看它的注释,或者见http://www.lavrsen.dk/foswiki/bin/view/Motion/ConfigFileOptions)
关键的几点配置:
daemon off #关掉deamon模式
locate_motion_mode on #探测到图像中有运动时,把运动区域用矩形框起来
videodevice /dev/video0 #加载USB摄像头的设备(对应自己的摄像头设备)
width 640 #图像宽度
height 480 #图像高度
target_dir /mnt/sda1/webcam #设置拍摄图片的存储目录,这里我们把SD卡设置成Arduino Yun的外部储存器。SD的配置参考传送门。
threshold 3000 #这个是改变探测灵敏度,越小越灵敏。
stream_localhost off
webcontrol_localhost off
#关闭,让我可以通过浏览器查看视频。
on_motion_detected “python /mnt/sda1/allarme.py” #配置当侦测到移动物体时,自动执行相应的程序。这里是最关键的地方。
到这里我们可以在命令行里输入motion,启动。打开浏览器 ,输入 IP:8081,查看运行效果。对效果不满意,可以输入 IP:8080进入motion设置页面。

配置QQ邮箱
用QQ邮箱服务器发送邮件,需要设置下自己的QQ邮箱发送登陆口令。


把生成的授权码记录下。

这段Python脚本就是发送邮件的简单实现。注意发送内容不能中文,不识别。把脚本放在刚才配置的地方就可以了。
配置短信接口脚本

我这里使用了阿里云的短信API接口,官方就提供了Python事例,把参数设置下自己的就可以。
后记
实际运行的时候,视频还是有点卡顿,感觉是处理器性能不够,摄像头像素选的太低。后面准备换个主板和摄像头在试试看。图形库可以试试OpenCV。