余 湧 马娅婕 彭攀来 刘智旸
(武汉科技大学信息科学与工程学院,湖北 武汉 430081)
一种远程监控报警系统的设计
余湧马娅婕彭攀来刘智旸
(武汉科技大学信息科学与工程学院,湖北 武汉430081)
摘要:以开源硬件Raspberry Pi作为监控与报警系统的核心,结合WebCam摄像头,运用成熟的GPRS技术,设计了一种适用于家庭安防和无人值守等领域的远程自动监控报警系统。介绍了系统的总体结构、功能,硬件组成、软件结构与功能模块,以及各部分之间的通信方式。当系统侦测到摄像头监控画面中有物体发生明显移动时,将自动捕捉并以电子邮件的形式发出物体运动图像,同时保存图像和视频片段并向用户发送报警信息,从而实现远程监控报警。经过测试运行,系统能够正常、稳定地工作,可靠性较高,具有一定的使用价值。
关键词:Raspberry PiGPRS远程自动监控安防监控报警运动图像自动捕捉可靠性
Reliability
0引言
随着信息技术的快速发展,人们越来越感受到高科技给生活带来的便利。如何利用现有的无线网络技术打造一个既经济又实用的远程自动监控系统,已成为人们关注的热点[1]。
传统的监控系统功能强大、应用范围广泛,但系统结构复杂、价格昂贵,由于安装时资金投入过多,普通家庭一般不会选择专门安装。随着监控技术的不断发展,监控产品更新换代十分频繁,新技术层出不穷,实用性强、性价比高的产品受到人们的青睐。树莓派(Raspberry Pi)是英国一个小型慈善组织开发的一款基于Linux系统的、只有信用卡大小的迷你电脑。其通过装载相关应用程序,可以实现监控功能,且具有体积小、价格低廉、功耗低等优点[2]。
以开源硬件Raspberry Pi作为应用开发平台,结合成熟的GPRS技术,依托motion应用和mutt邮件系统,将图像信息以电子邮件附件的方式通过GPRS网络发送给用户,同时通过GPRS模块向用户发送一条短信进行提醒;用户可以通过PC、手机等设备进入邮箱查看相关监控画面,实现了监控信息的远程传递和报警信息的实时发送,适用于安防监测领域。
1系统总体结构
远程监控报警系统主要由监控与报警系统终端和用户端组成。监控与报警系统终端主要由开源硬件Raspberry Pi、USB摄像头、GPRS模块和电源模块组成。Raspberry Pi与GPRS模块之间通过UART接口进行连接,GPRS模块通过拨号的方式接入互联网。由于Raspberry Pi运行的是Linux系统,因此可以很方便地根据不同的应用环境装载不同的应用程序,实现所需的功能。Raspberry Pi搭载motion和mutt这两款应用[3]。USB摄像头负责监控区域图像信息的采集,再经过motion软件进行相关的分析和判断。当侦测到摄像头监控区域内有物体发生明显运动时,motion软件对该时刻的图像信息进行捕捉并保存视频片段;调用mutt邮件系统相关组件,通过GPRS网络将图像信息以附件的形式发送到用户的邮箱,同时发送一条报警短信来提醒用户,用户登陆邮箱即可查看相关情况。系统总体结构图如图1所示。
图1 系统总体结构图
2系统硬件介绍
所设计的远程监控报警系统的硬件部分主要由Raspberry Pi部分和GPRS模块组成,下面分别对这两部分进行详细的介绍。
①Raspberry Pi部分:这里采用的是Raspberry Pi B+型号,该型号树莓派仅有信用卡大小,配备一枚博通出产的ARM11架构BCM2835处理器,有着强大的系统功能和丰富的接口资源。图2为Raspberry Pi的硬件资源及端口。
图2 Raspberry Pi部分端口接口结构图
这一型号的Raspberry Pi包括一枚700 MHz处理器,具备512 MB内存,支持Micro SD卡和Ethernet,拥有4个USB接口,支持HDMI和RCA端口输出以及1 080 P视频。通过装载相应的Linux系统和应用程序,Raspberry Pi可以实现强大的功能,且具有功耗低、体积小等优点,非常适用于小型应用开发。目前,Raspberry Pi在国内外高端DIY开发中应用广泛,同时可以扩展出各种常用的通信端口,例如UART端口、IIC端口以及SPI端口等,丰富的端口可为日后相关功能的扩展提供便利。
系统采用Raspberry Pi来读取并处理USB摄像头采集到的视频图像数据,用motion软件对采集到的图像信息进行处理与分析。motion软件的功能强大,不仅能通过视频的方式实时展现监控画面,还可以感知图像中物体的运动,随之触发一定的事件。这对于监控报警来说至关重要。
系统无须将视频、图像数据全部上传到邮箱服务器中,只须在监控到图像中有物体发生明显运动时,触发邮件系统相关组件发送电子邮件、触发短信脚本文件发送报警信息,同时保存这一时刻的图像。这样做大大减少了GPRS流量,节省了费用。
②GPRS模块:GPRS是一种适用于间歇性、突发性的或频繁、少量数据传输的无线通信技术。随着移动通信技术的发展,GPRS网络信号几乎无处不在。为确保数据传输过程中的即时性和可靠性,可以充分利用GPRS网络的覆盖区域广和通信网络具备识别错误的能力等优点。这里使用型号为SIM900A的GPRS模块,该部分结构如图3 所示。
图3 GPRS模块部分结构图
SIM900A模块是SIMcom公司生产的工业级双频模块,由于该型号模块内部集成有TCP/IP协议栈,可以通过Raspberry Pi的UART端口发送AT指令来控制,包括与互联网之间的通信和发送报警信息等。模块将UART端口接收到的原始数据转换成TCP/IP数据包进行传送。
3系统的配置与设计
由于所设计的远程监控与报警系统主要通过motion软件进行监控,并通过邮件系统将监控图像信息发送到用户邮箱,因此,安装并配置好motion软件以及设计与配置邮件系统就成为设计的重点。为了将运动捕捉与邮件发送功能联系起来,在此采用开源且功能强大的SSMTP和mutt来实现邮件的发送功能。
3.1安装及配置motion
使用命令sudo apt-get install motion安装motion视频监控软件,然后用文本编辑工具打开/etc/default/目录下的motion文件和/etc/motion/目录下的motion.config文件,对该配置文件进行适当的修改(包括start_ motion_daemon、daemon mode、target_dir等);还可以根据需要,适当地调整摄像头捕捉画面的高度、宽度和帧频等。其中一个重要的配置是threshold,配置完成后即可启动。当motion发现图像的某一区域像素变化超过该值时,将会捕捉画面,因此可以适当地对其进行调整,以改变动作捕捉的敏感度。
配置完成的motion软件工作流程如图4所示。
图4 motion工作流程图
当开启motion视频监控进程时,motion会以一定帧速拍摄JPEG的监控图像,当侦测到画面中有指定大小的像素变化时,即可以认为监控范围内有物体发生运动,motion将触发一个事件。该事件用脚本文件来实现,其作用是记录下物体发生运动的时间,并把这个时间值存到/home/pi/motion/tmp/videotime文件中。
当检测到运动之后,如果连续6 s内的画面像素变化值均小于阈值,即不能再检测到运动时,则触发第二个事件(motion_end.sh)。该事件的作用是查找指定的图像文件,并将图像文件以邮件附件的形式发送到用户指定的邮箱,并向用户发送一条报警短信;同时,将图像文件和该时刻的视频片段保存到外部扩展的大容量存储设备中,便于日后查看。
3.2邮件系统的安装与配置
当motion侦测到画面中有物体运动图像后,系统即触发邮件系统相关组件,向用户发送电子邮件,因此还需要将运动捕捉和邮件发送联系起来。这里通过安装配置邮件传输代理程序SSMTP和邮件客户端mutt来实现这一需求。
3.2.1安装SSMTP
在Raspberry Pi中使用SSMTP应用程序来发送通知邮件。SSMTP是一个轻量级的邮件传输代理程序(mail transfer agent,MTA),其最大优点在于配置简单,所以很适合在Raspberry Pi上使用。
使用$ sudo apt-get install ssmtp命令来安装SSMTP,安装完成后对文件路径为/etc/ssmtp/ssmtp.conf的配置文件进行适当修改。完成SSMTP的配置后,还须将运动捕捉和邮件发送联系起来。当motion捕捉到物体运动时刻的图像信息后,通过mutt调用SSMTP发送邮件。
3.2.2安装mutt
mutt是Linux下的一个轻量级的e-mail客户端,可以通过$ sudo apt-get install mutt命令进行安装。mutt通过管理不同的、专门针对某一邮件功能的软件来完成邮件的编辑、收发等功能。其中,以设置调用vi、nano等文本编辑器进行编辑操作。发送邮件时,它将发出的信件放到sendmail的队列里。当需要数字签名时,mutt会把信件交给GnuPG等程序进行处理,然后再发送出去。mutt可以发送带有文件附件的邮件,并且配置简单,只须提供MTA程序的路径(这里用SSMTP的安装路径)即可。配置方法是在Raspberry Pi的用户主目录中增加一个.muttrc文件,该文件仅需一行内容:
Setsengmail=”/usr/sbin/ssmtp”
因此,不需要再对创建的文件进行编辑,而是使用命令$ echo “set sendmail=”/usr/sbin/ssmtp””>~./muttrc,即可完成整个过程。
4提高系统可靠性的措施
由于Raspberry Pi采用Micro SD卡作为“硬盘”,Raspberry Pi中运行的操作系统及其应用都须安装在这张Micro SD中。而motion在实时视频监控的应用过程中,会产生大量的图片和视频文件。如果将图片和视频文件保存在Micro SD卡中(Raspberry Pi的存储设备一般为SD卡,硬盘或U盘等大容量存储设备可通过USB口进行扩展),会对Micro SD卡进行大量、频繁的写操作,从而极大地缩短Micro SD卡的使用寿命。因此,采用tmpfs文件系统来解决这一问题[4],tmpfs文件系统是Linux为解决这类问题而提供的一种解决方案。
由于监控与报警系统是通过GPRS模块接入互联网的,因此GPRS模块的工作稳定性就显得尤为重要。GPRS模块在长时间无数据传输时会导致网络断线。这里主要采用心跳包机制来提高模块工作过程的可靠性。SIM900A模块通过接收UART端口发送的AT指令与Internet建立连接,当模块一段时间内不进行数据传输时,GGSN会断开模块的网络连接,以节省信道资源。为了避免网络中断,系统设定每隔2 min向监测中心服务器发送一小段格式固定的心跳信息,以保证模块长期在线[5]。同时,由于Raspberry Pi的CPU具有硬件看门狗芯片的功能,为了防止Raspberry Pi在运行过程中意外死机,通过安装模块和值守程序来启动看门狗守护进程。
5结束语
本文设计了基于Raspberry Pi、GPRS技术的远程监控报警系统。该系统充分利用开源硬件Raspberry Pi的优势,结合资源丰富且免费的Linux应用和因技术成熟而广泛使用的GPRS技术,集功耗低、体积小、功能强大且价格合理于一体。
经过测试,当摄像头前方有物体发生明显移动时,
motion软件能将捕捉到的运动物体用矩形框标记出来,并触发邮件系统发送包含图像的邮件,向用户发送报警短信,同时将该时刻的图片和视频片段保存到外部大容量存储设备中,达到了预期效果。该系统适用于家庭安防、无人环境值守等远程监控报警领域。
参考文献
[1] 崔盈慧,李海良,陈光.网络视频监控系统设计方案浅析[J].城市建设理论研究,2015,19(5):1-3.
[2] MEMBREY P,HOWS D.树莓派学习指南:基于Linux[M].北京:人民邮电出版社,2014:165-184.
[3] GIRLING G.Raspberry Pi实战攻略[M].北京:人民邮电出版社,2014.
[4] 伍之昂.Linux Shell编程从初学到精通[M].2版.北京:电子工业出版社,2015.
[5] 王奇武,周凤星,严保康.高压线塔塔基稳定性监测系统的设计[J].电子技术与应用,2014,40(3):136-129.
Design of a Remote Monitoring and Alarming System
Abstract:With the open source hardware Raspberry Pi as the core of the monitoring and alarm system, combining with the WebCam camera, and using the mature GPRS technology, the remote automatic monitoring and alarming system which is suitable for home security and unattended areas is designed.The overall structure, functions and hardware composition, software structure and function modules as well as the communication mode among all the parts are introduced.In order to achieve the purpose of the remote monitoring and alarming, when obvious moving of the object is detected in monitoring graphics of camera, the image is captured automatically and sent by E-mail, and the image and video segment are saved; the alarm information is also sent to the user.From the tests, it is found that the system operates stably and reliably, it has certain applicable value.
Keywords:Raspberry PiGPRSAutomatic remote monitoringSecurity mornitoringAlarmMotion imageAutomatic capture
中图分类号:TH86;TP368
文献标志码:A
DOI:10.16086/j.cnki.issn 1000-0380.201606016
国家自然科学基金青年基金资助项目(编号:61104215);
武汉省教育厅科学研究计划基金资助项目(编号:D20151106);
武汉科技大学大学生科技创新基金资助项目(编号:14ZZC150)。
修改稿收到日期:2015-10-17。
第一作者余湧(1990-),男,现为武汉科技大学控制科学与工程专业在读硕士研究生;主要从事传感器网络、嵌入式应用方向的研究。