标题 | 基于Web的猪舍远程监控系统设计与实现 |
范文 | 王雪亮 高惠芳 李小龙 摘要:为了实现对养猪场的智能化管理,设计并实现了基于Web的远程监控系统。系统使用MyEclipse作为开发工具,MySQL作为数据库,Tomcat作为Web 服务器,在Spring、Hinernate、Struts2三大框架基础上开发完成。用户通过浏览器访问系统,可查看猪舍内的视频监控和环境参数,并发送控制指令控制下位机以调节环境参数,从而实现对猪场的实时监控管理。 关键词:Web远程监控;视频监控;ActiveX插件;环境参数 DOIDOI:10.11907/rjdk.172398 中图分类号:TP319 文献标识码:A文章编号文章编号:16727800(2018)003010004 英文摘要Abstract:In order to realize the intelligent management of pig farm, a remote monitoring system based on Web is designed and implemented.The system uses MyEclipse as a development tool, MySQL is used as a database and uses Tomcat as a Web server to be developed on the basis of the three major frameworks of Spring, Hinernate, and Struts2. Users visit the system through browser to check the video monitoring and environmental parameters in the piggery, and send control commands to control the environment parameters of the lower computer, so as to realize the realtime monitoring and management of pig farms. 英文关键词Key Words:Web remote monitoring; video surveillance; ActiveX plugin; environment parameters 0引言 猪舍环境对生猪的生长、繁殖和健康起着重要作用,针对大规模养殖中猪舍环境恶劣的现象,本文设计了一种基于Web的猪舍环境远程监控系统[13]。此系统包括现场环境参数监控[4]和视频监控,其目的在于创造一个适宜的猪舍环境,同时方便顾客了解猪场生猪饲养情况,让大家吃上放心猪肉。 如今大多数解决方案都是基于C/S结构设计的,用户只有在特定位置并且打开专用客户端才能查看猪场环境。B/S(浏览器/服务器)架构是随着Internet的兴起,对C/S(客戶端/服务器)结构的一种改进。B/S架构分为三层结构:表示层、应用层、数据层。表示层负责用户事务的显示,应用层负责对用户的操作进行事务处理,数据层为应用层提供相应数据。利用B/S架构可以在任意一台可接入互联网的计算机上实现猪场环境的远程监控。系统实现了环境参数和视频监控的显示,解决了只显示单一环境参数的问题[56],从而使用户对猪场有更直观的了解。 网页部分包括登录页面、当前环境参数显示和控制页面、历史数据查询页面、视频监控页面。每个猪舍都安装了摄像头,每个摄像头对应的IP、端口都保存在数据库中,用户可以根据需要在前端页面进行摄像头的切换。为了实现无刷新下的数据更新,Web前端采用Ajax异步数据交互技术与服务器进行通信。利用监控摄像机提供的SDK开发出ActiveX控件[7],并将控件嵌入到网页中,以供在浏览器端进行视频监控显示。 现在基本上所有的PC客户端都安装有浏览器,所以将前端监控设备的监控视频传输到Web服务器上,由用户通过浏览器进行访问,获取视频监控的数据[89],则不需要单独在客户端安装软件。同时对于视频播放控件的更新,只用将更新后的控件放在Web服务器上,浏览器则会对用户进行提示,用户确定后浏览器即会自动下载安装更新到本地客户端,减少了用户操作步骤,提升了用户体验。 1系统设计 1.1系统功能模块设计 系统的功能模块划分为4部分,如图1所示。 (1)用户管理。实现了系统的用户登录认证工作以及对于不同用户的角色权限管理工作。一般用户不用注册,直接访问监控页面即可;管理员账户需要注册、登录才能访问控制页面,并可以查看有权限要求的摄像机。 (2)实时监控。实现从前端监控设备获取视频监控信号,提供实时视频监控的查看功能。根据IP、端口调用对应摄像机,查看不同猪舍的监控视频;将前端监控设备的监控视频传输到Web服务器上,网页嵌入ActiveX控件,通过接口调用由用户通过浏览器进行访问;还可根据需要添加、删除摄像机。 (3)环境参数显示。主要实现的功能是当前数据的实时显示,需要显示的数据包括温度、湿度、光照强度、二氧化碳浓度、氨气浓度和硫化氢气体浓度,并将历史数据以曲线图形式直观地呈现给用户。 (4)控制部分。能够在网页上远程控制现场设备的开启,控制模式分为手动和自动两种模式。 1.2系统总体结构设计 系统总体框架如图2所示,本系统运用了主流的MVC软件开发模式和JavaBean+Struts2+Spring+Hibernate+Jsp系统架构。采集的数据能够动态、实时地显示在页面上,同时在网页上实现监控视频的实时显示,在数据库录入摄像机的IP和端口实现摄像机切换。系统在正常工作的情况下,能够在网页上查看历史数据,并将历史数据以曲线图形式直观地显示出来,以便更好地掌握猪舍环境的变化。 2系统实现 本系统为实现客户端使用浏览器访问Web服务器功能,使用了B/S模式。客户机使用浏览器访问部署在服务器上的平台系统,按提示下载CA认证根证书并安装。浏览器自动将ActiveX控件下载安装到客户端。安装完毕后,用户即可通过该控件与视频监控前端通信,获取实时视频监控信息,从而实现相关功能。本系统使用的前端监控设备为海康威视公司生产的监控设备。该设备带有配套的视频监控存储服务器和相关功能的SDK包,本系统只需根据该SDK包进行二次开发,编写ActiveX控件调用其SDK包中的接口方法,即可获取该前端监控设备上的监控视频信号实现实时预览,之后在Web页面上的相应位置嵌入ActiveX控件代码。 2.1视频监控模块实现 因为本系统视频实时监控模块终端采用的是海康威视的设备,所以AetiveX控件的开发都是直接调用该公司提供的SDK包内的各种接口函数,ActiveX控件的执行流程如图3所示。 浏览器在解析页面时,如果发现有ActiveX控件的嵌入代码,会检查ActiveX控件的安全性,如果安全,则会提示用户下载该控件,下载完成后即按照与控件打包在一起的控件安装文件INF的指示进行安装。页面中嵌入ActiveX控件的代码为: var humid=msg.huanjingcanshulist[0].humid; var light=msg.huanjingcanshulist[0].light; var co2=msg.huanjingcanshulist[0].co2; var h2s=msg.huanjingcanshulist[0].h2s; var nh3=msg.huanjingcanshulist[0].nh3; MYM("#temp").val(temp); MYM("#humid").val(humid); MYM("#light").val(light); MYM("#co2").val(co2); MYM("#h2s").val(h2s); MYM("#nh3").val(nh3);}, error:function(){alert("查詢失败!");}}); } 监控视频的查看则调用嵌入页面的ActiveX控件实现。在查询历史环境页面输入框输入开始时间与结束时间,点击查看历史数据时,Ajax和后台通信查询这段时间的历史记录,利用Struts2的Struts2jsonPlugin.jar插件返回JSON数据,前端页面fusioncharts框架利用返回的JSON数据绘制曲线图,使用户能直观地查看这段时间内的猪场环境。服务器端查询并返回JSON数据代码如下: List |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。