新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM平臺(tái)交互式演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于ARM平臺(tái)交互式演示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:為了實(shí)現(xiàn)多種屏幕之間便捷的內(nèi)容共享,提出了一種基于平臺(tái)的的設(shè)計(jì)方法,能夠徹底擺脫線纜的束縛,實(shí)現(xiàn)方便快捷的屏幕內(nèi)容共享。該系統(tǒng)由基于平臺(tái)的演示終端、基于PC平臺(tái)內(nèi)容共享端及智能遙控終端三部分組成,其中基于PC平臺(tái)內(nèi)容共享端采用跨平臺(tái)設(shè)計(jì),負(fù)責(zé)將捕獲到的屏幕信息通過(guò)改進(jìn)后的協(xié)議發(fā)送給演示終端,演示終端基于平臺(tái),負(fù)責(zé)將接收到的信息進(jìn)行解碼并通過(guò)HDMI或VGA接口將圖像信息顯示在投影儀等顯示設(shè)備上;智能遙控終端是一個(gè)運(yùn)行在智能手機(jī)平臺(tái)的應(yīng)用軟件,能夠通過(guò)無(wú)線局域網(wǎng)與PC機(jī)實(shí)現(xiàn)互聯(lián),從而實(shí)現(xiàn)遠(yuǎn)程控制的功能。實(shí)驗(yàn)結(jié)果表明:該系統(tǒng)具有使用方便、成本低、占用帶寬小、實(shí)時(shí)性高的優(yōu)點(diǎn)。

本文引用地址:http://m.butianyuan.cn/article/201609/303622.htm

在近年來(lái)隨著科技的快速發(fā)展以及智能設(shè)備的普及,人們工作生活中的多媒體設(shè)備已經(jīng)從傳統(tǒng)的以個(gè)人電腦和電視機(jī)為主,轉(zhuǎn)變成桌面電腦、智能手機(jī)、平板電腦和電視機(jī)共同存在。越來(lái)越多的電子設(shè)備已擺脫了“有線”的制約,能夠通過(guò)無(wú)線的方式實(shí)現(xiàn)互聯(lián)及信息傳遞,然而在傳統(tǒng)的教學(xué)課堂及辦公會(huì)議等需要進(jìn)行演示及內(nèi)容分享的場(chǎng)合,屏與屏之間的信息交互還是采用有線的方式進(jìn)行連接,演講者通常需要坐在特定的位置以方便通過(guò)線纜與投影設(shè)備相連,如果有其他演講者需要使用投影設(shè)備,則經(jīng)常需要換位置重新連接投影設(shè)備才能完成演講者的切換,另一方面現(xiàn)有一些成熟的屏幕內(nèi)容共享系統(tǒng),例如微軟的遠(yuǎn)程桌面協(xié)議、x系統(tǒng)、虛擬網(wǎng)絡(luò)計(jì)算,主要針對(duì)PC機(jī)與PC機(jī)之間的屏幕共享,硬件成本較高。

針對(duì)以上問(wèn)題,文中提出了一種基于ARM平臺(tái)的設(shè)計(jì)方法與具體實(shí)現(xiàn)。該系統(tǒng)由基于ARM平臺(tái)的演示終端、基于PC平臺(tái)內(nèi)容共享端及智能遙控終端三部分組成,其中演示終端基于ARM平臺(tái),通過(guò)HDMI或VGA接口與投影儀等顯示設(shè)備相連接;基于PC平臺(tái)內(nèi)容共享端采用多線程并發(fā)設(shè)計(jì),將視頻的接收、解碼、顯示分線程獨(dú)立處理,在提高程序的健壯性的同時(shí)并降低了程序的耦合性,智能遙控終端則是一個(gè)運(yùn)行在智能手機(jī)平臺(tái)的應(yīng)用軟件,能夠通過(guò)藍(lán)牙與PC機(jī)實(shí)現(xiàn)互聯(lián),從而實(shí)現(xiàn)遠(yuǎn)程控的功能,以達(dá)到擺脫線纜束縛、降低成本、提高畫(huà)質(zhì)的目的。

