基于嵌入式Linux平台视频传输与控制系统的构建

发布者:朱颜素韵最新更新时间:2018-02-05 来源: eefocus关键字:Linux平台  视频传输  控制系统 手机看文章 扫描二维码
随时随地手机看文章

    本文介绍了基于嵌入式Linux平台视频传输与控制系统的构建,给出了跨客户端通过3G网络进行远程视频传输的技术实现,并总结了在实现过程中遇到的难点以及对应的解决方案。

    3G是第三代移动通信技术,结合了无线通信技术和互联网等多媒体技术。随着3G技术的发展,它在声音和数据的传输速度上有很大提升,并能够在全球范围内实现无线漫游。其数据传输高速、永远在线、覆盖范围广等优点,有效地解决了移动机器人采用有线或者无线远程控制所带来的信息传输和控制距离等方面的瓶颈问题,使远程救援机器人、仿真机器人、家庭保姆机器人等移动机器人技术在大数据量实时传输方面多了一种可利用的解决方案。

1 系统总体架构
    本系统主要用来将移动机器人所采集到的视频数据通过3G网络传给服务器,再将服务器的控制信号传给电机驱动板,以驱动移动机器人平台运动,总体架构如图1所示。摄像头OV9650采集的视频图像经过JPEG压缩后,存入缓存区,当服务器监听到客户端的接入请求后,再将缓存区的数据通过网络传输给客户端的监控界面进行显示;当需要控制机器人行动时,客户端的控制按钮发送控制信息给服务器,服务器通过程序解析后控制底层电机驱动器,驱动机器人平台运动。

a.JPG

    
    系统硬件平台核心处理器采用S3C6410,它基于ARM1176JZF—S内核,是一个16/32位RISC微处理器,其内部集成了强大的硬件加速器,包括音视频处理、2D加速等,为2.5G和3G通信服务提供了优化的硬件性能,工作频率最高可达677 MHz;采用2 GB NAND Flash,主要用于存放内核代码、应用程序、文件系统和数据资料;DDRSDRAM采用两片128 MB K4X51163PE芯片;摄像头采用CMOS图像传感器OV9650,最高输出130万像素(1300×1 024),具有高敏感度、低功耗、支持多种常用的图像格式输出、支持自动图像控制等优点。
    Linux作为一种类Unix操作系统,具有稳定健壮、低成本、高性能、互操作性好和源代码开放等特点。而其良好的内核结构,以及可裁剪的特性,满足了嵌入式应用的差异性需求,使其在嵌入式系统领域占有一席之地。本系统中采用的Linux内核为3.0.1版本,文件系统采用YAFFS2,Bootloader选用uboot。

2 系统软件设计
2.1 视频数据的采集与传输
    视频数据的采集通过Linux中视频设备OV9650的驱动以及Video for Linux提供的相应接口完成。为了方便,将视频采集的相关信息封装到以下结构体中:
    d.jpg
    采集程序通过函数init_s3c6410(struct vdIn*vd,char*devICe,int width,int height)来完成对摄像头以及采集参数的初始化,并通过函数s3c6410_Grab(struetvdIn*vd)完成对图像的抓取,用JPEG压缩算法对采集到的图像进行压缩,图像格式为RGB565。

    视频数据传输通过Socket实现,且直接在服务器设备端与Web客户端之间进行传输,通过视频流服务器实现对视频的开关控制。由于视频传输是连续的过程,所以客户端和服务器端都通过线程来实现发送与接收。接收线程由函数pthread_create(&(servers[id].threadID),NULL,server thread,&(servers[id]))创建。
    视频的采集和传输是在两个线程中实现的,它们共享一个缓冲池。这两个线程都是在视频采集服务器端的程序启动时创建并运行的。其中采集视频图像的线程不断通过摄像头采集现场图像,经过JPEG压缩后存放到缓冲池中,而传输视频数据的线程创建一个Socket来监听等待远程客户的连接请求。当有客户发送连接请求并建立连接后,就通过该连接向远程客户发送视频数据,而发送的视频数据就是从缓冲池中获取的。也就是说,在视频采集服务器端,视频数据传输所需要的一切都已经准备好,就等着客户的请求,一旦建立连接,就可以发送视频数据,从而实现较快的速度和较高的效率。
    视频采集和传输的工作流程图如图2所示。

b.JPG

    
2.2 远程控制的实现
    为了监控界面能被通用浏览器打开,需要移植Web服务器Boa。Boa服务器是一款小型开源的嵌入式Web服务器,交叉编译后的可执行代码大小约为60 KB,在Linux3.0.1内核下运行时占用的内存大小约为1.7 MB。其功能较为强大,支持身份认证、CGI动态Web技术等。它不像传统的Web服务器那样为每个访问连接开启一个进程,只能依次完成用户的请求,即单进程响应多路请求,因此,Boa在同等硬件条件下相对于其他Web服务器表现出更快的速度,节省更多的资源。
    通用网关接口(CGI)是用于Web服务器与外部应用程序之间信息交互的标准接口。CGI可以使外部程序处理客户端传来的表单和数据,并对此作出某种反应。这种反应可以是HTML文件、图片等可以在浏览器窗体上出现的任何数据,也可以是对服务器端硬件资源的控制。
    调用CGI程序的方法主要有两种:
    ①GET方法,CGI程序从环境变量QUERY_STRING中获得数据;
    ②POST方法,Web服务器通过STDIN向CGI程序传输数据,数据量超过1024字节时采用此方法。
    本系统采用GET方法。
    在串口应用程序中,数据的获取通过以下代码实现:
    ……
    char*data;
    data=getenv(“QUERY STRING”);
    ……

