论文部分内容阅读
【摘 要】本文提出了基于嵌入式 Linux 的网络监控系统的设计方案,构建一个实用的、低成本的、扩展性强且灵活高效的嵌入式网络监控系统,可应用在智能化住宅安全系统,用户可以通过以太网访问嵌入式Web服务器来获得网络摄像机的监控图像。
【关键词】嵌入式系统;Linux;监控系统;网络控制
随着生活水平的不断提高,人们对于家庭住宅的安全意识也不断提高,视频监控系统正是计算机技术与传统建筑产业相结合的产物。作为安全防范系统的重要组成部分,视频监控系统是一种具有较强防范能力的综合性系统。视频监控系统以其直观性、易用性、信息处理量大而频繁应用于多种场合,在信息数字化的今天,受到越来越多的重视和关注。随着现代电子计算机科学技术在网络带宽、计算机处理能力和存储容量等能力上突飞猛进,各种视频信息处理技术的发明,视频监控技术发展迅猛,特别是嵌入式技术的发展,基于嵌入式技術的远程网络视频监控,取代传统的视频监控系统,在智能化、可靠性和节能上都有了极大提升,而且信息处理快,质量高。
1 监控系统总体设计
1.1 设计目标
本系统拟针对智能型住宅环境进行监控,通过安装在住宅各个区域的网络摄像机采集图像信息,一旦某个区域内有动作发生,服务器便开始采集图像信息,通过局域网或因特网用户即可在智能终端(如智能手机等)设备上查看发生动作区域内的摄像机的状况,也可以查看指定网络摄像机的实时图像和历史图像。本系统需要满足以下几个功能:
(1)网络通信。实现与摄像机的网络通信,包括局域网和因特网。
(2)图像数据采集。实现图像信息的采集、处理、传输、存储等操作,包括图像存储、图像信息分析等。
(3)历史图像数据的维护。实现对历史图像的处理,对设定时间段内的图像进行索引处理,对超出时间段的图像进行备份和删除处理。
(4)前端表示画面。实现系统与用户的交互,通过浏览器发送指令,系统处理之后能够给出相应图像(实时图像或历史图像),前端操作简易,图像显示清晰且流畅。
1.2 技术路线
本系统的硬件核心是ARM9系列微处理器,操作系统为嵌入式 Linux系统,构建嵌入式Linux系统服务器来实现对网络摄像机的管理,控制网络摄像机采集图像信息,将处理后的信息通过系统内置的Apache Web服务器,向用户提供可以实时查看图像及历史图像回放的功能。系统的整体为B/S结构,系统构成图如图1所示[1]。
1.3 硬件设计
本系统的主要硬件模块包括:基于ARMv4T体系架构的ARM920T系列处理器、FLASH、SD-RAM、电源模块、以太网控制器、RS232C等。具体硬件构造如图2所示。
处理器采用S3C2410处理器,是一个内含 ARM920T 处理器核心,0.18um制造工艺、32位RISC微控制器,支持从本系统采用的NAND Flash启动[2]。
1.4 软件设计
嵌入式操作系统是整个嵌入式系统的核心,我们采用 B/S 结构,构建嵌入式系统作为服务端,用Web浏览器作为系统的客户端界面。本系统采用组件化的设计思想,应用对象技术于系统设计,进一步的抽象化了面向对象的程序设计的实现过程[3]。我们可以通过不断的添加功能组件来扩展系统的其他功能,同时每个组件也都可以进行修改以删除或添加相应的功能,以满足客户提出的不同需求以及不同客户提出的需求,因此,此系统的扩展性很强,同时也具备进一步的二次开发和持续开发的可能性。系统的整体架构如图3所示。
本系统的各个组件之间的通信采用不同的方式,而且进程与进程之间的通讯由各个组件内部提供,这样可以达到隐藏监控系统内部通信方式的目的,更进一步的保护信息安全。其中:通过FIFO动态库接口来实现进程间消息传递;以Socket动态库接口来实现与网络摄像机的通信;以共享内存的方式来实现与CGI的通信;以文件的方式,实现图像信息的传递[4]。
1.4.1客户端软件功能介绍
Web/CGI模块的功能是解析用户通过Web浏览器发出的请求,根据请求由服务端相应的模块取得需要标识的数据,将取得的数据返回给浏览器。可以解析的请求包括网络摄像机基本信息、最新动作检测图像、最新动作图像的附加数据、实时快照图像、实时快照图像的附加信息、指定索引的历史图像、保存的历史图像数、网络摄像机的配置信息等。
网络摄像机管理模块的内部处理部分包括:初始化信息,终止信息和外部API消息的发送/接收处理。进程初始化包括处理包括:IPC资源的申请和初始化、根据配置文件更新共有内存、根据网络摄像机索引文件更新共有内存、打开管理用FIFO、生成网络摄像机监视进程等。终止信息包括关闭管理用FIFO和释放IPC资源等;当接收到外部API发送的信息时,判断消息类型,根据消息类型(分为两类:1.实时图像请求;2.网络摄像机动作通知)作对应的处理(对应两类消息的处理方式分别是:1. 检查网络摄像机ID值的范围,然后取得网络摄像机的实时图像,存入共有内存返回给 CGI调用者;2. 根据网络摄像机的IP地址在配置信息中查找网络摄像机的ID[5]。生成对应 ID 的网络摄像机的动作处理线程)后,向对应的外部返回信息(对应于两类消息的返回信息分别是:1. 实时图像;2. OK)。
网络摄像机管理模块的外部处理部分包括:①打开项目:需要先调用打开对象对应的函数以打开系统资源,才能使用网络摄像机管理对象提供的接口;②关闭项目:需要在结束使用网络摄像机对象提供的接口之后,调用关闭项目对应的函数关闭系统资源;③获取网络摄像机的配置信息:这个函数其中有一个OUT型参数,是一个结构体指针,其中包含网络摄像机的编号、网络摄像机的类型、网络摄像机的IP、网络摄像机认证情报、网络摄像机名称等字段,在调用成功的情况下,返回数值0;调用失败的情况下,返回数值-1;④获取网络摄像机的通信状态:这个函数其中有一个 OUT 型的无符号字符型参数,在调用成功的情况下,返回数值0;调用失败的情况,返回-1;⑤获取网络摄像机的最新动作图像:这个函数拥有4个参数,分别是网络摄像机的 ID、图像指针、图像的时间指针、图像的长度指针。在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑥获取网络摄像机的历史图像,这个函数同样也有4个参数,分别是网络摄像机的ID、图像索引、图像的指针、图像的长度指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑦获取网络摄像机的历史图像张数,这个函数拥有2个参数,分别是网络摄像机的 ID和图像的张数指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑧获取网络摄像机的指定时间带的历史图像的张数,这个函数有3个参数,分别是网络摄像机的ID、开始时间、张数,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑨获取网络摄像机的实时图像,这个函数有3个参数,分别是网络摄像机的ID、图像指针和图像的长度,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑩获取网络摄像机的指定时间带的历史图像的张数,这个函数有2个参数,分别是网络摄像机的 ID和图像附加信息结构体指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1。 1.4.2客户端软件功能介绍
客户端采用浏览器的形式提供给客户,基本表示画面以 HTML5、CSS3、jQuery、Ajax、jQuery Mobile等开发,即可以满足智能终端的要求也能满足PC机的要求,实现了与平台的无关性[6]。包括最新图像显示和歷史图像查询,合理安排画面动作和布局,包括图片预览,画面切换,放大缩小等功能。
1.5 测试结果
为了及时发现在程序里的隐藏缺陷,分析原因,有针对性的对这些缺陷来进行修正,使系统达到一个相对稳定的状态,尽可能减少错误的发生,我们对系统的每一个组件涉及到的每一个项目都进行了一个相应的测试。这些测试中的主要项目是获取实时图像和获取历史图像这两个测试,测试过程中,均达到了预期的效果,很好地实现了既定的系统功能。根据测试结果得出结论,本系统相对稳定,基本上达到预期的效果,满足了客户的相应需求。
2 结论
本文针对视频监控在家庭领域应用的具体要求,提出了基于嵌入式Linux技术的视频监控方案,有机的结合了嵌入式技术、网络通信技术及智能监控技术,实现了一个简单易用、成本低廉、扩展性强的高效率嵌入式网络监控系统。为了保证了封闭和开放与效率之间的平衡,采用模块化来设计整个系统,各模块的选择和组合可以用来满足各种不同定制的需求,更有利于系统的移植和升级。通过对系统的各功能模块的全面测试,证明了本系统运行稳定可靠、操作方便,对网络监控在家庭住宅安全领域的广泛应用有着非常积极的意义。
参考文献
[1]徐叶,袁敏,李国军.嵌入式Web服务器远程监控系统的设计与实现[J].计算机与现代化,2013(02):125-126.
[2]刘川来,范坤,张俊晶.基于嵌入式以太网的热电厂数据监控系统的设计[J].青岛科技大学学报(自然科学版),2013(01):278-279.
[3]张文明.电力企业机房环境监控在嵌入式技术方面的运用[J].电子世界,2012(24):65-66.
[4]王晓红.基于嵌入式Web服务器的远程家居监控系统[J].电脑开发与应用,2012(11):137-138.
[5]田洪生.基于嵌入式Linux的网络视频监控系统的研究[J].知识经济,2012(22):361-362.
[6]周涛.基于嵌入式平台的采油现场终端监控系统[J].油气田地面工程,2012(11):289-290.
【关键词】嵌入式系统;Linux;监控系统;网络控制
随着生活水平的不断提高,人们对于家庭住宅的安全意识也不断提高,视频监控系统正是计算机技术与传统建筑产业相结合的产物。作为安全防范系统的重要组成部分,视频监控系统是一种具有较强防范能力的综合性系统。视频监控系统以其直观性、易用性、信息处理量大而频繁应用于多种场合,在信息数字化的今天,受到越来越多的重视和关注。随着现代电子计算机科学技术在网络带宽、计算机处理能力和存储容量等能力上突飞猛进,各种视频信息处理技术的发明,视频监控技术发展迅猛,特别是嵌入式技术的发展,基于嵌入式技術的远程网络视频监控,取代传统的视频监控系统,在智能化、可靠性和节能上都有了极大提升,而且信息处理快,质量高。
1 监控系统总体设计
1.1 设计目标
本系统拟针对智能型住宅环境进行监控,通过安装在住宅各个区域的网络摄像机采集图像信息,一旦某个区域内有动作发生,服务器便开始采集图像信息,通过局域网或因特网用户即可在智能终端(如智能手机等)设备上查看发生动作区域内的摄像机的状况,也可以查看指定网络摄像机的实时图像和历史图像。本系统需要满足以下几个功能:
(1)网络通信。实现与摄像机的网络通信,包括局域网和因特网。
(2)图像数据采集。实现图像信息的采集、处理、传输、存储等操作,包括图像存储、图像信息分析等。
(3)历史图像数据的维护。实现对历史图像的处理,对设定时间段内的图像进行索引处理,对超出时间段的图像进行备份和删除处理。
(4)前端表示画面。实现系统与用户的交互,通过浏览器发送指令,系统处理之后能够给出相应图像(实时图像或历史图像),前端操作简易,图像显示清晰且流畅。
1.2 技术路线
本系统的硬件核心是ARM9系列微处理器,操作系统为嵌入式 Linux系统,构建嵌入式Linux系统服务器来实现对网络摄像机的管理,控制网络摄像机采集图像信息,将处理后的信息通过系统内置的Apache Web服务器,向用户提供可以实时查看图像及历史图像回放的功能。系统的整体为B/S结构,系统构成图如图1所示[1]。
1.3 硬件设计
本系统的主要硬件模块包括:基于ARMv4T体系架构的ARM920T系列处理器、FLASH、SD-RAM、电源模块、以太网控制器、RS232C等。具体硬件构造如图2所示。
处理器采用S3C2410处理器,是一个内含 ARM920T 处理器核心,0.18um制造工艺、32位RISC微控制器,支持从本系统采用的NAND Flash启动[2]。
1.4 软件设计
嵌入式操作系统是整个嵌入式系统的核心,我们采用 B/S 结构,构建嵌入式系统作为服务端,用Web浏览器作为系统的客户端界面。本系统采用组件化的设计思想,应用对象技术于系统设计,进一步的抽象化了面向对象的程序设计的实现过程[3]。我们可以通过不断的添加功能组件来扩展系统的其他功能,同时每个组件也都可以进行修改以删除或添加相应的功能,以满足客户提出的不同需求以及不同客户提出的需求,因此,此系统的扩展性很强,同时也具备进一步的二次开发和持续开发的可能性。系统的整体架构如图3所示。
本系统的各个组件之间的通信采用不同的方式,而且进程与进程之间的通讯由各个组件内部提供,这样可以达到隐藏监控系统内部通信方式的目的,更进一步的保护信息安全。其中:通过FIFO动态库接口来实现进程间消息传递;以Socket动态库接口来实现与网络摄像机的通信;以共享内存的方式来实现与CGI的通信;以文件的方式,实现图像信息的传递[4]。
1.4.1客户端软件功能介绍
Web/CGI模块的功能是解析用户通过Web浏览器发出的请求,根据请求由服务端相应的模块取得需要标识的数据,将取得的数据返回给浏览器。可以解析的请求包括网络摄像机基本信息、最新动作检测图像、最新动作图像的附加数据、实时快照图像、实时快照图像的附加信息、指定索引的历史图像、保存的历史图像数、网络摄像机的配置信息等。
网络摄像机管理模块的内部处理部分包括:初始化信息,终止信息和外部API消息的发送/接收处理。进程初始化包括处理包括:IPC资源的申请和初始化、根据配置文件更新共有内存、根据网络摄像机索引文件更新共有内存、打开管理用FIFO、生成网络摄像机监视进程等。终止信息包括关闭管理用FIFO和释放IPC资源等;当接收到外部API发送的信息时,判断消息类型,根据消息类型(分为两类:1.实时图像请求;2.网络摄像机动作通知)作对应的处理(对应两类消息的处理方式分别是:1. 检查网络摄像机ID值的范围,然后取得网络摄像机的实时图像,存入共有内存返回给 CGI调用者;2. 根据网络摄像机的IP地址在配置信息中查找网络摄像机的ID[5]。生成对应 ID 的网络摄像机的动作处理线程)后,向对应的外部返回信息(对应于两类消息的返回信息分别是:1. 实时图像;2. OK)。
网络摄像机管理模块的外部处理部分包括:①打开项目:需要先调用打开对象对应的函数以打开系统资源,才能使用网络摄像机管理对象提供的接口;②关闭项目:需要在结束使用网络摄像机对象提供的接口之后,调用关闭项目对应的函数关闭系统资源;③获取网络摄像机的配置信息:这个函数其中有一个OUT型参数,是一个结构体指针,其中包含网络摄像机的编号、网络摄像机的类型、网络摄像机的IP、网络摄像机认证情报、网络摄像机名称等字段,在调用成功的情况下,返回数值0;调用失败的情况下,返回数值-1;④获取网络摄像机的通信状态:这个函数其中有一个 OUT 型的无符号字符型参数,在调用成功的情况下,返回数值0;调用失败的情况,返回-1;⑤获取网络摄像机的最新动作图像:这个函数拥有4个参数,分别是网络摄像机的 ID、图像指针、图像的时间指针、图像的长度指针。在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑥获取网络摄像机的历史图像,这个函数同样也有4个参数,分别是网络摄像机的ID、图像索引、图像的指针、图像的长度指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑦获取网络摄像机的历史图像张数,这个函数拥有2个参数,分别是网络摄像机的 ID和图像的张数指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑧获取网络摄像机的指定时间带的历史图像的张数,这个函数有3个参数,分别是网络摄像机的ID、开始时间、张数,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑨获取网络摄像机的实时图像,这个函数有3个参数,分别是网络摄像机的ID、图像指针和图像的长度,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1;⑩获取网络摄像机的指定时间带的历史图像的张数,这个函数有2个参数,分别是网络摄像机的 ID和图像附加信息结构体指针,在调用成功的情况下,返回数值0;在调用失败的情况下,返回数值-1。 1.4.2客户端软件功能介绍
客户端采用浏览器的形式提供给客户,基本表示画面以 HTML5、CSS3、jQuery、Ajax、jQuery Mobile等开发,即可以满足智能终端的要求也能满足PC机的要求,实现了与平台的无关性[6]。包括最新图像显示和歷史图像查询,合理安排画面动作和布局,包括图片预览,画面切换,放大缩小等功能。
1.5 测试结果
为了及时发现在程序里的隐藏缺陷,分析原因,有针对性的对这些缺陷来进行修正,使系统达到一个相对稳定的状态,尽可能减少错误的发生,我们对系统的每一个组件涉及到的每一个项目都进行了一个相应的测试。这些测试中的主要项目是获取实时图像和获取历史图像这两个测试,测试过程中,均达到了预期的效果,很好地实现了既定的系统功能。根据测试结果得出结论,本系统相对稳定,基本上达到预期的效果,满足了客户的相应需求。
2 结论
本文针对视频监控在家庭领域应用的具体要求,提出了基于嵌入式Linux技术的视频监控方案,有机的结合了嵌入式技术、网络通信技术及智能监控技术,实现了一个简单易用、成本低廉、扩展性强的高效率嵌入式网络监控系统。为了保证了封闭和开放与效率之间的平衡,采用模块化来设计整个系统,各模块的选择和组合可以用来满足各种不同定制的需求,更有利于系统的移植和升级。通过对系统的各功能模块的全面测试,证明了本系统运行稳定可靠、操作方便,对网络监控在家庭住宅安全领域的广泛应用有着非常积极的意义。
参考文献
[1]徐叶,袁敏,李国军.嵌入式Web服务器远程监控系统的设计与实现[J].计算机与现代化,2013(02):125-126.
[2]刘川来,范坤,张俊晶.基于嵌入式以太网的热电厂数据监控系统的设计[J].青岛科技大学学报(自然科学版),2013(01):278-279.
[3]张文明.电力企业机房环境监控在嵌入式技术方面的运用[J].电子世界,2012(24):65-66.
[4]王晓红.基于嵌入式Web服务器的远程家居监控系统[J].电脑开发与应用,2012(11):137-138.
[5]田洪生.基于嵌入式Linux的网络视频监控系统的研究[J].知识经济,2012(22):361-362.
[6]周涛.基于嵌入式平台的采油现场终端监控系统[J].油气田地面工程,2012(11):289-290.