1 系統(tǒng)組成與工作原理

本系統(tǒng)由基于ARM平臺(tái)的演示終端、基于PC平臺(tái)內(nèi)容共享端及智能遙控終端三部分組成,其中演示終端通過(guò)WiFi網(wǎng)絡(luò)與內(nèi)容共享端相連,從而徹底擺脫了“線纜”的束縛,其系統(tǒng)架構(gòu)圖如圖1所示。

a.jpg

為降低系統(tǒng)運(yùn)行成本,演示終端采用的就是帶圖形加速功能的嵌入式多媒體應(yīng)用處理器BCM2835作為演示終端的主控芯片,上面搭載嵌入式操作系統(tǒng),主要完成內(nèi)容的

接收、解碼、顯示等功能,能夠通過(guò)hdmi、DVI、VGA等多種接口連接智能電視、液晶顯示器等屏幕。另一方面,基于PC平臺(tái)內(nèi)容共享端采用跨平臺(tái)設(shè)計(jì),整個(gè)軟件構(gòu)建在QT平臺(tái)之上,借助QT平臺(tái)良好的跨平臺(tái)特性,通過(guò)捕獲屏幕,并將內(nèi)容通過(guò)改進(jìn)的協(xié)議發(fā)送給演示終端,從而達(dá)到屏幕共享的目的。

另一方面,為方便用戶遠(yuǎn)程控制需要分享的內(nèi)容,本系統(tǒng)提供了一個(gè)支持Android/Windows Phone平臺(tái)的遠(yuǎn)程軟件,通過(guò)在智能手機(jī)上安裝該,將智能手機(jī)變成了一個(gè)名副其實(shí)的“電子教鞭”,從而達(dá)到遠(yuǎn)程控制、翻頁(yè)等功能。

2 系統(tǒng)組成與工作原理

2.1 系統(tǒng)總體設(shè)計(jì)

基于ARM平臺(tái)的主要分為3個(gè)部分:基于ARM平臺(tái)的演示終端、基于PC平臺(tái)內(nèi)容共享端、智能遙控終端。

1)其中的基于PC平臺(tái)內(nèi)容共享端是整個(gè)系統(tǒng)的核心,所有的數(shù)據(jù)交互都是通過(guò)這個(gè)服務(wù)實(shí)現(xiàn)的,換句話說(shuō)這個(gè)服務(wù)器也就是整個(gè)系統(tǒng)的核心大腦,它負(fù)責(zé)捕捉和封裝PC的桌面圖像和發(fā)送幀緩沖刷新。

2)基于ARM平臺(tái)的演示終端采用改進(jìn)后的協(xié)議來(lái)接收幀緩沖更新投影機(jī)的桌面圖像,通過(guò)對(duì)幀緩沖數(shù)據(jù)進(jìn)行解碼再經(jīng)過(guò)圖像顯示模塊把圖像顯示出來(lái)。

3)智能遙控終端通過(guò)無(wú)線局域網(wǎng)與運(yùn)行在PC平臺(tái)的內(nèi)容共享端進(jìn)行交互,共享端收到指令后,能夠?qū)崿F(xiàn)ppt翻頁(yè)、全屏等功能。

圖2所示是系統(tǒng)主要的兩大塊內(nèi)容和其內(nèi)部的詳細(xì)模塊結(jié)構(gòu)圖,從圖中可以看出每個(gè)實(shí)體部分所包含的子模塊和子模塊的負(fù)責(zé)的功能。

b.jpg

