基于ARM平台交互式演示系统的设计与实现
摘要:为了实现多种屏幕之间便捷的内容共享,提出了一种基于ARM平台的交互式演示系统的设计方法,能够彻底摆脱线缆的束缚,实现方便快捷的屏幕内容共享。该系统由基于ARM平台的演示终端、基于PC平台内容共享端及智能遥控终端三部分组成,其中基于PC平台内容共享端采用跨平台设计,负责将捕获到的屏幕信息通过改进后的RFB协议发送给演示终端,演示终端基于ARM平台,负责将接收到的信息进行解码并通过HDMI或VGA接口将图像信息显示在投影仪等显示设备上;智能遥控终端是一个运行在智能手机平台的应用软件,能够通过无线局域网与PC机实现互联,从而实现远程控制的功能。实验结果表明:该系统具有使用方便、成本低、占用带宽小、实时性高的优点。
在近年来随着科技的快速发展以及智能设备的普及,人们工作生活中的多媒体设备已经从传统的以个人电脑和电视机为主,转变成桌面电脑、智能手机、平板电脑和电视机共同存在。越来越多的电子设备已摆脱了“有线”的制约,能够通过无线的方式实现互联及信息传递,然而在传统的教学课堂及办公会议等需要进行演示及内容分享的场合,屏与屏之间的信息交互还是采用有线的方式进行连接,演讲者通常需要坐在特定的位置以方便通过线缆与投影设备相连,如果有其他演讲者需要使用投影设备,则经常需要换位置重新连接投影设备才能完成演讲者的切换,另一方面现有一些成熟的屏幕内容共享系统,例如微软的远程桌面协议、x系统、虚拟网络计算,主要针对PC机与PC机之间的屏幕共享,硬件成本较高。
针对以上问题,文中提出了一种基于ARM平台交互式演示系统的设计方法与具体实现。该系统由基于ARM平台的演示终端、基于PC平台内容共享端及智能遥控终端三部分组成,其中演示终端基于ARM平台,通过HDMI或VGA接口与投影仪等显示设备相连接;基于PC平台内容共享端采用多线程并发设计,将视频的接收、解码、显示分线程独立处理,在提高程序的健壮性的同时并降低了程序的耦合性,智能遥控终端则是一个运行在智能手机平台的应用软件,能够通过蓝牙与PC机实现互联,从而实现远程控的功能,以达到摆脱线缆束缚、降低成本、提高画质的目的。
1 系统组成与工作原理
本系统由基于ARM平台的演示终端、基于PC平台内容共享端及智能遥控终端三部分组成,其中演示终端通过WiFi网络与内容共享端相连,从而彻底摆脱了“线缆”的束缚,其系统架构图如图1所示。
为降低系统运行成本,演示终端采用的就是带图形加速功能的嵌入式多媒体应用处理器BCM2835作为演示终端的主控芯片,上面搭载嵌入式Linux操作系统,主要完成内容的
接收、解码、显示等功能,能够通过hdmi、DVI、VGA等多种接口连接智能电视、液晶显示器等屏幕。另一方面,基于PC平台内容共享端采用跨平台设计,整个软件构建在QT平台之上,借助QT平台良好的跨平台特性,通过捕获屏幕,并将内容通过改进的RFB协议发送给演示终端,从而达到屏幕共享的目的。
另一方面,为方便用户远程控制需要分享的内容,本系统提供了一个支持Android/Windows Phone平台的远程软件,通过在智能手机上安装该,将智能手机变成了一个名副其实的“电子教鞭”,从而达到远程控制、翻页等功能。
2 系统组成与工作原理
2.1 系统总体设计
基于ARM平台的交互式演示系统主要分为3个部分:基于ARM平台的演示终端、基于PC平台内容共享端、智能遥控终端。
1)其中的基于PC平台内容共享端是整个系统的核心,所有的数据交互都是通过这个服务实现的,换句话说这个服务器也就是整个系统的核心大脑,它负责捕捉和封装PC的桌面图像和发送帧缓冲刷新。
2)基于ARM平台的演示终端采用改进后的RFB协议来接收帧缓冲更新投影机的桌面图像,通过对帧缓冲数据进行解码再经过图像显示模块把图像显示出来。
3)智能遥控终端通过无线局域网与运行在PC平台的内容共享端进行交互,共享端收到指令后,能够实现ppt翻页、全屏等功能。
图2所示是系统主要的两大块内容和其内部的详细模块结构图,从图中可以看出每个实体部分所包含的子模块和子模块的负责的功能。
演示终端与基于PC平台的内容共享端通过信息交互模块采用RFB协议实现互联互通,内容共享端首先需要发连接请求到演示终端,双方进行协议交互验证后,连接成功后,基于PC平台内容共享端通过图像捕捉模块来获取窗口界面信息,并经过图像编码后发送到演示终端,演示终端接收到数据后通过数据解析模块进行图像解码,调用调色板等操作,
并将解码后的图像信息通过图像显示模块显示在大屏幕上,为节约带宽
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)