基于移动终端的视频监控系统的研究
2015-10-15耿恒山曹鹏飞范东月耿跃华王少佐
耿恒山, 曹鹏飞, 范东月, 耿跃华, 富 坤, 王少佐
(河北工业大学 计算机科学与软件学院,天津 300401)
基于移动终端的视频监控系统的研究
耿恒山, 曹鹏飞, 范东月, 耿跃华, 富 坤, 王少佐
(河北工业大学 计算机科学与软件学院,天津 300401)
将网络视频服务器mjpg_streamer运用到远程视频监控中,通过手机或平板等移动终端对特定的区域进行实时监控,并结合GPRS技术,短信报警。移动终端可以通过ZigBee网络登录Web服务器,远程控制设备,采取应急措施。系统信息处理中心采用Cortex-A8内核,分析并处理由信息采集中心、PC机和移动终端发送的信息与指令;信息采集中心采用Cortex-M0内核,实现预警、采集信息和身份验证。实验结果表明,该系统灵敏度高,可靠性强,具有良好的市场前景。
网络视频; 远程监控; 移动终端; Web服务器; ZigBee网络
随着Internet网络技术的不断发展,远程监控技术被广泛应用于诸多领域。但是传统的监控显示设备通常采用PC机或液晶显示器,造价高,监控地点还受到限制,必须依靠人工定时定点监控,浪费人力资源。并且传统的视频监控系统不能实现远程控制现场设备,无法处理紧急事件,不够智能化。当今视频监控系统正向着小型化、智能化、网络化的嵌入式系统发展[1]。针对这一问题,本系统采用手机平板等移动终端作为监控端[2-3],可以远程登录服务器观看现场视频,并且当有非法闯入时,实现远程控制现场报警设备并抓拍入侵者图片的功能。Cortex-A8是ARM开发的第一款超变量处理器,并具非常高的功率效率。本文应用mjpg_streamer网络视频服务器、GPRS技术、Web服务器、BOA服务器并结合Cortex_A8控制器和Cortex_M0监控终端,实现远程预警和实时控制。
1 系统构成
系统由信息采集终端、信息处理中心、GSM远程控制模块和PC监视模块4部分组成,如图1所示。
图1 系统框架图
信息采集终端以Cortex_M0为核心,采集监控现场信息,并产生预警。信息处理中心以Cortex_A8为核心,处理分析由信息采集终端采集的信息;网络视频服务器mjpg_streamer运行于信息处理中心,为用户提供实时视频监控与图像抓取服务。PC监视模块通过Internet网络与Cortex_A8相连,通过TCP/IP协议进行数据传输[4],实现实时监测。手机通过GMS网络发送命令给信息处理中心,控制警报器;通过WiFi网络登陆BOA服务器,再利用网络视频服务器mjpg_streamer实现实时视频监控。
2 硬件实现
2.1 信息处理中心设计
信息处理中心采用三星公司生产的S5PV210处理器,该处理器与Ipone4的A4处理器(三星制造)拥有相同的架构。S5PV210内含ARM Cortex-A8内核,使用ARMV7指令集,具有2000DMIPS的运算能力,支持高速通信口 I2C、SPI、UART,内嵌NVIC中断控制器。
信息处理中心的主要作用是:1)接收/发送命令,控制Cortex-M0;2)运行BOA服务器和网络视频服务器mjpg_streamer,实现手机登陆与实时视频监控;3)通过GSM网络接收/发送短信,控制Cortex-M0,预警并采取应急措施;4)将实时监控信息传递给PC机或手机端,见图2。
图2 信息处理中心
信息采集终端与信息处理中心的通信采用的是ZigBee通信模块,它具有优良的网络拓扑结构,便于组网。ZigBee无线通信设备[5-7]采用ZICM2410,该模块提供了多种数据接口。本系统采用UART串口与Cortex-A8相连。
摄像头采用飞凌公司生产ov9650,130万像素。ov9650通过I2C总线挂载到Cortex-A8处理器上。
2.2 信息采集中心设计
信息采集终端由Cortex-M0内核、RFID射频刷卡模块、三轴加速感应器、报警器等构成。信息采集端构成如图3所示。
图3 信息采集中心
主控制器采用恩智浦公司生产的LPC1114,它是Cortex-M0系列低功耗32位处理器,最高可以工作到50MHz,运转速度快,功耗低,抗干扰,能力强;RFID模块采用采用基于ISO14443标准的非接触卡读卡机专用芯片,支持MIFARE标准的加密算法,RFID读卡模块通过SPI0接口与Cortex-M0进行连接。
ZigBee与Cortex-M0之间的连接采用的是双向SPI到UART转换芯片SC16IS752,节省了片上有限的UART资源。
三轴加速度感应器采用飞思卡尔公司的MMA7455L感应器。现场布控多个三轴加速度感应器,当有人闯入时,触碰三轴重力感应器,瞬间感知,同时Cortex-M0采集数据。若闯入防区的人RFID刷卡身份验证正确,警报消除,否则发送报警信息,摄像头拍照摄像并保存。
3 软件设计
3.1 服务器端主程序的设计
主程序首先进行初始化各个线程互斥锁,并创建9个线程。起主要作用的模块是接收客户端请求模块,传送命令模块,拍照模块,信息接收和发送模块和预警模块。线程之间的关系如图4所示。
图4 主程序各个线程之间的关系
主程序首先初始化各个线程锁,创建各个线程,线程打开设备后,即进入等待态,等待被唤醒。pthread_transfer线程接收M0传送过来的数据,并进行分析。若数据超出限制,会首先发送短信通知用户,并打开某些设备如LED灯、蜂鸣器等,采取应急措施。用户可以登录到服务器,查看当前实时视频情况,进行拍照,并能够通过GPRS发送短信,打开或者关闭某些设备,以做一些应急处理。每个线程会一直循环运行,时刻监控环境信息并处理。图5表示监控系统一次循环的过程。
图5 监控系统流程图
3.2 GPRS软件接收/发送短信实现部分
接收/发送短信的线程首先对串口进行初始化,然后发送短信线程处于等待态,接收短信线程则一直处于阻塞状态。如果环境状况超出限制,会唤醒发送短信线程,向用户发出预警。用户可以通过发短信的方式,向GPRS发送短信,GPRS根据消息内容,向请求线程发送消息队列,触发某些线程做出应急处理。其中在发送过程中构建的消息包括3段:中心号码段、收信方号码段和信息段。GPRS发送一次短信的流程图如图6所示,接收一次短信的流程图如图7所示。
图6 发送短信流程
图7 接收短信流程
3.3 实时视频监控部分的实现
摄像头正常使用需要摄像头驱动的支持,并需要移植网络视频服务器mjpg_streamer和jpeg库,以实现视频流的呈现和现场画面的抓拍。网络视频服务器mjpg_streamer是开源工程,能够将数据以压缩形式显示,降低CPU的使用率,节省嵌入式资源,适合嵌入式开发。mjpg_streamer的输入插件依赖于libjpeg库,因此,首先移植jpeg库。jpeg库的移植过程如下所示:
1)解压源码并配置
MYM tar xvf jpegsrc.v8b.tar.gz
MYM ./configure --prefix=/home/linux/project/jpeg --host=arm-none-linux-gnueabi
2)编译并安装
MYM make && make install
此时,jpeg库编译生成的文件被安装在目录/home/linux/project/jpeg下。
mjpeg_streamer库的移植如下所示:
1)解压源码并配置
MYM tar xvf mjpg-streamer-r63.tar.gz
修改顶层Makefile文件及所有plugins子目录中的Makefile文件,将CC改成arm-none-linux-gnueabi-gcc。
2)指定libjpeg所在的路径并编译
修改plugins/input_uvc/Makfile。
修改 CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC为CFLAGS+=-O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I/home/linux/jpeg/include。
修改 MYM(CC) MYM(CFLAGS) -ljpeg -o MYM@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo为 MYM(CC) MYM(CFLAGS) -ljpeg -L/home/linux/jpeg/lib -o MYM@ input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo。
执行make命令,将编译生成的可执行文件mjpg_streamer拷贝到bin目录下,将生成的6个库文件拷贝到lib文件夹下。网络视频服务器移植完成。
本文中使用的摄像头型号是OV9650,摄像头模块挂接于Cortex_A8板的I2C总线,需要编写基于I2C子系统的摄像头驱动。网络视频服务器mjpg_streamer的输入插件获取摄像头设备的帧数据,输出插件将帧数据转换成图片或视频流,用户能够获取实时图片和实时画面。用户能够通过PC端或者移动终端,同时登录网络视频服务器和BOA服务器,实现对现场监控;通过HTML网页,触发相应的CGI(Common Gateway Interface)程序,向主程序发送消息队列,主程序捕获消息队列,触发相应线程,控制设备。信息处理中心处理分析由信息采集端采集的三轴加速度信息,三轴加速度偏移量为x,y,z,设平均偏移量为Δ,当平均偏移量大于等于10g(g为重力加速度)时表示有人闯入监控区,用户也可通过mjpg_streamer监控是否有人员闯入。用户通过RFID验证身份后,预警解除。
3.4 网页远程控制的实现
用户能够通过手机端或者PC机端使用浏览器登录服务器端。为实现对于HTML与CGI程序的解析,需要移植Web服务器,本系统采用轻型、占用资源较少的BOA服务器[8]。
配置Web服务器BOA的过程:下载源码之后首先修改Makefile的编译工具;修改BOA的配置文件boa.conf;根据修改好的配置文件,在文件系统创建BOA服务器的工作目录/www,CGI文件的存放目录/www/cgi-bin。将编写好的index.html文件拷贝到BOA服务器的工作目录,测试BOA服务器能否正常使用。若通过网页能够正常显示文件index.html则表示Web服务器BOA配置成功。
移动终端通过浏览器登录服务器IP地址进入HTML编写的网页监控界面。网页左侧为现场视频观测,右侧为Form远程控制标签。点击Form标签后触发action事件,生成.cji可执行程序。.cji程序发送消息队列给主程序,根据不同的消息队列唤醒关闭报警器线程、打开报警器或现场摄像头紧急抓拍线程,实现远程WiFi网络控制。
4 实验
在河北工业大学计算机软件学院楼内搭建设备,进行现场实验。登录界面如图8a所示,监控界面如图8b所示。
图8 手机登录界面
将数字电路继电器接入报警电路。在设防区入口处安装RFID刷卡装置,在门上安放3组三轴加速度感应器。分别连接在Cortex-M0的SPI0和I2C端口。试验中入侵设防区,并未进行身份识别,触碰门会引起三轴重力加速度感应器产生偏移量,设偏移量分别为x,y,z。平均偏移量为
当Δ≥10g时,报警器触发,Cortex-A8通过GPRS网络发送报警短信给移动终端。移动终端通过浏览器输入服务器的IP地址,登录监控界面,观看现场视频,并通过在网页上点击Form标签,远程控制警报器的开关和现场图片抓拍。进行入侵实验30次,并成功报警30次。观测48h,未出现误报。手机登录监控视频清晰,远程成功控制警报器开关和现场摄像头抓拍。
5 小结
系统采用手机作为远程监控系统显示器,视频监控不再受地点限制,可随时随地登录BOA服务器和mjpg-streamer服务器查看现场视频。采用手机端作为远程监控控制端,可以通过ZigBee网络登录Web服务器关闭报警,更加智能,降低误报率。
当有人闯入监控区,三轴加速度感应器感知。本系统会通过GPRS网络发送短信提醒。在没有人员在场的情况下,监控者可以通过手机第一时间得到通知。与传统监控系统相比,具有更高的即时性。
系统还可以增加烟感、温湿度感应器、可燃气体感应器等感应装置,实现多功能监测。当可燃气体超标,发生火灾等特殊情况发生时,可以通过手机远程无线视频监控灾难现场,在信息处理中心报警,并打开消防设备。这样使报警系统更加智能化,也使本系统更加安全可靠。
[1]张起贵, 张瑞.基于3G的智能视频监控系统的设计[J].电视技术, 2013,37(4):89-95.
[2]郑海洲.基于Android平台的嵌入式视频监控系统设计[J].自动化仪表,2013,34(9):30-33.
[3]魏崇毓, 张菲菲.基于Android 平台的视频监控系统设计[J].计算机工程,2012,38(14):214-216.
[4]高西萍, 曾浩, 程瑶.iphone4手机视频监控系统的设计[J].电视技术,2012,36(3):48-50.
[5]杨玮, 吕科, 张栋, 等.基于 ZigBee 技术的温室无线智能控制终端开发[J].农业工程学报,2010,26(3):198-202.
[6]郭文川,程寒杰,李瑞明,等.基于无线传感器网络的温室环境信息监测系统[J].农业机械学报,2010,41(7):181-185.
[7]张京,杨启良,戈振扬,等.温室环境参数无线传感器网络监测系统构建与CC2530传输特性分析[J].农业工程学报, 2013, 29 (7) : 139-147.
[8]赵春媛,李萌,韩会山,等.基于ARM9的无线视频监控系统设计与实现[J].计算机工程与设计,2012,33(2):529-534.
耿恒山(1952— ),教授,研究生导师,主研嵌入式系统、嵌入式系统结构。
责任编辑:许 盈
Research of Video Monitoring System Based on Mobile Terminal
GENG Hengshan, CAO Pengfei,FAN Dongyue, GENG Yuehua, FU Kun, WANG Shaozuo
(SchoolofComputerScienceandSoftware,HebeiUniversityofTechnology,Tianjin300401,China)
Network video server mjpg_streamer is used in remote video monitoring,real-time monitoring by mobile phone or pad for a specific area and combine with GPRS technology to implement SMS alarm function。The mobile terminal can log on the Web server to remote control devices to take emergency measures by ZigBee network .System information processing center uses Cortex-A8core analyzer and process the information from the information collection center, PC and mobile terminal.Information collection center uses Cortex-M0core to achieve warning, collect information and authenticating.The experimental results indicate that the system has high sensitivity, high reliability and good market prospects.
network video; remote monitoring; mobile terminal; Web server; ZigBee network
【本文献信息】耿恒山, 曹鹏飞, 范东月,等.基于移动终端的视频监控系统的研究[J].电视技术,2015,39(3).
国家自然科学基金项目(31100711);河北省交通运输厅科学技术项目(Y2011087)
TP316
A
10.16280/j.videoe.2015.03.018
2014-04-14