当前位置:首页 > 单片机 > 单片机
[导读] 本文介绍了基于嵌入式Linux平台视频传输与控制系统的构建,给出了跨客户端通过3G网络进行远程视频传输的技术实现,并总结了在实现过程中遇到的难点以及对应的解决方案。 3G是第三代移动通信技术,结

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

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

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


系统硬件平台核心处理器采用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提供的相应接口完成。为了方便,将视频采集的相关信息封装到以下结构体中:

采集程序通过函数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所示。


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所示。


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

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



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


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