演示終端與基于PC平臺(tái)的內(nèi)容共享端通過(guò)信息交互模塊采用RFB協(xié)議實(shí)現(xiàn)互聯(lián)互通,內(nèi)容共享端首先需要發(fā)連接請(qǐng)求到演示終端,雙方進(jìn)行協(xié)議交互驗(yàn)證后,連接成功后,基于PC平臺(tái)內(nèi)容共享端通過(guò)圖像捕捉模塊來(lái)獲取窗口界面信息,并經(jīng)過(guò)圖像編碼后發(fā)送到演示終端,演示終端接收到數(shù)據(jù)后通過(guò)數(shù)據(jù)解析模塊進(jìn)行圖像解碼,調(diào)用調(diào)色板等操作,

并將解碼后的圖像信息通過(guò)圖像顯示模塊顯示在大屏幕上,為節(jié)約帶寬,實(shí)時(shí)更新模塊負(fù)責(zé)監(jiān)控共享內(nèi)容是否發(fā)生了變化,如果發(fā)生了,則只發(fā)生發(fā)生內(nèi)容改變的矩形區(qū)域信息給演示終端,從而達(dá)到節(jié)約帶寬的目的。

智能遙控終端為基于ARM平臺(tái)的交互式演示系統(tǒng)增添了遠(yuǎn)程控制的優(yōu)點(diǎn),從而可以實(shí)現(xiàn)遠(yuǎn)程控制PC端中的PPT翻頁(yè)等行為,由于只需安裝一個(gè)APP軟件就可以將Android/Wind ows phone手機(jī)變成一個(gè)遠(yuǎn)程遙控端,實(shí)現(xiàn)遠(yuǎn)程控制,因而使用非常便捷。

2.2 RFB協(xié)議的改進(jìn)

RFB是一個(gè)遠(yuǎn)程圖形用戶的簡(jiǎn)單協(xié)議,由于工作在幀緩存級(jí)別上,故可用于所有的窗口系統(tǒng),目前不少屏幕共享軟件就采用該協(xié)議,如VNC,但由于RFB協(xié)議沒(méi)有對(duì)應(yīng)用場(chǎng)景進(jìn)行優(yōu)化,因此存在占用帶寬較大的缺點(diǎn)。另一方面,由于在屏幕共享過(guò)程中大部分場(chǎng)景主要是文字、圖片的內(nèi)容共享。

針對(duì)傳統(tǒng)RFB協(xié)議占用帶寬大的問(wèn)題,提出一種根據(jù)針對(duì)文字、圖片內(nèi)容共享的更新機(jī)制,其更新思想為,僅同步內(nèi)容已發(fā)生變化的區(qū)域,具體的說(shuō),就是通過(guò)檢測(cè)前一幀圖像數(shù)據(jù)與當(dāng)前幀數(shù)據(jù)的梯度變化信息,找出需要更新的數(shù)據(jù),再將需要更新的區(qū)域內(nèi)容傳遞給對(duì)端。區(qū)域更新算法如下:

c.jpg

函數(shù)ContentUpdate通過(guò)檢測(cè)前后兩幀圖片各相素點(diǎn)的梯度變化情況,當(dāng)梯度變化大于指定閾值時(shí),說(shuō)明內(nèi)容發(fā)生了變化,則通過(guò)record函數(shù)記錄像素點(diǎn)的位置信息,并將需要同步的內(nèi)容發(fā)送給對(duì)端,即演示終端。

2.3 演示終端的實(shí)現(xiàn)

考慮到成本,選用樹(shù)莓派作為演示終端的硬件平臺(tái),樹(shù)莓派是由英國(guó)樹(shù)莓派基金會(huì)所開(kāi)發(fā),目的以低價(jià)硬件及自由軟件刺激在學(xué)校的基本的電腦科學(xué)教育,該平臺(tái)銷售價(jià)格僅為35美元,卻擁有ARM1176JZF-S核心(ARM11系列),配有視頻輸出RCA視頻,支持PAL和NTSC制式,支持HDMI(1.3和1.4),分辨率為640 x 350至1920 x 1200支持PAL和NTSC制式,可以方便的與投影機(jī)、顯示器、電視機(jī)等圖像顯示設(shè)備連接,下圖3為演示終端硬件連接圖。