3 监控界面的实现
    监控界面用网贞实现,如图3所示。

c.JPG

    
    为了使页面呈现出动态效果,如显示当前时间、视频数据传输速率等,页面将嵌入Javascript代码。整个界面分为两个区:视频显示区和控制面板区。视频显示区显示视频流服务器传输上来的视频数据,控制面板区通过按钮与CGI串口应用程序交互控制电机驱动板。
    Javascript是一种流行的通用脚本语言,基于Javascript可以实现用户与页面的交互,并响应页面上发生的事件。
    HTML表单是Web文档的一部分,用来将信息从浏览器传递到服务器,它提供多种接收输入的方法,包括单选按钮、多选框、文本框等,表单以

标签开始,以</form>标签结束。本系统控制面板的按钮采用“button”输入类型。传统的HTML表单需要通过提交按钮(“subm it”)来发送表单数据,数据以名/值对的形式发送至服务器端的CGI程序。本系统的每个按钮都需要实时提交,如果通过传统方法来实现,则需要对每个按钮配对一个不同名的提交按钮,这样会使页面代码变得更复杂,因此本系统使用Ajax方法。使用Ajax创建HTML表单时,不再需要提交按钮来发送表单数据,对于每个按钮,只要在属性中添加事件处理函数onClICk(),就能在点击按钮时触发Ajax建立浏览器和服务器CGI应用程序间的通信,实现代码如下:
    e.jpg
   f.jpg

    结语
    本文所介绍的系统在实验中获得了较好的结果,视频图像的传输具有较好的稳定性,为了提高图像的连续性,可以通过修改代码提高摄像头的采集频率。该移动机器人平台可以根据实际需要进行功能扩充,并可以通过本文所阐述的方法,对控制面板的功能进行相应的扩展,比如摄像头的调焦、温湿度显示、机械手臂运动控制等。


关键字:Linux平台  视频传输  控制系统 引用地址:基于嵌入式Linux平台视频传输与控制系统的构建

上一篇:基于嵌入式Linux无线多频段WSN网关设计
下一篇:基于ZigBee与μIP协议栈的嵌入式网络监控系统设计

推荐阅读最新更新时间:2024-03-16 15:54

