远程视频监控系统软件平台的构建

来源 :数字化用户 | 被引量 : 0次 | 上传用户:yumimiteresa
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】随着图像压缩编码技术以及无线通讯技术的发展,视频监控系统逐步迈入移动化,在特定场合下,如自然灾害地质查询,边防空中监控等,需要突破物理上的二维限制,借助小型无人飞行器和无线数字视频监控系统在低空进行远程实时监控。本文构建了基于Linux系统的软件开发平台,完成了基于无人飞行器的远程视频监控系统实现的初步工作。
  【关键字】视频监控系统 嵌入式系统 Linux 软件开发平台
  一、 嵌入式系统的定义及特点
  嵌入式系统是以应用为中心,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统[1,2]。
  嵌入式系统的特点可从功能和性能两个层面来衡量。
  首先,在功能上,它是以应用为中心的专用系统,区别于个人计算机等通用计算机系统。嵌入式系统面向的是行业中的某项应用,因此嵌入式产品的个性化很强,软硬件结合非常紧密,软件开发过程中需要针对硬件做出移植或者优化。例如,本系统隶属于无线视频数字监控产品,并且以无人飞行器为载体,完成特定场合下的视频采集与实时传输等功能。在搭建本系统的软件平台时,需要根据需求选取合适的操作系统,并根据硬件方案进行驱动的移植和开发。开发应用程序时,需要考虑到底层硬件的性能和实际运行情况,如根据无线网络传输情况,动态调整视频压缩质量等。
  其次,在性能上,嵌入式系统资源受限,软硬件必须是可裁剪的,另外嵌入式产品结构紧凑,用途固定,因此在成本、体积、功耗以及可靠性上也必须严格考究。以本系统为例,整个系统以小型的无人飞行器为载体,在硬件设计上须采用核心加扩展的方式,核心板的体积要做到尽可能的小,以安放在飞行器内部,而摄像头以及CDMA模块则通过扩展的方式,结合飞行器本身来进行整合。另外,虽然资源的受限使得核心板上自身所拥有的内存和Flash芯片容量不会太大,但可采用基于扩展的设计,如通过外接SD卡的方式来转储相关的数据(如用作存证的视频数据等)。在软件层面上,需要对移植的Linux内核做出剪裁,根据系统本身的需求量身配置,以使最后编译产品的内核映像体积最小。应用程序开发,如视频采集与编码模块,也需注意保证程序运行的稳定性,尽可能避免因为软件因素带来的断线,内存溢出,死循环等错误。
  二、 嵌入式Linux系统的软件组成
  一个嵌入式 Linux 系统从软件层次的角度看通常可以分为四个层次[3]:1. 引导加载程序:即Boot Loader程序。2. Linux 内核:特定于嵌入式开发板的定制内核以及内核的启动参数。3. 文件系统:包括根文件系统和建立于 Flash 内存设备之上的文件系统。4. 用户应用程序:特定于用户的应用程序。
  典型的嵌入式Linux系统存储设备的空间分配如图1所示。
  在本系统中,选用一块32MB的NOR Flash存储芯片,用于存放引导加载程序,Linux内核和包含应用程序的文件系统。其中,引导加载程序和内核的占用空间分别规划为256KB和2MB。下面各小节详细阐述了嵌入式视频服务器上软件平台的构建过程,这个基本的软件运行平台是系统开发和应用的基础。
  三、 嵌入式视频服务器软件平台的构建
  1 系统开发模型
  嵌入式系统开发的两大特点是分布式开发以及交叉编译。鉴于嵌入式系统资源受限的特点,不能在嵌入式产品上直接进行开发,而是选择硬件和软件资源丰富的宿主机进行分布式开发,通常是PC机,而嵌入式产品作为目标机。由于两者的硬件体系结构一般不相同(如本系统,宿主机基于x86,而目标机基于ARM),因此在宿主机上开发的程序需要经由交叉工具链进行编译和链接,最后通过通信手段送至目标机上运行。本系统的开发模型如图2所示。
  在本系统开发中,宿主机和目标机有三种通信手段:
  1. 串口通信。用于两机的信息交互,在经过波特率等属性协商后,目标机上的信息经由串口输出到宿主机的串口客户端进行显示,反馈给用户,同时用户也可通过串口客户端输入相关的控制命令到目标机上,用以操纵目标机上的软件参数及流程。
  2. JTAG通信。用于裸机上的程序烧写,宿主机可通过Multi-ICE仿真器与目标机上的JTAG调试接口相接,通过调试代理,将制作生成的引导加载程序映像串行烧写至目标机Flash芯片中;
  3. 网络通信。制作好的内核以及文件系统映像一般体积较大,可先通过网络下载到目标机内存中,再通过已做好的烧写程序和驱动进行脱机烧写,这样可大举提高烧写速率。
  因此,基于本系统的开发模型,在宿主机上需要首先搭建好开发环境。
  2 主机环境的搭建
  本系统开发中,宿主机上选用的开发环境为Fedora 19。主机环境搭建主要包括了三个方面的内容[4]:交叉工具链的安装,TFTP服务器的配置以及NFS服务器的配置。
  1. 交叉工具链的安装。
  嵌入式交叉工具链由一套用于编译、汇编、链接、二进制工具及库的组件组成。主要包括了编译器arm-linux-gcc,汇编器arm-linux-as,连接器arm-linux-ld,二进制工具如arm-linux-nm, arm-linux-strip等,基于交叉编译的库glibc等。
  交叉工具链的选择上,一般需要根据编译目标的版本,选择既有的成熟工具链。工具链和被编译对象的版本匹配很重要,否則容易引起因为兼容性导致的编译问题。在本系统中,使用Freescale公司提供的成熟工具链,用于对3.10.1版本的内核进行编译。其中,编译器版本为4.1.1,GNUC库glibc版本为2.9。安装过程如下:
  (1)建立工作目录
  [root@localhost ~]#mkdir /root/MX27project/   (2)将交叉工具链压缩包拷贝至工作目录并解压
  [root@localhost MX27project]#tar xjvf gcc-4.1.1-glibc-2.4.tar.bz2
  (3)导入环境变量使工具对shell可见
  在/root下的.bash_profile最后,加上:
  export PATH=/root/MX27project/gcc/arm-linux/bin:$PATH
  2. TFTP服务器的配置
  TFTP协议基于传输层UDP协议,是用来下载远程文件的最简单的网络协议,在开发过程中主要用于获取内核映像及文件系统映像。通常在目标机上运行的引导加载程序中,包含有TFTP的客户端,因此需要在宿主机上配置和开启TFP服务器。TFTP服务器的核心配置过程如下:
  建立TFTP服务器根目录
  [root@localhost MX27project]mkdir /tftpboot
  修改TFTP配置文件
  主要对/etc/xinetd.d/tftp做出修改,在service tftp中,将disable设置成no,将server_args设置成-s /tftpboot
  打开TFTP服务器
  [root@localhost MX27project]chkconfig tftp on
  [root@localhost MX27project] /etc/init.d/xinetd restart
  3. NFS服务器的配置
  通过NFS可以在宿主机和目标板之间共享文件,目标板通过挂载NFS文件系统能直接运行位于宿主机上的用户程序,省去了Flash烧写的过程。因此,NFS文件系统是开发态使用的根文件系统。在宿主机上配置和开启NFS服务器的主要过程如下:
  (1)配置NFS服务器
  配置文件是/etc/exports,设置内容如下:
  /nfsroot 192.168.1.*(rw,sync,no_root_squash)
  其中,/nfsroot为NFS服务器的根目录,192.168.1.* 为允许挂载该NFS服务器的IP,rw,sync,no_root_squash表示服务器访问限制。
  (2)启动NFS服务器
  [root@localhost MX27project]service nfs start
  3 RedBoot的移植
  移植的总体思路为:先添加硬件开发平台相关硬件的驱动代码支持(已提供),然后在配置文件中添加目标平台,指定包配置,进行代码树的构建和编译,最后将生成的redboot映像烧写进系统Flash芯片中。
  4 Linux内核的移植
  就嵌入式Linux系统而言,有各种体系结构的处理器和硬件平台,用户根据自己的需要定制硬件平台并做一些移植工作。由于Linux内核具备可移植性的特点,并且已经支持了很多种目标板,可以从中找到跟自己硬件平台类似的目标板,参考内核已经支持的目标板来进行移植工作。这里选用的Linux内核是针对Freescale i.MX27参考开发平台的Linux Platform Support for i.MX27,内核版本号是Linux 3.10.1。
  内核剪裁,配置和移植的主要步骤如下:
  解压内核,修改顶层Makefile。
  修改或添加相关代码到内核源码树中。
  配置内核。
  在内核源码根目录下,键入make menuconfig命令,出现内核配置界面,通过图形化的方式进行内核的剪裁配置。
  编译内核。
  配置完毕后,保存退出,在内核源码根目录下,键入make zImage命令进行内核的编译。编译成功后,在arch/arm/boot目錄下会生成zImage内核压缩映像。将zImage放置在前面配置好的TFTP服务器根目录下。
  烧写内核到Flash芯片中。
  启动嵌入式视频服务器系统,进入RedBoot命令模式,设置系统及宿主机IP地址为同一个网段:
  ip_address –l 192.168.1.2 –h 192.168.1.1
  首先,从宿主机上下载内核压缩映像到系统内存中:
  load –r –b 0x00100000 zImage
  然后,将内核映像烧写到NOR Flash芯片中:
  fis create –b 0x100000 –l 0x200000 –f 0xC0040000 kernel
  其中,规划内核占据的Flash芯片偏移起址为0x40000,大小为2MB。
  5 文件系统的制作
  为建立根文件系统,首先需要遵照Linux文件系统的架构,建立必备的空目录树,如bin及sbin目录用于存放二进制执行文件,etc目录用于存放配置脚本,lib目录用于存放程序运行所需要的动态库,dev目录用于存放设备文件等等。然后在相应的空目录下填充内容,如编写启动脚本rcS放置于etc目录中,将交叉工具链中提供的库拷贝到lib目录中,建立必备的设备文件放置于dev目录中,而对于二进制执行文件,如果是用户自行添加的应用程序,可直接放入bin目录中(或sbin目录中),如果是内置命令,则可借助开源的第三方软件生成,本软件开发平台利用开源软件BusyBox。
  四、结束语
  本文介绍了基于无人飞行器视频监控系统基本软件平台的搭建过程。首先分析了典型的嵌入式系统的特点,结合Linux操作系统的优点,为系统选择基于嵌入式Linux操作系统的解决方案。然后讨论了嵌入式Linux系统的软件组成,并针对组成成分进行无线监控设备软件平台的构建,包括了主机环境的搭建,RedBoot的移植,Linux内核的移植和文件系统的制作等,为后续无人飞行器的远程视频监控系统功能的实现提供了一个基本的软件平台。
  参考文献:
  [1] 杨宗德, 嵌入式ARM系统原理与实例开发, 北京大学出版社, 2007.
  [2] Dejan Milojicic, Embedded Systems, IEEE Concurrency, 2000, Vol.8.
  [3] 詹荣开, 嵌入式BootLoader技术内幕, IBM DW, 2003.
  [4] 韦东山,嵌入式Linux应用开发完全手册,人民邮电出版社,2008.
  作者简介:王建华,男,成都理工大学工程技术学院(614007),讲师,主要研究方向:计算机网络,空间数据库管理,E-mail:[email protected];郭敬慧,女,成都理工大学工程技术学院(614007),硕士,主要研究方向:计算机应用技术。
