AWS IoT+树莓派 打造动态监控(2)

副标题:RaspberryPi安装motion手顺

上篇:AWS IoT+树莓派 打造动态监控(1)

总体流程

AWS IoT+树莓派 打造动态监控(2)_第1张图片

这篇文章写的是讲motion的安装。上图红框部分。

准备

  • 树莓派3B
  • USB摄像头

安装

执行下面命令,如果不出什么error,就算成功了。是不是很简单啊。。。

sudo apt-get install motion

配置

也不算多复杂,有几个特定的参数需要知道意思,才方便以后创作出更好玩的东西。

配置文件路径:/etc/motion/motion.conf

daemon … 自启动。默认是off,但是我最近使用的比较多,就设定成开机启动on了 。
width … 画面幅度。640。
height … 画面高度。480。
framerate … 帧率。10。
threshold … 动态感知的灵敏度,越小越灵敏。1500。
minimum_motion_frames … 几帧变化的话判定为有移动物体。1。
output_pictures … 检测到有移动物体是否保留截图。on。
ffmpeg_output_movies 检测到有移动物体是否保留动画。动画文件太大,我设定成了off 
snapshot_interval … 定期保存截图时间间隔秒数。3600。
locate_motion_mode … 检测到移动物体的话,是否用框围住。on。
on_picture_save … 保留截图时,同时执行的脚本。我的脚本路径/home/pi/aws-iot/mosquitto_pub.sh  
target_dir … 截图和视频的保留所。我设置的路径是/home/pi/motion-image(将来作为上传googledrive的图片来源路径)。
stream_port … 视频流端口号。8081。
stream_motion … on/ off 默认 off,帧率是1秒一张。如果设定成on,当检测到有动的物体时,帧率按照下面stream_maxrate 的参数设定。
stream_maxrate … 动态监测出时的帧率。10。
stream_localhost … 限制只能连接本地。默认值off。
stream_authentication … basic认证,格式username:password。默认不设定。
webcontrol_port … web管理页面端口号。默认8080。
webcontrol_localhost …web管理页面限制只能本地连接。默认值off。
webcontrol_authentication … web管理页面的账号和密码,默认无效。

详细的各个参数配置,请参照官网说明Motion - Config File Options

后台运行

sudo vi /etc/default/motion
start_motion_daemon=yes

让motion后台运行设置项。如果简单玩玩的话,继续保持no也行。毕竟比较消耗资源。

脚本内容

#!/bin/sh
mosquitto_pub --cafile /home/pi/aws-iot/rootCA.pem \
--cert /home/pi/aws-iot/XXXXXX-certificate.pem.crt \
--key /home/pi/aws-iot/XXXXXX-private.pem.key \
-h YYYYYY.iot.us-west-2.amazonaws.com \
-p 8883 -q 1 -d \
-t topic/sns \
-m '{"message":"来自树莓派USB摄像头的监控警告!"}'

启动

sudo motion

退出motion

killall -TERM motion(修改motion.conf之后需要重启motion)

联动执行后的效果

树莓派的USB摄像头监控到有移动物体,自动执行警告脚本。
利用aws IoT发送报警邮件。

AWS IoT+树莓派 打造动态监控(2)_第2张图片

下一步

上传截图到googledrive,并将googledrive的链接发到邮箱中。
这样在手机上直接点开链接就能看到图片了。

你可能感兴趣的:(AWS IoT+树莓派 打造动态监控(2))