新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于AVR EVK1105的移动远程桌面多媒体设备

基于AVR EVK1105的移动远程桌面多媒体设备

作者:时间:2017-06-08来源:网络收藏

本文引用地址:http://www.eepw.com.cn/article/201706/351017.htm

一、项目概述

1.1 引言

在我们现在的日常生活中,计算机已经很普及了,在很多家庭里电脑已经像电视机一样成为了一项必备的电器设备,但是要想操作电脑,即使是只做一些短暂的处理,也得坐到电脑前才能完成,有时很不方便,这就使得远程操作电脑成为了一个很重要的技术。同时随着智能终端设备的广泛普及,智能设备的性能随着技术的提高越来越好,现在已经完全具有完成远程操作电脑的能力。

所以,基于智能设备的远程控制系统的研究与实现具有很大的意义。


1.2 项目背景

现在的这类系统的研究现状大多是利用手机的短信功能或拨号给一个虚拟号码的方式实现的,而且也只能对电脑进行一些简单的无显示的操作。短信方式的主要是利用GSM短信遥控开关技术,通过手机短信操作电脑;拔号振铃方式主要是在拨打号码前要先设置主机号码,设置好主机号码后,才能对电脑进行简单控制。

现在实现的这些方式都有很多缺陷的地方,首先,限制太大,只有手机才能完成这些功能;其次,使用很不方便,用户必须记住那些完成特定功能的特殊短信,一旦发送错误的短信控制将失败,最不好的是控制失败用户也无法及时的知道,会耽误很多事儿。最后,现在的这些实现功能太弱,只能做有限的操作,而且没有图形化的界面,给普通用户带来了很多不便。

二、需求分析

2.1 功能要求

1.“缩放、拉伸、拖动”功能

对由PC机传输过来的“桌面”进行缩放、拉伸、拖动定位,实现对“桌面”的精确显示;

2.“事件响应”功能:

终端设备接收用户的点击、输入事件,并将发送到PC机,PC机响应用户事件。

3.“网络传输”功能

在终端和PC机之间需要用网络传输来完成数据的传输,从而让PC端能响应用户具体的操作,终端能显示PC端的状态

4.“流媒体”功能

如果只是单纯的显示PC端的画面的话,不仅会让用户的体验大打折扣,而且是对智能设备强大功能的极大浪费,在终端用户一样能看PC端存放的电影,听PC端的音乐等多媒体资料。

2.2 性能要求

1.终端设备必须有每秒至少解码并显示25帧画面的运算能力,这样终端的远程显示才能流畅。

2.终端与目标机之间的网络传输速度至少要有75KB每秒,才能使终端显示流畅。

3.以上属于普通性能要求,不包括高清文件的播放与庞大软件的运行要求。

三、方案设计

3.1 系统功能实现原理

系统硬件结构框图

各模块协同合作,最终完成终端部分的工作。

显示模块用于显示电脑端的桌面画面,按键及触摸屏模块负责接收用户的输入,然后把输入交给MCU统一管理,耳机模块是流媒体播放时用做声音的输出的,最后就是网络模块部分了,由网络芯片通过网络接口与PC端相连通信,传输数据。

3.2 硬件平台选用及资源配置

因为我们这个参赛题目与流媒体技术有很多共同点,所以申请32位的,这样能充分利用硬件平台的特性,使我们的应用得到更好的实现。

3.3系统软件架构

3.3.1按软件的运行环境分类

1.电脑端软件

(1)网络通信模块:这个模块包括网络数据的接收与发送,而且它只管接收和发送数据;它接收来自终端的网络数据,然后把这些数据转交给下面的输入模块进行具体的处理。

(2)输入模块:接受上面网络模块传递过来的用户操作命令,根据用户的具体操作命令调用具体的系统API在电脑端完成相应的操作。

(3)输出模块:采集电脑的屏幕显示,然后编码使要传输的数据量变小,然后把编码后的数据传送给上面的网络通信模块,进行往终端设备的传输。

2.终端软件

(1)网络通信模块:这个模块与电脑端的基本一样,包括网络数据的接收与发送,而且它只管接收和发送数据;它接收来自电脑端的网络数据,然后把这些数据转交给下面的输入模块进行具体的处理。

(2)输入模块:接受上面网络模块传递过来的电脑端的桌面图像信息,对图像信息进行解码,然后将解码好的数据送给显示子模块,显示到终端设备上。

(3)输出模块:采集用户对终端设备的操作,如点击,拖拽等,然后调用标准化处理子模块,把对终端设备的操作转化为对电脑的标准操作并封装记录,然后把封装好的标准操作信息数据传送给上面的网络通信模块,进行往电脑端的传输。

3.3.2软件整体模块化分类

1.采集电脑桌面画面模块

这个模块就使完成电脑端的桌面画面信息的采集工作,可以用截屏等多种方式实现,然后将采集的数据交给下面的编码模块。

2.编码模块

完成对电脑端桌面画面信息的编码工作,然后把编码好的数据交给下面的网络传输模块。

3.网络传输模块

接受编码好的数据,然后把数据发送给指定ip的终端设备。或者接受来自终端的设备数据,然后发送给指定ip的电脑端。

4.终端设备解码模块

接受来自电脑端的编码好的桌面画面数据,然后进行相应的解码,解码成位图文件。

5.终端显示模块

按照解码好的位图文件,把图像显示在终端的显示设备上。

6.终端操作采集模块

采集用户在终端上的操作信息,然后传送给下面的操作数据标准化及封装模块。

7.操作数据标准化及封装模块

接受采集来的原始操作数据,然后把它转化成电脑端的标准的操作信息,并且封装打包好。传送给上面的网络模块。

8.电脑端的执行模块

接受上面网络模块传送过来的标准操作数据,调用特定的系统API完成相应的操作。

3.4 系统软件流程

程序运行流程图

3.5 系统预计实现结果

1.可以通过网络在终端上实时的显示电脑端的画面。

2.可以通过对终端设备上的操作反应到电脑端上对电脑的相应操作。

3.可以利用开发平台的特性,实现流媒体的播放。



评论


技术专区

关闭