其他文献
【摘 要】大学生的实践能力已成为衡量高校培养的大学生质量的重要标志。本文在定义专业实践能力的基础上,以宿州学院人力资源管理专业为例,分析当前人力资源管理专业关于大学生专业实践能力的培养现状和问题,最后提出了高校关于加强大学生专业实践能力培养的对策建议。  【关键词】专业实践能力 培养 宿州学院 人力资源管理专业  在当今社会,由于全球经济一体化,经济高速发展,对员工的能力要求越来越高,尤其对专业实
期刊
【摘 要】对云计算概念及特点分析基础上,并结合水务信息化建设具体需求,部署并优化了云平台下的水务信息化硬件设施,并结合项目实际情况给出了云平台水务信息化服务器虚拟化的应用解决方案;结果表明,该方案大大地降低成本,提高投资回报率,拓展了应用范围。  【关键词】云计算;水务信息化平台;虚拟化建设  一、概述  目前,随着信息化建设与应用的不断深入,信息化建设平台已逐步得到了广泛应用,但是这些应用系统虽
期刊
【摘 要】本文以小学教学设计为框架,对小学教师教学师进行系统分析,包括问卷调查,教案分析,从中分子出了小学教师教学设计存在的一些问题。结合我国课改的现状,探究了问题发生的原因,给教师的合理教学提出了可行性建议。  【关键词】教学设计;存在的问题;原因  基础教育课一直受到社会的广泛关注,但在我国小学教师在教学过程中仍然存在一定的问题,教师的教学往往都出现空洞乏味,课堂效率很低。在课堂中都是以教师为
期刊
《全日制义务教育语文课程标准》(实验稿)关于“语文素养”有一些重要的立论和命题,如在“课程性质与地位”里提出“语文课程应致力于学生语文素养的形成与发展”,在“课程的基本理念”部分更是明确“九年义务教育阶段的语文课程,必须面向全体学生,使学生获得基本的语文素养”。结合语文课标来看,这是一个开放性的结构,既有不同时代普遍适用的核心内容和要求,又有鲜明的时代特征,随不同时代作不同的规定,具体到语文课标就
期刊
探究性教学是指在教学过程中以问题为载体,创设一种类似科学研究的情境或是途径,引导学生通过自己收集、分析、处理信息和体验知识的产生过程,进而了解社会,学会学习,培养学生提出问题、分析问题、解决问题的能力,其核心是改变学生的学习方式。初中语文探究性教学模式,旨在充分发挥学生在语文学习中的主体作用,挖掘学生的潜能,培养学生探究创新的精神,形成和发展良好的语文素养。它以课堂教学中的某个知识点为探究点,引导
期刊
【摘 要】本设计采用PLC控制技术和气动技术,通过PLC控制器控制电磁阀的顺序开启,实现机械手的运动、控制工件的抓取和卸料,实现全自动生产。应用PLC控制机械手能实现各种规定的工序动作,不仅可以提高产品的质量与产量,而且对保障人身安全,改善劳动环境,减轻劳动强度,提高劳动生产率,节约原材料消耗以及降低生产成本,有着十分重要的意义。  【关键词】后定位器机械手;气动技术;机械结构;PLC控制  一、
期刊
这几年各式各样的感恩教育演讲活动风靡校园内外,很多学生和家长在感恩教育活动现场潸然泪下,受到了很大的触动。也使不少学生有了浪子回头的念想和行动。  于是在这届班主任的工作初,我便对学生采取了大量的感恩教育活动。从写感恩主题的作文到看感恩教育纪实片,确实当时对学生的触动相当大。可我总感觉这个效应对学生的影响太短暂,心想也许是感恩教育的频率还不够,就继续加强!可就在前几天,月考过后我答应学生放一场电影
期刊
【摘 要】经过数百年的积淀,许多发达国家名牌大学都形成了比较健全的现代大学制度,已经经历了大学制度化的成熟阶段。德、英、美三国的大学制度已广泛地为学术界认可为差异典型,对这三个国家现代大学制度的研究,可以更好的把握现代大学制度的共性。  【关键词】现代大学制度;学术自由;大学自治  一、西方国家现代大学制度的基本情况  (一)德国  1.大学与政府关系密切  德国大学从中世纪大学发展起来时就与政府
期刊
【摘 要】大学计算机基础课程具有知识点多且散、实践性强的特点。构建“五模块”的大学计算机基础实践教学新体系,通过精心选取和组织来源于生活和工作的实际教学案例、自主实践案例、网络学习案例、阶段评测案例、综合测试案例等,激发学生学习兴趣和学习动力,营造职业环境及岗位任务,使教学内容与岗位任务融合,使专业能力与职业技能融合,使实践教学目标与工作流程融合,真正体现“学生主体,教师主导”的作用,提高学生应用
期刊
【摘 要】随着城市多平台视频监控系统的飞速发展,异构视频监控平台联网系统的设计与实现已经势在必行。针对异构视频监控平台联网系统的特点,提出异构视频监控平台联网系统的设计原则,系统总体设计方案以及主要功能设计,并提出关键技术指标,为异构视频监控平台联网系统的研究做出了积极探索。  【关键词】异构视频;监控平台;联网;系统设计;关键技术  近年来,公安部开展了一系列的科技强警示范城市建设工程,全国各城
期刊