移动可视化智能监控系统
来源:国外电子测量技术杂志 更新时间:2014-06-18

 介绍了一种基于嵌入式技术和3G视频监控技术的可视化智能监控系统。该系统以嵌入式系统为前端设备核心,采用Web Server BOA+CGI技术实现远程控制,用流媒体服务器提供可视化视频监视,以搭载安卓系统的智能手机作为客户端,利用高速3G网络接收可视化图像数据和发送控制命令,实现移动可视化智能监控。系统完善了3G视频的控制部分和嵌入式远程控制系统的可视化监视部分。管理人员可以在任何时间、不同地点通过智能手机连接系统,对现场进行可视化监视和设备的数据采集、控制等操作,可满足一般家居、工厂的需求。
  随着通信技术网络和电子技术的发展,智能手机逐步进入智能家居、工业控制等领域。智能手机通过3G网络进行可视化监控,也称为3G视频监控,是目前研究热点,主要应用在安防、智能交通等方面,为用户提供警报、智能识别等监控功能。大多数3G视频监控系统在对现场设备的智能控制方面不够完善,不能按照用户需求控制特定的设备。目前人们开发的基于嵌入式的远程智能监控系统,是采用PC通过连接Internet访问嵌入式系统,获取设备状态信息和控制设备,而较少系统提供对现场直观的可视化监视。PC体积较大,不如手机携带方便,监控的地点受到限制。用智能手机作为监控终端,能使用户可以在有移动通信网络的地方进行监控。
  为此,本文研制了一种结合3G视频监控技术和嵌入式系统技术的移动可视化智能监控系统。系统完善了3G视频监控的控制部分和嵌入式远程控制系统的可视化监视部分,用户使用智能手机能在任何时间、不同地点进行可视化远程智能监控。
  1、移动可视化智能监控系统分析与设计
  智能控制系统,一般分为前端、数据处理服务终端、客户监控端3个部分,如图1所示。
130474709029719844_new.jpg (405×70)

图1 智能控制系统
  前端是测控设备的集合,一般是智能传感器、设备控制器、数据采集设备等。数据处理服务终端,是处理前端和客户监控端数据交互的中介,一般是单片机系统、嵌入式系统和PC等。客户监控端是通过网络监视和控制前端,通常是PC、智能手机等。在不同的系统中,主要有以下差异:
  1)前端采集数据和控制设备不同;
  2)数据处理服务端处理芯片和软件设计不同;
  3)客户监控端硬件和智能识别算法不同。
  移动可视化智能监控系统当前主要应用于智能家居、智能安防等方面。典型系统有如下两类:
  1)基于ARMLinux的嵌入式远程监控系统。该系统以嵌入式系统作为数据处理端,通过RS232/485总线与现场数据采集设备相连,采用Web服务器和视频服务器向PC监控端发送视频数据和传感器采集数据。监控端通过浏览器访问Web服务器,获取需要观察的现场视频图像和设备信息,并实现可视化的远程控制。PC作为监控终端,体积大,不方便携带,用户不能随时随地进行监控。
  2)智能手机远程监控系统。该系统数据处理终端选择PC,客户监控端(智能手机)通过GPRS连接Internet访问数据处理端PC。PC对前端视频图像用MJPEG算法进行数据压缩,当客户端接入PC时,接收来自PC的压缩数据包,解码并显示视频图像。系统实现了远程可视化监控。但是基于GPRS网络传输数据,限制了图像的质量,现场图像和监控图像间延迟较高,而且服务端使用PC,成本较高,资源得不到充分利用。
  通过上述系统各方面的分析与实际需求,研制了一种移动可视化智能监控系统,系统框硬件图如图2所示。其数据处理终端使用嵌入式系统,充分利用其接口资源,有较高性价比。前端数据采集使用模拟摄像机和传感器。客户监控终端选择搭载Android 4.3操作系统的智能手机,方便用户携带和监控。
130474709643754965_new.jpg (421×120)

图2 移动可视化监控系统
  2、系统主要硬件电路设计
  2.1嵌入式系统设计口
  系统的硬件核心是数据处理服务端,采用嵌入式系统。嵌入式系统核心处理器是达芬奇的DM6446双核处理器,拥有1 GB32位的DDR内存、LAN接口、SD卡插口、IO通用接口和视频、音频输入输出接口等。嵌入式系统是整个系统中数据处理的核心,视频数据输入接口,用于采集前端模拟摄像机的视频数据。IO通用接口则提供可以通过软件编程的方式实现远程控制和采集传感器数据。LAN网络接口连接Internet,与客户端进行数据交互。嵌入式模块搭载Linux操作系统,提供数据处理服务端软件的设计平台。嵌入式系统电路框图如图3所示。