d.jpg

如圖3所示,演示終端支持HDMI接口,也可通過(guò)轉(zhuǎn)換器將HDMI轉(zhuǎn)為VGA接口,以向下兼容。平臺(tái)運(yùn)行2.6.30內(nèi)核,布置非常簡(jiǎn)單,僅需通過(guò)替換SD卡上的內(nèi)核文件即可達(dá)到升級(jí)系統(tǒng)的目的;

演示終端負(fù)責(zé)的主要功能包括:1)信息交互模塊,接受局域網(wǎng)內(nèi)服務(wù)器的請(qǐng)求,通過(guò)三次握手建立TCP/IP連接,驗(yàn)證服務(wù)器發(fā)送過(guò)來(lái)的RFB協(xié)議版本號(hào)等信息;2)數(shù)據(jù)解析模塊,接受服務(wù)器端發(fā)送過(guò)來(lái)的屏幕幀緩沖的更新消息,將得到的消息進(jìn)行解碼;3)實(shí)時(shí)更新模塊,把解碼后的數(shù)據(jù)送到顯示緩存,還原并在顯示設(shè)備上顯示服務(wù)器的桌面信息;4)更新請(qǐng)求模塊,更具配置客戶端主動(dòng)請(qǐng)求更新,其具體流程圖如圖4所示。

e.jpg

2.4 基于PC平臺(tái)內(nèi)容共享端的實(shí)現(xiàn)

基于PC平臺(tái)內(nèi)容共享端采用跨平臺(tái)設(shè)計(jì),其軟件架構(gòu)圖如圖4所示。

由于整個(gè)軟件構(gòu)建在QT平臺(tái)之上,因此不需要更改代碼,僅需要重新編譯即可支持包括Windows、在內(nèi)的多個(gè)平臺(tái),其中各個(gè)模塊的功能描述如下:1)信息交互模塊:這個(gè)模塊主要負(fù)責(zé)處理與演示終端建立連接、數(shù)據(jù)的發(fā)送接受、終止連接等,以及相關(guān)信息的驗(yàn)證;2)圖像捕捉模塊:這個(gè)模塊主要負(fù)責(zé)捕捉桌面圖像,并把圖像傳給圖像處理模塊;3)圖像處理模塊:這個(gè)模塊的主要功能是把屏幕圖像信息進(jìn)行壓縮編碼處理,然后把信息傳給信息交互模塊;4)實(shí)時(shí)更新模塊:通過(guò)設(shè)定計(jì)時(shí)器定時(shí)獲取屏幕的信息進(jìn)行處理,每隔一定時(shí)間檢查有沒(méi)有更新,如果有更新則把更新區(qū)域通過(guò)圖像處理模塊處理后再傳送給信息交互模塊;5)網(wǎng)絡(luò)通信模塊:這個(gè)模塊主要完成RFB協(xié)議中的網(wǎng)絡(luò)連接部分工作;6)遠(yuǎn)程控制模塊:連接建立后,手機(jī)控制終端通過(guò)按鈕控制PPT翻頁(yè)。

2.5 智能遙控終端的實(shí)現(xiàn)

考慮到目前智能手機(jī)的廣泛使用以及遠(yuǎn)程控制的實(shí)際需求,我們?cè)O(shè)計(jì)了一個(gè)APP軟件,該軟件目前支持Android及Windows phone平臺(tái),該軟件主要包括界面、遠(yuǎn)程連接模塊兩部分,該軟件具有自動(dòng)發(fā)現(xiàn)演示終端的功能,能夠自動(dòng)檢測(cè)到在同一局域網(wǎng)內(nèi)的正在運(yùn)行內(nèi)容共享端,當(dāng)檢測(cè)到有多個(gè)共享端運(yùn)行時(shí),可根據(jù)用戶的輸入進(jìn)行選擇,并與之建立連接,從而達(dá)到遠(yuǎn)程控制的目的。

