基于Android手机的无线视频门禁系统应用研究
2013-08-13段利文
段利文
(重庆电子工程职业学院,重庆 401120)
责任编辑:任健男
视频门禁监控作为智能小区安全建设的一部分,对整个小区的安全化管理起着至关重要的作用,安全性、灵活性及低成本是视频门禁系统设计应重点考虑的因素[1]。将视频门禁系统与小区内的视频监控系统相结合,可以处一室之内而知整个小区的视频监控状态,真正体现智能化小区的优势。
本文是在现有视频门禁系统研究的基础上,将无线局域网作为主要通信方式,视频门禁系统与小区视频监控系统联动整合,并运用嵌入式开发技术和Android技术对基于手机平台的无线视频门禁系统应用进行研究,完成了基于无线局域网的手机视频门禁系统的开发与设计。用户除了简单的门禁开启外,还可以监控小区环境,查看小区任何摄像头,而且可以实现住户、访客、保安三方通话。既是门禁系统新的控制与监控方法,也是Android手机的新应用。
1 系统方案说明
1.1 无线局域网通信方式
当前小区视频门禁系统的通信方式及终端控制方式多样,最大众化的方式仍是采用有线布网方式,小区大门门禁系统与小区保安中心通过有线方式连接,楼栋门禁系统与各住户门禁终端通过有线方式连接,大门门禁系统与小区门禁系统之间各自工作,并无联系,而且网络固定。在终端控制方式,较普遍的是安装在住户大门墙上的门禁终端,通过查看楼栋门禁处的摄像头,然后开启门禁终端的开关或者通话按钮进行相关操作。
随着近年来无线通信技术的成熟,尤其是无线局域网(WLAN),凭借其高速率带宽和良好的网络稳定性在城市建设中得到了广泛的应用,而且现在大部分家庭网关设备也具有无线路由功能,入户光纤接入家庭网关后,通过无线的方式,家里所有终端设备通过家庭网关就可以接入Internet,非常方便,而且成本低。更重要的是WLAN建设已逐渐成为城市网络建设的一部分,大型城市的WLAN覆盖率均超过了50%,网络运营商也正努力加大全国城市的WLAN覆盖率。
与传统的有线视频门禁联网系统相比,无线视频门禁系统具有更高的灵活性,网络布置更加便捷,受小区地理环境的影响小,且成本较有线方式低,而且可以将无线视频门禁系统联网,实现远程监控,充分利用无线网络环境扩展门禁系统服务功能[2-3]。
1.2 Android手机门禁终端
传统的门禁终端普遍采用壁挂式,挂在屋内离大门不远的墙壁上,移动性较差,而且门禁终端成本较高,在功能方面,只是简单的可视化查看,门禁开启与通话,无法实现与小区视频监控联动,功能比较单一。
近年来以Android为平台的智能手机得到广泛应用,高处理器CPU及良好的开放平台给手机端应用软件提供了广阔的开发环境,Android手机客户端软件应运而生,比如购物网站客户端、银行手机客户端、在线学习客户端等纷纷涌入市场,利用手机的便捷特性实现掌上办公、学习与购物已经司空见惯,甚至车载系统也有所涉及[4]。正是在这样一种背景下,本文提出了基于Android手机的视频门禁终端客户端。
Android手机视频门禁系统充分利用手机硬件,采用Android开发平台,实现视频门禁系统的开启、小区视频监控、视频存储与抓图、语音通话等功能。该客户端配合楼栋视频门禁和大门视频门禁系统使用,可以方便实现门禁的查看与开启。而且客户连入Internet网远程也可以实现门禁系统开启与小区视频监控。
2 系统框架设计
总体而言,视频门禁系统主要分为3层,前端主要是安装在小区的所有摄像头设备和小区大门、楼栋门的可视化门禁系统,中间层是由嵌入式设备和服务器构成,用户端主要由Android手机构成,具体如图1所示。前端摄像头数据和门禁系统数据通过中间层的嵌入式设备进行数据处理和视频编解码后发送至服务器,服务器将所有监控数据和门禁数据做好备份并存储,而Android手机可以通过无线路由的WLAN方式和3G方式连入Internet与服务器进行通信,完成门禁系统的开启与小区监控视频的查看。
图1 系统总体架构图
前端的摄像头设备主要由DVR构成,每个设备分配一个IP地址,用于对小区的所有环境进行监控,而门禁系统主要由小区大门可视化门禁和楼栋可视化门禁构成,分别负责小区不同的大门和各楼栋的门禁。DVR摄像头和可视化门禁具体结构不再详述。
中间层的嵌入式设备除了由嵌入式处理器,存储器Flash、SDRAM,以太网、RS-232接口等嵌入式设备的基本模块之外,还扩展了无线收发模块及LCD屏。具体结构如图2所示。嵌入式处理器主芯片采用基于ARM9内核的i.MX27,它是一款具有高速率计算功能的多媒体处理器芯片,这样才能满足视频数据处理的要求。同时无线收发模块主要是和无线路由进行通信。
图2 嵌入式设备结构图
用户端主要是Android手机客户端完成,由于视频传输数据量较大,大多方式采用WLAN通信,节省流量成本且网络传输稳定,之所以要提出3G方式通信,是因为考虑到在某些不支持WLAN通信方式时,也可以采取3G来视频门禁的控制,以访问服务器方式实现门禁管理,打破了空间限制,远程也可以操作。而在安全方面,采用安全授权,普通用户只有门禁可视化和开启门禁功能,超级用户可以拥有权限查看小区所有监控摄像头。而不同的用户又通过无线局域网的WPA2-PSK加密,所以不同住户间只能使用自己的设备,同时也只有经过安全授权的用户才能登陆查看视频监控。
3 系统软件设计与实现
基于Android手机的无线视频门禁系统主要包括视频数据采集与处理模块、服务器管理控制模块、手机门禁客户端软件等3个部分。
3.1 视频数据采集与处理
视频数据采集主要由摄像头和可视化门禁网关完成,采集数据要发送至嵌入式网关,嵌入式设备对视频数据和门禁数据进行处理[5]。具体流程如图3所示。
嵌入式设备软件采用Linux操作系统作为开发平台,该系统具有强大的网络功能,通过RTP/RTCP网络协议,以及Web服务器HTTP传输协议,进行视频图像的传输。从图3可得,视频采集主要用到了ioctl()函数完成,Linux系统中Video For Linux 2已经提供了部分接口函数,对视频设备的基本操作已经足够。
视频数据采集后,从缓存队列中将数据取出并存放在指定内存区,然后就可以进行视频数据的编码,编码的目的无非是尽量压缩大量的视频数据流,尽可能少地占用存储空间,在视频压缩的过程中,必须保证视频数据质量在可允许的范围之内。
图3 视频采集流程图
编码方法比较多,本文采用JPEG编码方式,主要分成6个步骤:1)色彩模式转换与采集,将RGB三色转换成YCbCr色彩模式,而后采用YUV422进行采集数据;2)对光强数据进行DCT变换;3)将DCT变换后的频率系数进行量化;4)对量化的系数进行Z字形编排;5)运用熵编码、直流与交流系数编码;6)组建比特流。比特流组建后视频数据便可通过WLAN方式实现视频数据的传输。
3.2 服务器监控软件
服务器软件作为所有视频数据的汇聚节点,也是整个系统数据备份与转发的节点,对所有类型的前端设备进行集中式管理起着至关重要的作用[6]。服务器端软件具体结构图如图4所示。
图4 服务器软件结构图
中心服务器主要功能有:校时功能,可定时对前端设备进行校时;日志维护,根据设定的时间定时清理各种日志;用户验证功能,对系统中登录的各个模块进行合法性验证;数据定期备份,数据库每隔一定时间自动对数据进行本地备份。
注册服务器主要功能有:注册服务器分为前端接入和客户端接入,前端接入主要负责前端设备的接入和代理,接受和转发前端设备与中心平台的通信信令,客户端接入主要负责手机客户端与中心平台之间的会话。
Web服务器打包了 apache,mysql,php等服务器模块,运行BS管理系统和BS客户端网页,可以跨Linux和Windows平台。
流媒体服务器有流转发功能,解决设备(DVR/DVS/IPCAM)视频源的连接数限制,转发实时音视频数据,并支持多级转发功能,流媒体服务器可以支持多级转发。
存储服务器:定时录像功能,根据录像计划定时进行录像并存储。
3.3 Android手机客户端软件设计
手机门禁客户端软件功能模块如图5所示,主要分为门禁开启、图像浏览、实时监控、视频回放功能,为了方便系统个性化配置,还设置了系统设置功能。门禁开启主要有来访者视频查看,包括小区大门视频门禁和楼栋视频门禁的查看,还有语音通话及开启大门功能。实时监控主要是对小区的监控视频进行实时查看,包括视频小区不同摄像头的设备切换、视频图像全屏、视频录像和图像抓拍[7],以供历史查看。同时也可以对存储的图像和视频进行浏览与回放。
图5 手机端软件功能模块图
Android程序的项目架构比较清晰,一般程序的结构都分为 src,gen,res,AndroidManifest.xml等 4 个部分[8],具体结构如图6所示。
图6 Android应用程序基本结构图
src目录存放应用程序的源文件,主要作用是实现程序的基本功能,比如videorecv.java包含视频数据接收处理函数,imagesnap.java是图片抓取功能实现文件,syssetting.java是系统设置模块文件。每个java文件都各司其职,实现不同的功能,各java程序之间的参数传递一般用Intent来实现。
gen目录存储各种标识符,创建videoAccessSystem工程的时候此目录便自动生成了,在开发的过程中一般不需要更改。
res目录存放各种资源文件,包括图片文件、开发所需的背景文件、插图文件,本文用的绿色方格的主页背景文件 main.png 放在 res/drawable-mdpi文件夹下,layout文件存放的主要是界面文件,主界面main.xml,门禁查看accessview.xml,实时监控 videomonitor.xml,图像浏览 imagebrowse.xml,视频回放 videoplayback.xml,系统设置 systemsetting.xml均存放在该目录下,这种界面与功能java文件分开的方式结构清晰,便于开发。
AndroidManifest.xml主要完成各模块的配置,以及权限设置,比如门禁铃音提示,需要权限开启,在此文件中需要说明。
4 系统性能分析
打开视频设备,然后开启手机,打开连接方式配置,选择WLAN连接,打开手机门禁客户端软件,输入用户名和密码登录。
打开手机客户端后,主页显示有5个功能键,分别是门禁开启、实时监控、图像浏览、视频回放、系统设置,如图7所示。按手机菜单键,客户端隐藏主界面并在后台运行,一旦有门铃会有语音提示,客户端软件也会自动在状态栏提示,按一次手机的返回键提示是否退出该软件。
图7 手机门禁客户端主界面
实时视频查看可以查看小区的所有视频监控状态,本软件一页上有4个页面通道,每个通道对应的摄像头在系统设置里预先设置好页面对应的是小区的哪个摄像头,测试过程中只放了2个监控摄像头,因此只显示了小区的两处视频监控。测试证明,视频信息流畅,且放大缩小功能完备,同时可以对图片进行抓取和视频录像,这些数据都存放在SDCARD/MobileAccess文件夹下,方便导出。
门禁开启界面可以对小区门禁和楼栋门禁分别查看,图8是对小区的门禁进行视频查看,然后按门禁开启就能执行,这个操作必须有小区保安物业的授权码才能执行,而且门禁开启的日志记录都会存放在小区管理服务器上,语音对话方便用户与访客语音沟通。
图8 实时视频查看和门禁开启界面图
经过测试证明,手机视频门禁客户端基本功能均已实现,视频数据运行流畅,且门禁开启功能运行正常,数据备份快捷方便。
本文测试的节点数目较少,在摄像头较多且网络不稳定时,可能会出现视频数据传输不流畅的问题。在后续研究中,应考虑增加无线网络稳定性问题,合理布置AP节点,同时采取有效的流控措施来保证视频数据的可靠实时传输也是非常有必要的。
5 总结
本文根据视频门禁系统的实际需求,结合当前流行的手机客户端应用模式,开发了一款基于Android手机的无线视频门禁应用系统。该无线视频门禁系统灵活性好、可靠性高、实时性强,具有广阔的应用前景。而且此方案除了应用于智能小区之外,还可以扩展至其他应用场合,比如旅游景点、学校、酒店及写字楼等,根据实际需求,对该系统进行模块定制裁剪便可,该系统具有较高的扩展性与可重用性。
[1]IBRAHIM R,ZIN Z M.Study of automated face recognition system for office door access control application[EB/OL].[2012-10-20].http://www.lw20.com/20111104345468156.html.
[2]刘建斌,易灵芝,王根平.基于以太网互联接口的新型门禁系统[J].计算机测量与控制,2011(3):688-690.
[3]佟秋利,张慧琳,孙国光.基于CPU卡的大学门禁应用设计实施方案[J].计算机工程与设计,2011(4):1453-1457.
[4]高峰,毕经,郭景峰,等.汽车状态感知系统的Android客户端[EB/OL].[2012-10-20].http://www.cnki.com.cn/Article/CJFDTotal-QHXB2011S1003.htm.
[5]韩秋蕾,姚志军.联网式多通道门禁考勤系统的设计[J].计算机工程与设计,2010(14):3249-3253.
[6]邵明星.基于ARM的嵌入式门禁系统设计[D].北京:北京邮电大学,2011.
[7]梁笃国.网络视频监控技术及应用[M].北京:人民邮电出版社,2009.
[8]叶小榕,邵晴.基于Android平台的移动电子政务系统[J].科技导报,2011(21):27-30.