APP下载

基于B/S 模式的视频监控系统软件设计与实现

2015-12-23林天亮邵文涛

实验室研究与探索 2015年9期
关键词:浏览器应用程序嵌入式

林天亮, 邵文涛

(东北大学a. 计算中心(网络中心);b. 信息科学与工程学院,辽宁 沈阳110819)

0 引 言

伴随着时代的进步和人类生活水平的不断提高,视频监控报警[1]成为了家庭安防的一个越来越广泛的需求。传统的家庭视频监控报警系统结构复杂,无法联网,监控端软件操作繁琐,查寻困难等特点难以赢得人们的青睐。

近些年来出现的C/S(Client/Server)模式[2]的视频监控系统是对传统的监控的一大改进,它采用专用的客户端软件,可通过客户端软件进行对被监控端的监看或者控制。但这需要专门的客户端安装程序,不能针对随时随地不同的用户群体,兼容性差,不能够实现快速部署安装和配置,具有较大的局限性。

本文设计了基于B/S(Browser/Server)模式[3]的嵌入式智能视频监控报警系统,该系统使用户不受时间和地点的限制,在使用宽带网络的基础上提供图像、声音和各种报警信号。用户不需要特殊的软件,只需要打开浏览器就可以对监控目标进行实时监控、监督管理与录像存储,当传感器检测到异常情况发生时,系统也可通过事先设置好的报警模式,通过电话网络、移动通信网络或者Internet 网络将报警信息传送给定制用户,并对异常情况进行录像抓拍。

1 B/S 结构系统

B/S 结构,即浏览器/服务器结构,它是随着Internet 技术的兴起,对C/S 结构的一种变化或者改进。在这种结构下,用户工作界面是通过WWW 浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。B/S 结构,主要是利用了不断成熟的WWW 浏览器技术,结合浏览器的多种script 语言(VBscript、Javascript)和ActiveX 技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术[4]。

B/S 结构和C/S 结构的区别与联系如表1 所示。通过表1 比较可知,对于安全性要求较高、操作范围较小的网络一般采用C/S 结构,但系统的改进和升级比较困难。B/S 结构基本上只需要管理服务器就可以了,所有的客户端只是浏览器,几乎不需要任何客户端的维护,升级只需要在服务器端就可以了。B/S 结构成为了以后系统结构发展的潮流,由于本系统主要是为了实现远程视频监控和用户操作的简单性,拟采用B/S 结构。

表1 B/S 结构与C/S 结构区别与联系

2 系统软件设计

本系统主要是基于B/S 模式的视频监控报警系统,客户端主要是采用浏览器的方式进行视频信息的监控或者对云台的控制。在这种结构下,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,所以系统的整个软件实现部分几乎都是在服务器端设计与开发的。

本系统是在整个Linux[5]的基础上构建的,主要包括两部分:Linux 操作系统模块软件和应用程序模块软件。Linux 操作系统除了系统Bootloader、内核、文件系统外主要是摄像头驱动、网络驱动、USB 驱动[6]等驱动程序和相应的网络传输协议程序;而应用软件则主要是由图像视频采集、视频存储、Web 服务器[7]应用软件、SQlite 数据库[8]应用软件、CGI 程序、视频流网络发送程序、网站的搭建、网页的编写以及报警信号处理程序等组成。整个系统的软件架构如图1 所示。

图1 系统软件总体结构图

2.1 Java applet 程序设计

Java Applet 就是用Java 语言编写的一些小应用程序,它可以直接嵌入到网页中产生特殊的效果[9]。本论文的设计是基于B/S 模式的视频监控系统,主要在浏览器下观看视频信息。但所有的网页并不具备视频播放的功能,所以必须加上相应的Flash player[10]等具有播放功能的软件协议才可实现视频观看。而Java applet 就是嵌入到网页中具有视频播放功能的应用程序。当用户在浏览器端通过HTTP 协议访问Web 服务器时,Applet 小程序被下载到用户计算机上执行,这样就使得用户端简单方便,只要安装浏览器就可实现视频监控。

2.2 表单的程序设计

在HTML 中,表单(Form)[11]是最主要的传递信息的手段,它的元素包括按钮、输入文本框、单选框、复选框、多选框等[12]。用户的所有操作均是在浏览器的网页中进行,用户除了观看视频外还可通过页面进行控制,比如通过控制云台的移动来调整视频的监控范围。这些表单通过CGI 程序连接到后台去执行。

2.3 嵌入式Web 服务器设计

嵌入式Web 服务器以TCP/IP 协议栈[13]为基础构建,需要实现HTTP、TCP 和UDP 等协议,赋给服务器相应的IP 地址,通过网络就可以将设备接入Internet。任何一个客户机,都可以通过HTTP 协议与嵌入式Web 服务器建立连接[14]。在嵌入式Linux 环境下,主要有3 个Web 服务器:httpd、thttpd 和Boa。httpd 是最简单的一个Web 服务器,它的功能最弱,不支持认证,不支持CGI。如果Web 服务器仅需提供一些静态页面,例如简单的在线帮助、系统介绍等,完全可以用静态服务器httpd 来实现。thttpd 和Boa 都支持认证、CGI 等,功能都比较全。若需提高系统的安全性,或需要与用户进行交互,例如数据查询、实时状态查询等,则必须使用动态Web 技术,Boa 相比thttpd 而言,功能比较齐全,更支持以后的扩展[15]。本系统中采用Boa 来实现嵌入式Web 服务器。本系统嵌入式Web 服务器的体系框图设计如图2 所示。

图2 嵌入式Web 服务器系统架构图

