完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
随着数字视频压缩技术的日益成熟,嵌入式视频监控成为当今监控技术的主流,但由于系统功能不断增加、编程环境不断改变以及前期需求分析和设计不完善,导致系统升级和维护的难度不断增大,每一处小小的改动都可能造成整个系统的重新编译、链接和调试,耗费大量的人力、物力和时间。因此需要进行组件化设计,而为了简化组件的开发过程,需要有一组标准的方法来建立、管理和维护组件。针对当前网络视频应用程序的开发过程中,遇到的软件的可重用性不强、IP网络传输的不稳定性及网络带宽的多样性等问题,最好的解决问题的办法是把应用程序构建在组件基础上。
现在通用的组件模型(主要有COM/DCOM、CORBA、JavaBeans等)在运行时需要大量底层基础的支持,主要运行于非嵌入式平台。而目前国外流行的嵌入式组件模型主要有比利时IWT协会赞助的CCOM模型,飞利浦公司用于消费电子的Koala组件模型和国内处于起步阶段的科银京成公司的 Delta SySTem平台,这些模型都是不公开的限于公司内部使用的技术,并需要相应的CASE工具支持。 针对以上分析,本文进行了监控组件化的设计,选用ABB公司的用于现场设备的组件模型PECOS作为组件化标准,对整个系统进行开发。 1.PECOS技术简介 PECOS组件模型中的元素包括组件、接口和连接器。组件有3种:具有自己的控制线程的活动组件;不具有自己的控制线程,由活动组件调度的被动组件;其功能由一个事件触发的事件组件。这3种组件能够组合使用。接口表明组件提供给其他组件或需要其他组件的数据。包括要传递的数据的类型(如浮点)、方向(in、out、in/out)和范围。连接器负责连接兼容的类型、方向和范围的接口。 1.1 PECOS构件行为 一个应用可以通过CoCo和目标语言类来综合描述,被连接的对象称为RTE运行时刻环境。RTE是PECOS提供的标准库。RTE的优点是应用无关性,PECOS的构件也是平台无关性的,可以在不同的项目*享。一个具体的应用可以分为以下四层:RTOS、RTE、 Generated Classes 、Userses。 1.2 PECOS组件模型的特点 用户语言无关性 采用接口定义语言(IDL)和组件定义语言(CDL)描述接口和组件,使模型和具体实现分离,理论上可以映射到多种语言C、C++、Java等。 可移植性 嵌入式系统硬件环境多样,所以组件模型的可移植性非常重要,在本模型中通过封装底层接口获得很好的移植性。 组件的易维护性 通过接口继承和可选接口实现组件的易维护性。 同其它组件编程技术相比,PECOS具有很好地跨平台性能且与编程语言无关,其较好的开放性、扩展性和实时性。 所以,我们选择以CORBA 作为组件化标准,对整个系统进行组件化编程。 2.嵌入式监控系统主要功能组件 基于嵌入式Web的远程监控系统主要由3部分组成:现场数据采集设备,嵌入式Web服务器和远端监控主机。现场数据采集设备负责现场数据采集并以某种协议标准传递数据;嵌入式Web服务器负责对现场数据的收集和发布,监控主机则通过以太网实时地得到数据,从而实现远程监控的目标。 对整个系统而言,按照功能上的要求,本着全局性扩展性、重用性、先进性和可靠性的原则,把系统设计分为Web Server组件,CGI组件,串行通信组件,数据存储组件、报警组件等几个组件模块。按服务划分接口,按功能封装在组件内部,力求系统组件清晰、简洁、便于维护。这些组件之间的关系如图1所示: 图1 嵌入式监控系统主要功能组件 Web Server组件是指实现了TCP/IP协议的基本内容(如HTTP协议)、能够响应和处理用户请求、实现对立通信的程序模块,通过对TCP/IP相关协议的实现,Web服务器具有与浏览器交互的能力,能够处理客户端用户请求、传递网络消息并向浏览器返回结果,同时能够与其他应用程序协同工作。由于Boa是一个单任务的小型HTTP服务器,其源代码开放,稳定性好,实时性强,因此本系统中选用Boa作为WebServer。 CGI组件是指按照CGI标准设计的具有独立功能的程序模块,是嵌入式web服务器与外部扩展应用程序交互的一种标准接口。通过它把现场设备的数据实 时地传递给嵌入式web服务器我。从而实现远端客户与现场设备之间的动态数据交互。 数据存储组件是指能够对现场采集数据进行保存,并为其它功能组件提供读写方法的功能模块。报警组件是指能提供报警功能的程序模块。 在这些组件中,WebServer组件和CGI程序组件分别与串行通信组件、数据存储组件和报警组件相结合完成对数据的采集、存储、显示、报警等功能。 3.串行通信组件实例 下面以串口通信组件模块为例,说明如何用PECOS实现其功能。 串行通信组件是指完成串行通信功能的独立程序模块,这个模块主要包括云台摄像机等硬件设备。摄像机控制主要包括控制其焦距、透镜凹凸、光圈;云台控制主要包括控制其自动旋转和方向,由其完成现场设备即云台摄像机到CGI组件的数据传送,它与CGI程序组件相互配合,共同完成对嵌入式 web服务器的数据更新。 下面是串口通信组件模块的接口定义语言IDL定义,这里省略了常量、数据定义,只提供整个模块的总统框架。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 00:06 , Processed in 1.042161 second(s), Total 78, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号