基于GPRS和嵌入式Linux的远程图像监控系统
摘要:阐述了一种基于GPRS和嵌入式Linux的远程图像监控系统设计和实现方法。该系统主要由嵌入式视频采集终端和监控中心服务器组成。其中,嵌入式视频采集终端主要由摄像头视频采集模块、ARM模块、SIM900模块组成,监控中心服务器可实时监控远程终端的图像。系统软件采用嵌入式Linux,可编程实现图像数据采集、压缩和GPRS模块的网络连接与传输。
0 引言
当前有线通信的图像监控系统由于其经济实用性而被广泛采用,然而这种方式很大程度限定了它的应用前景。目前,视频监控系统已经覆盖美国的大小城市。在美国,执法机构正在逐渐普及和安装警用移动视频监控设备。而国内网络视频监控系统虽发展较慢,主要以流媒体监控系统为主,但随着平安城市建设的不断推进,网络视频监控将得到全面发展。本系统是基于ARM嵌入式开发平台和GPRS无线传输网络的远程图像监控设计方案,系统应用了嵌入式技术和无线移动网络技术的融合,实现了远程实时视频图像的监控,可以被广泛地应用在不同的场合监控,例如居家办公场所、能源系统、工业领域等。
1 系统总体设计
远程视频图像监控系统分为嵌入式视频采集终端和监控中心服务器。嵌入式视频采集终端是基于嵌入式微处理器S3C2440和Linux核心平台,集成GPRS模块,采用USB摄像头捕捉现场图像,通过GPRS网络发送实时压缩处理后的图像数据,实现和监控中心的通信。监控中心服务器通过本地网络与终端GPRS模块建立稳定连接,接收终端传输的图像并实时显示。系统的实现方案如图1所示。
![](../img/eep/emb/emb-51878hxr5dgzzryt.jpg)
2 系统具体设计与实现
2.1 系统开发平台
本系统选取TQ2440开发板作为系统设计的硬件平台,图2所示是系统硬件开发平台结构图。其中,采集终端硬件由主控模块和扩展模块两部分组成。主控模块采用嵌入式微处理器S3C2440,该处理器内部集成了ARM公司ARM920T处理器核。另外,系统储存扩展了256 MB的NANAD FLASH、2MB的NOR FLASH和64 MB的SDRAM。扩展模块包括了中星微ZC301USB摄像头和SIM900模块。
![](../img/eep/emb/emb-51879ldw34wey2em.jpg)
中星微ZC301摄像头价格低,性能好且易使用,很容易集成到嵌入式系统中。该款USB摄像头像素可达30万,最大每秒传输帧数可达30,图片分辨率最大为600x800,内置了JPEG硬件压缩引擎。
GPRS模块采用内嵌TCP/IP协议的SIM900模块,该模块属于GSM/GPRS双频模块,尺寸小,功耗低,性价比高,很适合嵌入式开发应用。S 3C2440通过UART接口连接SIM900模块并用AT命令控制GPRS模块,实现基于GPRS访问和图像数据的传输。
系统软件平台以嵌入式Linux为基础,具体构建步骤是在宿主机建立交又编译环境,完成引导加载程序uboot的编译移植,编译移植linux -2.6.30.4内核,包括串口驱动,USB设备等驱动的移植,基于busybox-1.13.0构建的yaffs2文件系统的移植。本系统根据开发需求,将图像数据的采集和发送分别设计为两个线程并行运行,线程之间用PV信号量进行同步,减少相互干扰。图3所示是本系统视频监控终端的应用程序工作流程图。
![](../img/eep/emb/emb-51880utblnjsykwn.jpg)
2.2 图像数据采集和发送
V4L2是Video For Linux Two的简称,是Video For Linux API的第二版本,是Linux下开发视频设备程序的接口标准。为了使用Linux下V4L2应用程序接口编写图像采集应用程序,在开发板上移植的Linux版本为linux-2.6.30.4内核,此版本内核支持中星微ZC301USB摄像头,只需在配置内核编译选项时把ZC3XX Usb Camera Driver驱动选中并重新编译进内核即可。
2.3 图像数据采集
V4L2的绝大部分功能是通过ioctl系统调用完成的。图像数据采集过程包括打开视频设备文件、设置采集属性、内存映射实现和图像数据帧采集等。其中,图像数据帧缓存采用FIFO的方式,缓存队列将已采集到的视频图像数据的设备缓存存出队列,此时与之映射的内存空间就存储了采集到的视频图像数据,处理完毕重新使视频设备加入缓存队列。图像数据帧采集过程如图4所示。
![](../img/eep/emb/emb-518810dpgggsvhcr.jpg)
2.4 GPRS数据传输
本系统通过S3C2440对SIM900模块进行控制,与监控中心建立GPRS连接,将采集终端的图像数据进行实时传输,方便用户对视频图像的实时监控。由于GPRS模块内嵌TCP/IP协议,终端可以很方便地与PC端的监控中心建立GPRS无线网络稳定连接。
在视频图像采集终端与监控中心建立GPRS无线网络连接时,本系统选用可靠稳定的TCP协议。具体步骤为S3C2440串口1控制SIM900模块,发送指定AT命令主动向公网上的一个静态公网IP地址发起TCP连接,只要这个公网上的机器有确定的相应监听端口,就可建立TCP连接。所以
系统需要知道当前PC机的静态公网IP地址和确定的监听端口。具体实现GPRS网络链路稳定连接的AT命令如表1所列。
![](../img/eep/emb/emb-518821pff5cib2vj.jpg)
3 监
- 基于wince的心电图机软件系统设计与实现(03-25)
- Linux多线程同步方法(07-29)
- 多线程技术倍增多核系统的性能提升体验(01-25)
- linux多线程编程技术(05-29)
- 多核与多线程技术的区别到底在哪里?(10-22)
- 多线程编程之:实验内容——“生产者消费者”实验(08-13)