2.4 应用层程序设计

基于B/S 模式的视频监控报警系统主要是通过启动嵌入式Web 服务器中的CGI 应用程序[16]来实现的。开启Web 服务器后,服务器会等待客户端的连接请求,如果有客户端连接请求,服务端系统将不断进行实时视频数据采集、压缩处理等其他操作,将相应的视频信息传送给客户端进行观看。并且当传感器检测到有报警触发信号时,传感器将会通过外部中断启动视频录制程序,录制的视频数据将会自动保存在U 盘中。该应用程序主要包含:登陆界面的验证、图像采集、图像传输、视频的录制、云台的控制等。为了使这几部分能同时运行,提高效率,本系统采用了多线程编程实现。

3 系统软件调试

软件部分调试主要分为:底层系统软件和应用程序调试,其中底层软件调试主要是为各硬件电路提供驱动,应用程序则是实现系统功能。

由于嵌入式系统本身资源的缺乏,Linux 通常采用宿主机+目标机的交叉调试方式。在主机上编辑、编译软件,然后在目标板上运行验证程序。宿主机是安装有嵌入式Linux 开发环境的PC 机,可以利用它强大的功能资源高效地完成目标系统的开发。在前面的硬件调试好之后,就可以将我们制作好的Bootloader、Linux 内核以及包含应用程序的跟文件系统下载到目标板上。用交叉网线把目标板通过交换机连到互联网上。用户要在远程的PC 机上的浏览器上实现视频图像数据控制。

调试好整个系统应用程序后,把之前所设置好的网页放入嵌入式Web 服务器中,运行应用程序,在PC上打开浏览器输入所设置的目标板的IP 地址:202.118.11.10,就可以进入视频监控主页,点击“欢迎进入东北大学视频监控报警系统”并输入用户名“NEU_HARD”和密码“123456”就可浏览视频监控页面,如图3 所示。

图3 监控页面

4 结 语

本文根据目前家庭安防行业的需求和网络通信技术的快速发展,提出并设计出了一种基于B/S 模式的视频监控报警系统的软件系统,客户端主要是采用浏览器的方式进行视频信息的监控或者对云台的控制。本系统具有体积小巧、性能稳定、操作简单、可维护性强等优点。实现了在浏览器端就可对家庭环境进行实时监控以及报警触发视频录像的功能。

[1] 徐 力. 视频监控系统的现状和发展趋势[J].信息技术与信息化,2005(4):60-62.

[2] XIAO Cuihan. Design of instant communication system based on B/S and C/S[C]∥2012 IEEE International Conference on Service Operations and Logistics,and Informatics (SOLI),2012(20):26.

[3] 李 广. 基于B/S 模式的嵌入式监控平台设计与实现[J]. 武汉理工大学学报,2009,31(1):30-33.

[4] YAN Cao, YANG Lina, YANG Yanli. Three-Layer EPR Management System Architecture and Development Based on B/S Mode[C]∥2012 International Symposium on Information Science and Engineering,2012:208-211.

[5] Saranya N,Hansdah R C. An implementation of partitioned scheduling scheme for hard real-time tasks in multicore Linux with fair share for Linux tasks[C]∥2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications,2014:1-9.

[6] Youngjin Nam,Dongchul Park,Du D H C. Virtual USB drive:A key component for smart home storage architecture[C]∥2012 IEEE International Conference on Consumer Electronics,2012:23-24.

[7] Limpraptono FY, Ratna AAP, SudibyoH. Remote laboratories multiuser based on embedded web server[C]∥Remote Engineering and Virtual Instrumentation (REV),2012 9th International Conference on,2012:1-7.

[8] Zhang Jiawen,Wang Xiangdong, Li Shujiang. The Embedded Greenhouse Control System Design Based on Qt and SQLite[C]∥Intelligent Networks and Intelligent Systems (ICINIS),2013 6th International Conference on,2013:47-50 .

[9] 何 梅. Java Applet 编程实例[M]. 北京:清华大学出版社,2003:72-86.

[10] Emigh J. New Flash player rises in the Web-video market[J].Computer,2006,39(2):14-16.

[11] Liang Tang,Tao Li,Yexi Jiang,Zhiyuan Chen. Dynamic Query Forms for Database Queries[J]. IEEE Transactions on Knowledge and Data Engineering,2014,26(9):2166-2178.

[12] 庆秋辉. 网页制作教程与上机实训[M]. 北京:机械工业出版社,2006:88-93.

[13] MIN Xiang,LING Luo,PING Wang,Jianjun Huang. Design of simplified TCP/IP protocol stack for electricity information acquisition test system[C]∥2013 International Conference on Measurement,Information and Control,2013(1):12-16.

[14] LI Quanxi,LIU Peiqian,LI Changyou. Research on Embedded Video Monitoring System Based on Linux[C]∥ICCET '08 International Conference on Computer Engineering and Technology,2009:478-481.

[15] 杨 念,李 峰. 基于B/S 的嵌入式视频监控系统的设计与实现[J].计算机工程与设计,2008,29(21):5576-5579.

[16] Sahu M. Mohapatra D P. Data Flow Testing of CGI Based Web Applications[C]∥2014 International Conference on Information Technology,2014:106-111.

猜你喜欢

浏览器应用程序嵌入式
删除Win10中自带的应用程序
反浏览器指纹追踪
谷歌禁止加密货币应用程序
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
环球浏览器
Altera加入嵌入式视觉联盟
倍福 CX8091嵌入式控制器
三星电子将开设应用程序下载商店
微软软件商店开始接受应用程序