130474710061728872_new.jpg (485×310)

图3 嵌入式系统电路
  2.2设备控制模块设计
  设备控制模块采用STC51单片机为核心的无线红外收发模块,通过监听标准10口输入数据,驱动无线红外线收发模块,读取存储的红外编码数据,发送编码信号控制设备(电视、空调等)。设备控制模块软件可以在Windows平台进行开发。设备控制模块电路框图如图4所示。
130474710061728872_new.jpg (485×310)

图4 设备控制模块
  3、系统软件设计
  系统软件设计主要包括嵌入式系统软件和客户终端软件2大部分。嵌入式系统软件主要实现采集数据、连接Internet与客户端数据交互、控制设备等功能。客户终端软件利用3G网络连接Internet实现接收数据、显示可视化图像、发送控制信令等功能。
  3.1嵌入式系统软件设计
  根据嵌入式系统和客户终端通过Internet实现数据交互的功能,嵌入式系统软件设计以服务器的形式让客户终端访问嵌入式系统进行数据交互。在嵌入式服务器中,流媒体服务器能让客户终端接收经过编码压缩的视频数据。Web服务器则能接收用户发送数据、反馈设备控制信息和调用嵌入式系统的应用程序。因此,编写嵌入式系统应用程序,结合流媒体服务器和Web服务器,可以实现嵌入式系统所设计的功能。
  综上所述,嵌入式系统软件设计是在嵌入式系统中搭建Linux操作系统,在操作系统上搭建流媒体服务器和Web服务器,前者将嵌入式应用程序采集编码压缩的数据提供给客户终端访问接收,后者则接收客户终端发送的控制命令,调用CGI程序,分析控制命令并控制设备,实现数据处理终端的功能。嵌入式系统软件流程图如图5所示。
130474710788890463_new.jpg (445×344)

  3.2客户监控终端软件设计
  客户监控终端是搭载开源Android系统的智能手机。设计客户终端连接嵌入式系统服务器,获取视频编码数据并解码进行可视化监视,模拟浏览器提交表单控制命令数据到嵌入式系统web服务器,实现可视化远程控制。因此,客户终端软件设计即是开发APK(Android应用程序)。
  APK开发需要搭建开发环境,开发环境搭建主要步骤如下:
  1)安装JDK;
  2)安装Eclipse;
  3)在Eclipse安装ADT(Android开发插件);
  4)下载安装Android SDK、NDK。
  在Android开发环境中编译VLC—Android开源项目,获得适用于Android系统的VLC解码库。APK启动3G网络连接Internet,初始化VLC解码库,解码数据显示监控视频图像,调用Apache HTTP网络函数库发送POST请求提交表单数据,完成监控。客户端软件设计流程图如图6所示。
客户端程序设计流程 放大图片
  Android APK是采用JAVA编程语言开发的,客户端发送P0sT请求部分软件代码如下:
  httpRequest=new HttpPost(URL);
  httpRequest.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));
  代码中URL是指Web服务器中接收POST请求的CGI程序地址,params是POST请求的数据名和值的封装数据,通过HTTP.UTF_8编码请求数据并发送到目标URL。实现远程监控的控制部分功能。
  4、系统测试
  完成上述所有工作后,整合系统各部分并进行测试,测试结果如图7所示。130474711146880939_new.jpg (437×410)

图7 系统测试结果
  在无线局域网条件下,现场图像到客户终端的显示图像之间有2s,上下浮动0.5s的延迟,客户终端接收服务器响应信息延迟约为1s。根据测试结果,表明系统符合课题的设计需求,可以在有可视化智能监控需求的情况下应用。
  5、结论
  通过分析研究目前智能监控系统存在的问题,研制了一种结合嵌入式技术和Android应用开发技术的移动可视化智能监控系统。系统完善了3G视频监控的控制部分和嵌入式远程控制系统的可视化监视部分,实现了使用智能手机通过网络进行视频监视和设备控制。该系统可以应用到普通家庭、工厂、水坝等多种不同的场合,用户不受时间、空间限制即可监控现场。但是由于不同的场合控制设备不尽相同,所以未来系统的研究方向在于以最小系统为基础,前端可控接151的2次开发,使系统适用于更多的场合。