3 系統(tǒng)測(cè)試結(jié)果

3.1 測(cè)試環(huán)境準(zhǔn)備

為更好的說(shuō)明本系統(tǒng)的演示效果,本文設(shè)計(jì)了三組實(shí)驗(yàn)進(jìn)行測(cè)試:1)演示功能測(cè)試,包括word文檔、ppt文檔的內(nèi)容共享效果測(cè)試;2)手機(jī)遠(yuǎn)程控制功能測(cè)試;3)與目前現(xiàn)有屏幕共享軟件的性能比較測(cè)試。

具體測(cè)試環(huán)境如下:54M無(wú)線路由器一臺(tái),用于搭建無(wú)線局域網(wǎng),用于屏幕內(nèi)容分享演示的筆記本兩臺(tái),均采用Windows平臺(tái)、1280x800的屏幕分辨率,通過(guò)WiFi信號(hào)連入同一個(gè)網(wǎng)絡(luò);智能手機(jī)一臺(tái),上面安裝了遠(yuǎn)程控制端APP。

3.2 功能測(cè)試及結(jié)果

根據(jù)實(shí)驗(yàn)計(jì)劃,分別測(cè)試了word文檔、ppt文檔的演示效果及手機(jī)遠(yuǎn)程控制功能,其測(cè)試流程如下:

1)打開(kāi)基于ARM平臺(tái)的演示終端,并通過(guò)VGA接口與顯示器相連,同時(shí)演示終端通過(guò)tcp/ip網(wǎng)絡(luò)與無(wú)線路由器A相連,并在顯示器上顯示演示終端目前獲取的動(dòng)態(tài)IP地址。

2)筆記本運(yùn)行內(nèi)容共享端軟件,并輸入演示終端的IP地址。

3)分別運(yùn)行word及ppt文檔,檢測(cè)與演示終端相連顯示器上的內(nèi)容是否與筆記本上的內(nèi)容一致。

4)在手機(jī)上運(yùn)行遠(yuǎn)程控制軟件,執(zhí)行翻頁(yè)功能,觀察執(zhí)行效果。

其測(cè)試結(jié)果分別如圖5、圖6所示。圖中樹(shù)莓派通過(guò)hdmi轉(zhuǎn)VGA接口與液晶顯示器相連接,筆記本通過(guò)網(wǎng)絡(luò)將屏幕上的內(nèi)容共享至樹(shù)莓派連接的顯示器上。

f.jpg

為有效評(píng)估在各個(gè)應(yīng)用場(chǎng)景下各軟件帶寬占用率的不同,測(cè)試內(nèi)容分為文字為主和以視頻播放為主的屏幕內(nèi)容共享,為保證測(cè)試結(jié)果的可比性,測(cè)試時(shí)采用同一個(gè)路由器,具體測(cè)試用例描述如下

g.jpg

測(cè)試結(jié)果表明:該交互式演示系統(tǒng)能夠徹底擺脫線纜的束縛,實(shí)現(xiàn)方便快捷的內(nèi)容共享,與傳統(tǒng)屏幕共享軟件相比,具有延時(shí)小的優(yōu)點(diǎn)。

4 結(jié)束語(yǔ)

本文詳細(xì)介紹了一種基于ARM平臺(tái)交互式演示系統(tǒng)的設(shè)計(jì)方法。該系統(tǒng)使用戶徹底擺脫了線纜的束縛,能夠在較低的成本下通過(guò)無(wú)線網(wǎng)絡(luò)無(wú)縫的將需要共享的內(nèi)容投射到指定的屏幕如液晶電視、投影儀等顯示設(shè)備。實(shí)驗(yàn)表明,具有使用方便、成本低、占用帶寬小、實(shí)時(shí)性高的優(yōu)點(diǎn),能夠滿足日常會(huì)議等場(chǎng)合內(nèi)容共享的需求,具有一定的應(yīng)用前景與推廣價(jià)值。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