无人机具有体积小、重量轻、灵活机动、成本低等特点,可以用于对地侦察拍照,还可以广泛应用于军事侦察、地质勘探以及对火灾等危险区域的勘察预报等,因而在无人机上构建一个网络视频系统就显得十分重要。本文以基于PC104的无人机为基础,构建一个网络视频系统,其中,无人机视频数据的采集、压缩、解压缩、传输都是无人机网络视频系统中的关键技术,本文将针对这几部分的关键问题进行研究。1系统结构及工作原理该系统的下位机主要
无人机具有体积小、重量轻、灵活机动、成本低等特点,可以用于对地侦察拍照,还可以广泛应用于军事侦察、地质勘探以及对火灾等危险区域的勘察预报等,因而在无人机上构建一个网络视频系统就显得十分重要。本文以基于PC104的无人机为基础,构建一个网络视频系统,其中,无人机视频数据的采集、压缩、解压缩、传输都是无人机网络视频系统中的关键技术,本文将针对这几部分的关键问题进行研究。
1 系统结构及工作原理
该系统的下位机主要由深圳桑达公司的PC104工控机、罗技快看太空版MP摄像头(USB接口)、linksysWRT54GC-CN无线路由器及外围电路组成,采用嵌入式Linux 2.4.26操作系统,主要负责视频数据的采集,压缩及将数据发送到上位机。上位机是包含有无线网卡的PC电脑,主要负责视频数据的接收、解压和显示,上下位机通过UDP/IP网络协议进行数据的传输,采用socket网络编程可以实现网络的互联及数据的收发。
PC104工控机采用嵌人式专用CPUPⅢ533~933 MHz,板载DDR内存高达128 MB,提供2个RS 232串行接口,2个USB接口,1个并行口,软盘驱动器接口,IDE硬盘驱动器,10/100Base-TX Ethernet接口,CRT/LCD显示器接口和固态盘插座,支持DiskOnChip 8~288 MB。PC104工控机的操作和使用与PC机相同,安装系统硬件后,即可开机进行BIOS设置,输入电压必须为+5 V,其波动范围不超过5%。
2 视频数据采集的软件实现
Video4Linux(V4L)是嵌入式Linux下视频设备的内核驱动,他为Linux下的视频设备提供了一系列的接口函数,在编译和配置内核阶段,必须增加V4L模块和USB摄像头驱动模块的支持。对于USB接口摄像头,其驱动程序中需要提供基本的I/O操作函数open,read,write,close的实现,对中断的处理实现,内存映射功能以及对I/O通道的控制接口函数ioctl的实现等,并把他们定义在struct file operations中。这样当应用程序对设备文件进行诸如open等系统调用操作时,Linux内核将通过fileoperations结构访问驱动程序提供的函数。在系统平台上对USB摄像头进行驱动,首先把USB控制器驱动模块静态编译进内核,使平台中支持USB接口,再在需要使用摄像头采集时,使用insmode动态加载其驱动模块,这样摄像头就可正常工作了。
在USB摄像头被驱动后,再利用Video4Linux支持的几个视频采集相关的数据结构进行编程,就可以实现视频数据的采集。图1是嵌入式Linux下视频数据采集的流程: