孫志勇
摘 要:研究了基于網(wǎng)絡(luò)控制的無線投影系統(tǒng)的實現(xiàn)路徑,闡述了無線投影網(wǎng)關(guān)軟硬件的規(guī)劃路徑,根據(jù)TCP/IP 協(xié)議綜合運用ARM 嵌入式系統(tǒng)及無線通信及監(jiān)控等技術(shù)完成了一個多用戶無線投影控制系統(tǒng)的設(shè)計。詳細介紹了無線投影網(wǎng)關(guān)及管理軟件的實現(xiàn)路徑,該系統(tǒng)適用于PC端及手機Android平臺,用戶端采用WiFi通信技術(shù)同無線投影網(wǎng)關(guān)建立通信過程,使無線投影功能得以有效實現(xiàn)。多個用戶和平臺可共同使用無線投影功能,切換方式為一主多從。實驗測試結(jié)果證明了該系統(tǒng)無線投影功能的可行性。
關(guān)鍵詞:無線投影系統(tǒng);網(wǎng)絡(luò)控制;無線局域網(wǎng);實現(xiàn)路徑
中圖分類號:TN 92
文獻標志碼:A
文章編號:1007-757X(2020)11-0048-03
Abstract:This paper mainly studies the implementation path of wireless projection system based on network control, and expounds the planning path of hardware and software of wireless projection gateway. It is based on TCP/IP protocol and integrated with ARM embedded system and wireless communication and monitoring technology. The design of a multi-user wireless projection control system, the implementation path of the wireless projection gateway and management software are introduced in detail. The system is suitable for the PC terminal and the mobile phone Android platform. The user terminal uses the WiFi communication technology to establish a communication process with the wireless projection gateway to enable wireless. The projection function is effectively implemented. Multiple users and platforms can use the wireless projection function together, and the switching mode is one master and multiple slaves. The experimental test results prove the feasibility of the wireless projection function of the system.
Key words:wireless projection system;network control;wireless local area network;implementation path
0?引言
快速發(fā)展的網(wǎng)絡(luò)信息及移動終端技術(shù)為投影設(shè)備在日常工作生活中的普及應(yīng)用提供了技術(shù)支撐,多媒體應(yīng)用隨著音視頻和編碼技術(shù)的日益發(fā)展成熟而得到了普及應(yīng)用,采用多媒體的交互模式可在對交互雙方意圖進行直觀表達的同時顯著提升交流效率,作為一種多媒體主要實現(xiàn)方式投影仍然是交互領(lǐng)域內(nèi)的研究熱點,傳統(tǒng)接線式投影方式受到布線和功能不足的限制已經(jīng)難以滿足現(xiàn)代多媒體交互需求。投影機投影功能的實現(xiàn)需連接其他相關(guān)設(shè)備(包括中控設(shè)備、計算機和音響等),設(shè)備數(shù)量越多連接復(fù)雜程度及成本越高,近年來傳統(tǒng)投影控制模式逐漸被基于網(wǎng)絡(luò)的控制模式取代,主要由PC端或手機移動終端通過無線連接實現(xiàn)對投影設(shè)備及功能的控制,顯著減少了使用成本及后期設(shè)備維護工作,本文主要對使用網(wǎng)絡(luò)控制的無線投影解決方案進行設(shè)計。
1?現(xiàn)狀分析
普及應(yīng)用的智能嵌入式設(shè)備為嵌入式操作系統(tǒng)功能的實現(xiàn)提供了支撐,目前作為一種優(yōu)質(zhì)的移動設(shè)備系統(tǒng)Android系統(tǒng)(基于 Linux內(nèi)核)具備開源且包含移動操作系統(tǒng)所需功能的優(yōu)勢(提供豐富實用的函數(shù)庫和工具),在各種功能的移動設(shè)備中應(yīng)用廣泛。Linux提供了軟件棧核心系統(tǒng)服務(wù)(包括管理網(wǎng)絡(luò)、文件、內(nèi)存、進程以及設(shè)備驅(qū)動等),再結(jié)合嵌入式系統(tǒng)(基于ARM Cortex內(nèi)核)即可實現(xiàn)相關(guān)應(yīng)用程序的開發(fā)和使用。 WinCE及Linux 系統(tǒng)是較為常用的系統(tǒng)選擇方案,無線投影系統(tǒng)設(shè)計的關(guān)鍵在于無線投影網(wǎng)關(guān),目前相關(guān)研究已取得一定的進展,例如,結(jié)合運用CS535 南橋、AMD Geode處理器及USB控制器等設(shè)計的投影網(wǎng)關(guān)實現(xiàn)了無線投影功能?;赪HDI的高清視頻通訊協(xié)議雖具備較高的傳輸速率但影響了傳輸質(zhì)量。已有無線投影方式彌補了傳統(tǒng)布線和功能存在的問題,但在多用戶接入及資料共享等方面受到了一定的限制,基于移動終端實現(xiàn)多用戶無線投影的研究較少[1]。為此本文主要闡述了無線投影系統(tǒng)的實現(xiàn)方法。
2?無線投影網(wǎng)關(guān)系統(tǒng)設(shè)計
本文所設(shè)計的無線投影系統(tǒng)除 PC 機外還支持手持移動設(shè)備,對網(wǎng)絡(luò)投影機的控制及監(jiān)控通過無線局域網(wǎng)實現(xiàn),計算機和投影機間需通過無線投影網(wǎng)關(guān)設(shè)備實現(xiàn)畫面?zhèn)鬏敼δ?,先通過wifi無線發(fā)射PC 或移動終端信息,然后向投影儀和液晶電視機傳送(通過無線網(wǎng)關(guān))并在投影系統(tǒng)展示內(nèi)容,系統(tǒng)可在多個用戶間切換,實現(xiàn)了畫面的實時拍攝及顯示功能(采用移動設(shè)備)。集成了網(wǎng)絡(luò)無線接口的無線投影機網(wǎng)關(guān)在完成屏幕圖像的截取及壓縮編碼后(通過 PC 或便攜機,采用 802.11無線局域網(wǎng)標準),通過無線傳輸向投影機網(wǎng)關(guān)傳送屏幕圖像信息,再經(jīng)過解碼后傳輸至投影機上顯示(通過集成VGA 接口完成)。無線投影網(wǎng)關(guān)的結(jié)構(gòu),如圖1所示。
(1) 無線投影網(wǎng)關(guān)硬件設(shè)計
作為投影機的重要構(gòu)成設(shè)備,設(shè)計無線投影網(wǎng)關(guān)硬件的基礎(chǔ)和關(guān)鍵在于選擇合適的處理器。目前許多主流處理器包括數(shù)據(jù)傳輸速率在內(nèi)的應(yīng)用性能都在不斷提高,多核處理器在兼顧峰值性能及使用功耗方面發(fā)揮出了較大的優(yōu)勢,為滿足系統(tǒng)對功能性及靈活性的需求,本文選擇了具備擴展及低功耗優(yōu)勢的嵌入式ARMCortex-A9 微處理器,該處理器可有效滿足無線投影系統(tǒng)對使用性能的較高需求,實現(xiàn)了ARMv7 體系的功能,其體系結(jié)構(gòu)可同時執(zhí)行多指令且長度可根據(jù)實際需要進行動態(tài)變化,并且采用了八階段管道處理器,基本不受設(shè)備低功率和散熱性差的影響,兼具單核處理器功能及多核處理器(可配置)功能,在提高無線投影系統(tǒng)性能的同時降低了系統(tǒng)功耗,并實現(xiàn)了多個設(shè)備間的共享。
(2) 無線投影網(wǎng)關(guān)軟件設(shè)計
軟件設(shè)計包括客戶端終端軟件(主要包括屏幕抓取、圖片壓縮、無線傳輸)和投影網(wǎng)關(guān)軟件,投影網(wǎng)關(guān)設(shè)備可同PC機、手機、平板電腦相互連接,終端軟件的主要功能在于抓取并壓縮電腦或手機Android系統(tǒng)中的圖像,再將處理后的圖片借助無線局域網(wǎng)完成到投影機網(wǎng)關(guān)上的傳輸,投影網(wǎng)關(guān)軟件完成數(shù)據(jù)及圖像信息的接收和解碼,最終投影顯示。投影網(wǎng)關(guān)中內(nèi)置一小型web服務(wù)器負責存儲客戶端相關(guān)軟件,設(shè)備端操作系統(tǒng)也需安裝嵌入式 web 服務(wù)器以確保登陸無線網(wǎng)關(guān)服務(wù)器后即可完成應(yīng)用系統(tǒng)的下載和安裝。使用終端軟件需先建立起同無線網(wǎng)關(guān)設(shè)備間的聯(lián)系,將網(wǎng)關(guān)固定IP輸入到客戶端瀏覽器后在 web 服務(wù)器上下載儲存并安裝相關(guān)應(yīng)用軟件?;谇度胧较到y(tǒng)的無線投影端主要負責網(wǎng)絡(luò)通信、圖像解碼及顯示,具體通過 C 語言的使用實現(xiàn)數(shù)據(jù)圖像的接收和解碼[2]。隨著無線通訊協(xié)議呈多樣化發(fā)展趨勢,在對操作系統(tǒng)的功能、性能、成本等因素進行充分考慮的基礎(chǔ)上,本文選用了目前較為成熟的商業(yè)操作系統(tǒng)WinCE ,該系統(tǒng)具備支持 IE 瀏覽器、體積小、成本低、功能豐富等優(yōu)勢,廣泛應(yīng)用于多媒體終端產(chǎn)品中,支持常用辦公文檔工具(包括Word、PPT、Excel 、PDF 等),可有效滿足本文投影網(wǎng)關(guān)設(shè)備的功能需求。
3?無線投影系統(tǒng)功能的設(shè)計與實現(xiàn)
3.1?系統(tǒng)整體結(jié)構(gòu)設(shè)計
本文設(shè)計的系統(tǒng)主要由投影儀、移動設(shè)備和 PC 機在內(nèi)的客戶終端、投影網(wǎng)關(guān)服務(wù)端構(gòu)成,系統(tǒng)工作流程框圖,如圖2所示。
無線投影網(wǎng)關(guān)同投影儀相連,投影儀負責顯示接收的顯存信息,顯存數(shù)據(jù)在客戶端的獲取及發(fā)送使用投影管理軟件完成,顯存數(shù)據(jù)(在PC機或手持移動設(shè)備中)在完成編碼后向無線投影網(wǎng)關(guān)傳輸(使用基于 TCP/IP的無線通信,所采用的無線局域網(wǎng)基于802.11協(xié)議組),網(wǎng)關(guān)對接收到的顯存數(shù)據(jù)進行解碼后,通過相關(guān)接口(如VGA或HDMI)向投影儀傳送并顯示。投影管理軟件在客戶端上開始運行后,顯存數(shù)據(jù)由各從機間斷獲取后向主機發(fā)送,管理軟件上的預(yù)覽框同從機屏幕信息相對應(yīng),主機編碼顯存數(shù)據(jù)再向無線投影網(wǎng)關(guān)傳送,由投影網(wǎng)關(guān)解碼后在投影儀上顯示,通過點擊投影管理軟件上的預(yù)覽框選擇相應(yīng)的從機投影并將其顯存數(shù)據(jù)編碼后向投影網(wǎng)關(guān)傳送解碼,實現(xiàn)從機與投影網(wǎng)關(guān)間通信的自由切換,從而滿足多用戶無線投影需求[3]。多用戶投影網(wǎng)關(guān)結(jié)構(gòu),如圖3所示。
3.2?PC終端管理軟件設(shè)計
客戶端軟件與無線投影網(wǎng)關(guān)進行無線通信并向其傳送屏幕顯存數(shù)據(jù),系統(tǒng)終端管理軟件工作流程,如圖4所示。
通過對顯存數(shù)據(jù)進行壓縮編碼處理,可有效避免網(wǎng)絡(luò)傳輸阻塞問題的發(fā)生,以使無線傳輸速率得以有效提升,考慮到一旦壓縮過大極易使傳輸圖像出現(xiàn)失真的情況,因此本文通過JPEG圖像編碼算法(其圖像的壓縮率是30∶1)的使用實現(xiàn)圖像清晰度和傳輸速率的有效平衡,在確保基本不損耗圖像質(zhì)量的同時實現(xiàn)圖像適中比例的無線傳輸過程。在visual studio 上將客戶端管理軟件通過C++編程語言的使用完成具體設(shè)計過程。本地地址及相關(guān)應(yīng)用端口由主機通過bind函數(shù)(位于socket類中)的調(diào)用實現(xiàn)綁定并開啟監(jiān)聽功能,在同主機進行連接時從機需通過connect函數(shù)(位于socket類中)的調(diào)用完成具體連接請求的發(fā)送,主機對從機的連接請求通過accept 函數(shù)(位于socket類中)的調(diào)用實現(xiàn)自動響應(yīng)及通訊過程,由從機發(fā)送的顯存數(shù)據(jù)可根據(jù)實際需要新建線程完成接收。在線程中對所接收顯存數(shù)據(jù)進行解碼,通過此種方式完成桌面信息在主機監(jiān)視窗口中的顯示。主機根據(jù)投影從機桌面信息切換請求,先向所需投影的從機傳送套接字(用于無線投影網(wǎng)關(guān)),接下來將與投影網(wǎng)關(guān)的通信斷開,以確保接收到套接字的從機后即切斷同主機間的連接,然后同投影網(wǎng)關(guān)建立通信并向其傳送顯存數(shù)據(jù)[4]。同樣需斷開投影網(wǎng)關(guān)與從機間的通信,和投影主機重新建立通信連接并向其發(fā)送切換信號,在此基礎(chǔ)上實現(xiàn)主機同無線投影網(wǎng)關(guān)間通信關(guān)聯(lián)的建立。
3.3?手持移動設(shè)備管理軟件設(shè)計
作為一種跨平臺開源集成開發(fā)環(huán)境,Eclipse以Java語言作為主要開發(fā)使用語言,其本質(zhì)為一種框架平臺,提供豐富的插件具備較佳的靈活性,支持Android插件極大的簡化了 Android APP開發(fā)流程。針對手持移動設(shè)備,本文采用 Eclipse平臺完成客戶端無線投影管理軟件的設(shè)計(具體通過Java編程語言完成),無線投影管理軟件同包括IP和端口號在內(nèi)的服務(wù)端通過 socket 類函數(shù)的調(diào)用完成相互綁定從而實現(xiàn)通信連接的建立,接下來服務(wù)端后臺通過service類的調(diào)用讀取數(shù)據(jù)(位于framebuffer中)完成具體顯存數(shù)據(jù)的獲取,主要函數(shù)表達如下[5]。
flie input streambuf=new file("/dev/graphics/fb0");
Data input stream d stream = new stream(buf);d stream.read fully(piex);
在無線投影設(shè)計時,基于手機相機功能開發(fā)并實現(xiàn)系統(tǒng)拍攝畫面的功能,具體相機類通過使用surfaceview完成自定義,從而能夠?qū)崟r顯示攝像的畫面,移動設(shè)備客戶端投影管理軟件獲取相機數(shù)據(jù)后進行解析編碼,再將其發(fā)送到投影網(wǎng)關(guān)進行后續(xù)顯示。
3.4?無線投影網(wǎng)關(guān)設(shè)計與實現(xiàn)
(1) 硬件設(shè)計
本文通過便攜式無線投影網(wǎng)關(guān)的設(shè)計使多用戶在客戶端實時切換投影功能得以有效實現(xiàn),最終使投影儀實現(xiàn)無線投影,投影網(wǎng)關(guān)的內(nèi)核處理器采用了ARM Cortex,在完成客戶端顯存數(shù)據(jù)接收及解碼顯示后傳送到投影儀進行顯示。網(wǎng)關(guān)硬件結(jié)構(gòu)示意圖,如圖5所示。
本文選用實用性較強的S5PV210(三星)作為無線投影網(wǎng)關(guān)的處理器,以使網(wǎng)關(guān)數(shù)據(jù)圖像的接收和處理速度得以顯著提升,適用于Android 操作系統(tǒng)的S5PV210處理器的運行主頻可達1 GHz,可有效滿足高端物聯(lián)網(wǎng)終端等設(shè)備的使用需求;內(nèi)部集成了高性能圖形引擎的S5PV210支持 2D/3D圖形運行,其所支持的硬件解碼視頻及硬件編碼視頻輸入(Mpeg-2/VC1)最高可達1080p@30fps。兼容IEEE802.11g/b標準的Ralink 無線傳輸速率可達54Mbps;支持WPA/WPA-PSK、WPA2/WPA2-PSK安全機制及WEP數(shù)據(jù)加密(包含64、128、256位)。可滿足不同工作環(huán)境的使用需求,且易于終端用戶接入無線網(wǎng)絡(luò)[6]。結(jié)合運用FPGA和SDRAM技術(shù)實現(xiàn)包含LCD連接線和 VGA 鏈接座的VGA 模塊功能,時鐘及行場的控制和掃描主要由FPGA完成從而顯著提高了處理速度,該模塊具有較高的分辨率(1 024×76@70 Hz),同Ralink通過USB完成連接及數(shù)據(jù)通信過程,通過TFTLCD控制器連接投影儀。
(2) 軟件設(shè)計
手機Android系統(tǒng)的軟件堆棧的主要構(gòu)成為Java應(yīng)用程序(位于Linux內(nèi)核頂層)和系統(tǒng)組件(編寫語言包括Java、C++ 、XML等),本文無線投影網(wǎng)關(guān)接收管理軟件使用Java語言設(shè)計,具體工作流程,如圖6所示。
網(wǎng)關(guān)為接收客戶端顯存數(shù)據(jù)發(fā)送請求需先建立server socket對象(對應(yīng)一個套接字)及監(jiān)聽端口,網(wǎng)關(guān)在沒有請求情況下的顯存數(shù)據(jù)通過新建線程進行接收,在接收到主機切換指令且無客戶端請求的情況下會與指定客戶端重新建立連接通信(同其他客戶端中斷通信)。網(wǎng)關(guān)使用handle方法將接收到的顯存數(shù)據(jù)(以幀為單位)向主線程傳送,完成UI顯示信息的更新[7]。
3.5?無線投影網(wǎng)關(guān)系統(tǒng)實驗測試
為檢測本文所設(shè)計的無線投影網(wǎng)關(guān)系統(tǒng)的實用性在100 m2實驗室進行了實驗測試,為對無路由器環(huán)境下通信效果進行測試由主機產(chǎn)生熱點形成局域網(wǎng),以便在辦公教學(xué)場進行無線投影,三組測試組的桌面分辨率分別為1 024×768、1 280×768和1 360×768,無線投影網(wǎng)關(guān)的分辨率可達 1 360×768 ,可使PC 、移動設(shè)備無線顯示需求得以有效滿足。計時器測試結(jié)果表明投影過程PPT 演示和視頻播放效果流暢、延時約為1s,具體測試結(jié)果為PC 機幀率為14、移動設(shè)備幀率為17。多用戶無線投影測試過程中,各從機屏幕信息均顯示在主機投影管理軟件上,并能夠?qū)Ω髋_從機進行自由選擇,雙擊預(yù)覽圖即可完成切換過程,各從機向主機發(fā)送顯存數(shù)據(jù)的周期為5 s。
4?總結(jié)
物聯(lián)網(wǎng)技術(shù)的發(fā)展促使智能移動設(shè)備的重要性逐漸凸顯,隨著PC機和包括手機在內(nèi)的智能移動設(shè)備在眾多領(lǐng)域的普遍應(yīng)用,促進了生產(chǎn)生活信息化發(fā)展水平的不斷提高,為解決數(shù)據(jù)連線類投影儀使用不便的問題,本文主要基于手機Android系統(tǒng)完成了ARM嵌入式無線投影服務(wù)端的構(gòu)建,據(jù)此實現(xiàn)了無線投影系統(tǒng)終端數(shù)據(jù)的獲取、無線傳輸及多用戶機自由切換功能,可供多用戶同時進行無線實時投影,使投影儀通訊功能得以有效擴展,顯存數(shù)據(jù)的直接獲取和傳輸投影有效解決了不同流媒體播放器兼容性問題,使系統(tǒng)終端(包括PC機和手機)軟件開發(fā)及使用效率得以顯著提升。
參考文獻
[1] 馬翀,程建新.手機視頻投屏產(chǎn)品的用戶體驗設(shè)計與研究[J]. 設(shè)計,2018(21):60-61.
[2]?陳睿,王晶,黃華軍, 等. 基于分塊DCT變換的多聚焦圖像融合[J]. 小型微型計算機系統(tǒng), 2016(2):321-326.
[3]?李亞格,蘭誠棟. 基于iOS的移動辦公系統(tǒng)設(shè)計與性能優(yōu)化[J]. 計算機工程, 2016(7):22-26.
[4]?Bedeer E, Dobre O, Ahmed M, et al. A Multiobjective Optimization Approach for Optimal Link Adaptation of OFDM-Based Cognitive Radio Systems with Imperfect Spectrum Sensing[J]. IEEE Transactions on Wireless Communications, 2016(4):2339-2351.
[5]?Sangheon Pack, Kihun Kim, Wonjung Kim, et al. A Cross-Layer Approach to Reduce Channel Access Delay Jitter in IEEE 802.11 WLANs[J]. Wireless Personal Communications, 2016 (4):1379-1390.
[6]?許煒,吳菁,童傳旺.無線同屏分享投影需求的硬件解決方案——基于課堂教學(xué)移動信息化趨勢[J].蕪湖職業(yè)技術(shù)學(xué)院學(xué)報,2017(3):58-60.
[7]?李鵬,王建新.無線傳感器網(wǎng)絡(luò)中基于稀疏投影的數(shù)據(jù)收集方案[J].中南大學(xué)學(xué)報(自然科學(xué)版).2016(10):3445-3453.
(收稿日期:2019.10.30)