图1 嵌入式监控系统主要功能组件
Web Server组件是指实现了TCP/IP协议的基本内容(如HTTP协议)、能够响应和处理用户请求、实现对立通信的程序模块,通过对TCP/IP相关协议的实现,Web服务器具有与浏览器交互的能力,能够处理客户端用户请求、传递网络消息并向浏览器返回结果,同时能够与其他应用程序协同工作。由于boa是一个单任务的小型HTTP服务器,其源代码开放,稳定性好,实时性强,因此本系统中选用boa作为WebServer。
CGI组件是指按照CGI标准设计的具有独立功能的程序模块,是嵌入式web服务器与外部扩展应用程序交互的一种标准接口。通过它把现场设备的数据实时地传递给嵌入式web服务器我。从而实现远端客户与现场设备之间的动态数据交互。
数据存储组件是指能够对现场采集数据进行保存,并为其它功能组件提供读写方法的功能模块。报警组件是指能提供报警功能的程序模块。
在这些组件中,WebServer组件和CGI程序组件分别与串行通信组件、数据存储组件和报警组件相结合完成对数据的采集、存储、显示、报警等功能。
3.串行通信组件实例
下面以串口通信组件模块为例,说明如何用PECOS实现其功能。
串行通信组件是指完成串行通信功能的独立程序模块,这个模块主要包括云台摄像机等硬件设备。摄像机控制主要包括控制其焦距、透镜凹凸、光圈;云台控制主要包括控制其自动旋转和方向,由其完成现场设备即云台摄像机到CGI组件的数据传送[6],它与CGI程序组件相互配合,共同完成对嵌入式web服务器的数据更新。
下面是串口通信组件模块的接口定义语言IDL定义,这里省略了常量、数据定义,只提供整个模块的总统框架。
Module SerialPort{
interface Camera{
SetFocus(in int FocusValue,out int Result);// 设置焦距值
SetLens(in int LensValue,out int Result);//设置透镜汇聚和发散值
SetAperture(in int ApertureValue,out int Result);//设置光圈值