由于目前的uCLinux还不支持ASP、PHP等动态网页技术,所以在uCLinux下通过CGI
2技术连接WEB页和本地程序,提供动态和交互的特性。
图2 系统总体设计框图
1 配置boa服务器
CGI程序不是放在服务器上就能顺利运行,如果要想使其在服务器上顺利的运行并准确的处理用户的请求,则须对所使用的服务器进行必要的设置。
Boa的配置文件boa.conf:在boa.conf中对boa进行了配置,这些配置多使用默认值,本系统中将Document Root指定的WEB服务器的根修改为/boas.
在对内核进行配置时,选择boa程序和cgi.
将cgi_generic文件夹下的cgi.c和makefile覆盖到程序包中的/usr/cgi_generic/。
将boa文件夹下的hash.c覆盖到程序包中的/usr/boa/src。
将rc文件覆盖到程序包中的/vendor/Miectek/4510。
本系统中的ucLinux系统中的文件使用的是ROMFS和运行于RAM的EXT2。为了可通过FTP等工具更新网页,rc文件在/boas下创建文件夹cgi_bin,然后将index.html,boa.conf和mine.type复制到/boas下,将CGI程序复制到/boas/cgi_bin下。至此建立了boa运行的基本环境,使用〝>boa c/boas/&〞命令就可以运行boa.
2 系统设计描述
在嵌入式网关的设计中,网关程序与家庭网络的HTTP服务器和家庭网络内部服务器位于同一物理设备(基于S3C4510的硬件平台)之上,负责连接HTTP服务器与后台数据库,完成HTTP服务器与HomeNetServer之间的信息交互。
在家庭网关的设计中,根据功能描述,网关应能提供远程监视、远程控制、远程维护功能。网关内部工作流程如下:
● 若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知要求的是设备状态信息时,HTTP服务器从存储设备状态信息的静态文件中取出设备状态,并封装为HTTP响应消息发送回客户端。
● 若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知请求的消息是对设备的设置(操作),则通CGI函数将消息内容转换为家庭网络协议传递给家庭网络服务器,由家庭网络服务器对家庭内部设备的管理和控制,并将处理结果以消息形式传递给CGI程序,并封装为HTTP响应消息的形式,发送回客户端。
● 若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知请求的页面是提供实时视频服务时,HTTP服务器将调用CGI函数向视频数据处理模块发送消息,通过视频数据处理模块来控制视频压缩卡完成视频数据的采集,压缩和发送等功能。
● 若客户发送的HTTP请求,经过HTTP服务器接收和解析后,得知请求的消息包含对云台设备及镜头的控制命令时,HTTP服务器通过CGI函数向云镜解码器直接发送控制指令以实现对云台和镜头的控制。
图3 家庭网关软件结构框图
3 实时视频传输部分设计
基于HTTP的boa服务器负责接收和响应客户端的HTTP请求,当请求的是视频信息时,此请求通过CGI函数向视频数据处理模块发送消息,从而向视频设备发送事件以允许实时视频发送任务进入运行队列。
视频数据处理模块主要包括视频图像的实时捕捉(借助MPEG-4视频压缩卡完成)、动态存储和实时播放,图像的实时播放可以和图像的实时捕捉存储同时进行。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说计算机基于ARM的家庭视频服务器的研究(2)在线全文阅读。