完善版的家庭安防监控

现在,整套系统已经可以在安装OpenWrt的路由器上运行,并且已经可以在家人在家的情况下停止监控。

前面关于此监控系统的详细叙述.

请看: 点此查看1  点此查看2

所需的软件:

motion,mutt,msmtp

对于家人在家时停止监控的解决方案:

由于目前智能机已经广泛普及,在这里,我假设家中每一位家人都有一台智能手机或WiFi设备,那么当家人回家时,智能手机自动连接上路由器,通过路由器执行脚本检测客户端是否在线,来控制motion的启动或者停止。

MAC与IP绑定:

为了保证每台智能机每次分到相同的IP,请先将IP与MAC地址绑定。

执行脚本:

我写了两个简单的bash脚本,用来检测客户端是否在线.

执行此脚本前,请将motion.conf内deamon改为on

第一个脚本motion.sh

#!/bin/bash

while true
#for i in `seq 1`  如有多个IP,可以使用seq进行序列ping
do
    ip=192.168.1.116
    ping -c 1 $ip &> /dev/null
    if [ $? -ne 0 ]; then
        sh /root/motionalive.sh
    else
        killall motion &>/dev/null
    fi
done

第一个脚本的改进版motion1.sh

#!/bin/bash

while true
do
    for i in `seq 217 218`  #如有多个IP,可以使用seq进行序列ping
    do
        ip=192.168.1.$i
        ping -c 1 $ip &> /dev/null
        if [ $? -ne 0 ] && [ $i=218 ]; then
            sh /root/motionalive.sh
        else
            killall motion &>/dev/null
        fi
    done
done

 

 第二个脚本motionalive.sh

#!/bin/bash

motionalive=`pgrep motion`

if [ -n "$motionalive" ]; then
echo "motion is alive and ip is not alive"
else
motion
fi

 

第一个脚本motion.sh会调用第二个脚本motionalive.sh

分享到:

发表评论

昵称

沙发空缺中,还不快抢~