基于Qt的远程监控系统的设计方案
2014-03-17 来源:elecfans
1. 方案总体设计
1.1 设计主要模块
远程视频监控系统为软件系统和硬件系统两个部分,其中软件系统包括在Windows系统上使用软件Qt开发的人机交互界面,第三方的OpenCV库,硬件系统包括S3C2410板卡,servfox采集工具(使用Linux系统编译),中星微摄像头。其整体模块设计框图如图1所示:
Qt人机交互界面在本系统属于软件部分,主要是通过Qt设计的界面来处理从终端传过来的视频图像。
OpenCV在本系统中也是属于软件部分,主要让Qt导入OpenCV的库文件,通过OpenCV提供的一些接口在Qt中来实现,这样就可以顺利的显示从终端传过来的视频图像。
TCP/IP协议是目前最为流行和常用的网络传输协议,在本系统中,通过TCP/IP协议将系统的软件部分和硬件部分连接在一起,即将终端采集到的视频信息通过网线传递到客户端电脑上,只要ping通两端的网络地址即可实现传送。
S3C2410板卡在本系统中处于硬件部分,并且也是硬件部分的核心,通过S3C2410板卡的USB端口连接摄像头,接受摄像头采集到的视频信息,将采集到的视频信息通过网线往外传送。
servfox在本系统中属于硬件部分,其主要是通过移植到S3C2410平台上,在检测到了摄像头之后,通过指令来启动servfox完成采集视频信息的任务,而就具体视频信息在硬件部分交由S3C2410处理。
中星微摄像头在硬件部分是连接在S3C2410的USB端口,完成视频画面采集。
1.2 系统设计总体结构
如图2所示,总体结构上分为终端和客户端两大部分,客户端主要是Qt的人机交互界面,通过调用第三方的库实现的显示,而具体的照相,关闭,开始操作则交给人机交互界面完成。
在终端最主要的是S3C2410板卡,围绕板卡连接了中星微摄像头来采集终端的视频,通过移植到板卡操作系统中的servfox工具来完成对视频流的发送。终端和客户端的连接主要是通过网线将其连接,终端发送视频信息,客户端接受视频信息的同时进行处理,这样使其成为一个整体。
2.系统硬件设计
2.1 电源接口电路
板卡的电源接口的电路图如图3所示:
板卡电源电压为DC5V,5V电压通过LDO芯片AS1117-3.3V、AS1117-1.8V分别得到3.3V,1.8V的工作电压,其中1.8V是供给板卡内核使用的。另外1.8V电压经过一个肖特基二极管后给板卡处理器内部RTC供电,RTC电源VCCRTC也引到扩展插座,需要的话外部可以接电池。
2.2 USB接口电路
板卡的USB接口的电路图如图4所示:
板卡具备一个USB主口和一个USB从口,电路中主要是上下拉电阻。USB从口可以检测电缆插入动作,并可以引起INT10中断。在本次设计中主要是用到了板卡的USB主口来连接摄像头。
2.3 RS232串口电路
板卡的串口接口的电路图如图5所示:
应S3C2410的UART0和UART1,用MAX3232芯片做TTL-RS232电平转换。其中UART0对应的RS232串口用DB9插座引出,方便调试。UART1对应RS232串口从扩展插座引出。扩展插座上还有UART2(TTL电平)。在本次设计中主要是用DB9插座连接到电脑,这样方便调试板卡。
2.4 板卡的NandFlash芯片
板卡的NandFlash芯片的原理图如图6所示。
K9F1208是三星公司的NandFlash芯片,而S3C2410板卡内部具有Nand控制器,所以K9F1208直接和S3C2410连接,并可以从NandFlash引导。
2.5 中星微摄像头
在终端中选用的是中星微公司生产的ZC301型号的摄像头,之所以选择这款摄像头,是因为S3C2410本来就支持这种型号,不需要再重新配置,只是需要在S3C2410中加载该摄像头的驱动即可,该驱动在Centos系统中可以找到,这个目录下的zc0301.ko即为驱动,将其复制到S3C2410下,执行insmod zc0301.ko即可。
3.系统软件设计
在上文中完整的介绍了系统的整体设计,但是系统所有的设计都需要程序的设计来支撑,图7所示是程序设计的流程图。
4.结语
本文所介绍的基于S3C2410和Qt的远程监控系统的设计方案的设计的程序设计部分严格按照上图的流程,在网络连接的情况下才可以继续进行视频的传递,其余的操作主要是集中在人机交互界面上。方案中设计的远程监控系统不仅可以实时显示终端的视频状态,还可以扑捉任意时刻的图像并将获取的图像实时存储到本地,而且图像清晰,便于监控。并且,还可应用到多种场合:工厂的仓库管理、手机、PDA等小型或手持型嵌入式设备。