UC3875在超声电源功率控制系统中的应用
摘要:根据超声波发生器的功率控制系统原理,阐述了移相控制策略对超声波发生器输出电压波形的影响,介绍了移相控制专用芯片UG3875的电路结构和使用设计方法。 关键词:移相;控制;UC3875 利用超声波电源切割复合材料时,为了保证换能器的输出振幅恒定,要求超声波发生器具有功率自调节功能;同时,为了切割不同的纤维材料,还要求振幅具有可调功能;这些都要求超声波发生器带有功率输出控制系统,在这个系统中,需控制的参量一般是换能器的电流值,而换能器电流值的恒定,则要通过控制换能器两端的电压来实现。本文通过全桥移相的移相角来改变正弦波的幅值,从而改变换能器两端的电压以达到控制换能器电流的目的。 1 输出功率控制系统 图1所示是一
[应用]
汽车传感器应用以及发展趋势
一、引言 汽车电子技术是汽车工业发展的核心技术之一。汽车传感器作为汽车电子控制系统的信息源,是汽车电子控制系统的关键部件,也是汽车电子技术领域研究的核心内容之一,汽车传感器的使用数量和技术水平决定了汽车控制系统的性能。一般一辆普通家用轿车上大约安装几十到近百只传感器,而豪华轿车的传感器数量可达二百余只,主要分布于发动机控制系统、底盘控制系统、车身控制系统和导航系统中。 二、汽车传感器的特点 汽车传感技术是随着汽车电子的发展而发展起来的一种技术。汽车传感器是汽车电子控制系统的输入装置,它把汽车运行过程中的各种工况信息如车速、发动机运转工况等转化成电信号输给中央控制单元,使发动机处于最佳工作状态。汽车传感器可对温度、压力、
[嵌入式]
太阳电池串联均压控制系统原理及设计
近年来,随着太阳电池的生产规模的扩大,太阳电池成本不断下降,对太阳能的利用正在向深度和广度发展。当今一种清洁可再生新型绿色能源——太阳能,以其相比传统化石能源得天独厚的优势,正受到人们越来越多的关注。    为适应不同负载所需的电压等级,实际使用中以多块太阳能电池串联。为实现系统高效率运行,需要研究系统总输出功率与各太阳能电池电气参数之间的关系。有关资料表明,多块太阳能电池串联系统的输出功率与各太阳能电池端电压密切相关:当各太阳能电池板端电压相等时的的输出功率较端电压不相等时有很大提高。    由太阳能电池的直流模型可知,太阳能电池是一个复杂的非线性系统,其特性受自身工艺参数,太阳电池温度,外界光照条件等诸多因素影响。图1是两块太
[工业控制]
太阳电池串联均压<font color='red'>控制系统</font>原理及设计
基于PROFIBUS的现场总线控制系统
一. 引言     PROFIBUS现场总线是一种国际化、开放式异步通讯标准,于1996年被批准为国际标准。PROFIBUS已经广泛应用于制造业自动化、流程工业自动化等。它由三个部分:PROFIBUS-DP、PROFIBUS-FMS、PROFIBUS-PA。PROFIBUS-DP是一种高速低成本通讯,主要应用于现场设备级传输介质为屏蔽双绞线(EIA RS485),波特率从9600bps到12Mbps。艾默生公司的TDS-PA01总线适配器是PROFIBUS的兼容产品。TD3000系列变频器是高性能矢量型变频器,通过TDS-PA01总线适配器可方便地连接到Profibus总线上①,组成PROFIBUS工业现场总线控制系统。
[嵌入式]
采用arm7系列处理器的数据采集控制系统的设计方案介绍
引言 在一些工业现场中,设备长时间运行容易出现故障,为了监控这些设备,通常利用数据采集装置采集他们运行时的数据并送给PC机, 通过运行在PC机上的特定软件对这些数据进行分析,以此判断当前运行设备的状况,进而采取相应措施。当前常用的数据采集装置,在其系统软件设计中,多采用 单任务顺序机制。这样就存在系统安全性差的问题。这对于稳定性、实时性要求很高的数据采集装置来说是不允许的,因此有必要引入嵌入式操作系统。本文以 μC/OSII为操作系统平台,基于arm7系列处理器设计了一种通用的高性能数据采集控制系统。 1 系统总体设计 系统总体结构框图如图1所示。系统采用LPC2220工业级ARM7微控制器,内嵌μC/0S—II实时操作系统,
[单片机]
采用arm7系列处理器的数据采集<font color='red'>控制系统</font>的设计方案介绍
滞环PWM电流控制系统相轨迹电路图
滞环PWM电流控制是一种较为传统PWM电流控制方法 ,具有稳定性好,响应速度快,误差可控等优点。其系统结构如图2,系统相轨迹如图3。 图2 滞环PWM电流控制系统结构电路图 图3 滞环PWM电流控制系统相轨迹电路图 从相轨迹可以看出,相平面上存在一个稳定的极限环,不论系统初始状态如何,经过一次开关转换过程,相轨迹都会收敛于极限环,因此,滞环PWM控制具有非常好的稳定性和快速性。 滞环PWM控制系统的开关周期同滞环宽度直接相关,并同系统主电路参数L、C、R及输入、输出电压密切相关,为了得到开关周期同这些量间的解析关系,需要对实际系统进行简化,并作出合理化假设。 在实际系统中,滤波电容C的值往往都比较大,以保证较小的
[电源管理]
滞环PWM电流<font color='red'>控制系统</font>相轨迹电路图
AVR单片机在电冰箱控制系统中的设计
  随着电冰箱在日常生活中的普及,人们对电冰葙的性能和控制功能的要求越来越高,为了满足人们实际生活中电冰箱的需要,以AVR单片机为核心,通过硬件和软件设计了电冰箱的控制系统,试验结果表明,该系统性能指标和功能达到了预期目的,具有功能齐全、操作简单、使用方便等优点。该系统在同类产品中处于较高水平,具有较高的实用价值。   多年来电冰箱在国内市场上一直作为储物、保鲜的空间,人们对于电冰箱的需求也是最基本的冷冻、冻藏等功能。近年来,随着家用电冰箱的普及以及80后主流消费群体的迅速崛起,人们对电冰箱的性能要求越来越高,加速了对电冰箱功能和需求的转型和升级,相应地对电冰箱的控制功能要求也越来越高。   单片机自问世以来,性能不断提高,功能
[单片机]
AVR单片机在电冰箱<font color='red'>控制系统</font>中的设计
非压缩数字视频传输系统的设计
  引言   现在,国际上基于各种算法的数字视频传输标准已有很多,但压缩编码会对视频信息带来不同程度的损失,当压缩比高(数据传输速率低)时,图像失真严重,容易出现马赛克及块效应现象。在电视台内部等要求高清晰度的场合,这种失真是不允许的。因此,本文介绍了一种全数字、无压缩多路数字视频光纤传输系统,可实现2路视频和4路音频信号的同时传输,且容易实现,传输性能好,总体性价比高。   系统设计方案   一般情况下,在非压缩视频传输系统中,通常先把视频信号经编码、复接、电光变换之后,再经光纤传输到目的地,然后经光电转换、分接、解码等处理,还原成原始的视频信号。对于单路视频传输系统,复/解复接系统一般用通用的复/解复接芯片来实现,但
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved