孫志勇



摘 要:研究了基于網絡控制的無線投影系統的實現路徑,闡述了無線投影網關軟硬件的規劃路徑,根據TCP/IP 協議綜合運用ARM 嵌入式系統及無線通信及監控等技術完成了一個多用戶無線投影控制系統的設計。詳細介紹了無線投影網關及管理軟件的實現路徑,該系統適用于PC端及手機Android平臺,用戶端采用WiFi通信技術同無線投影網關建立通信過程,使無線投影功能得以有效實現。多個用戶和平臺可共同使用無線投影功能,切換方式為一主多從。實驗測試結果證明了該系統無線投影功能的可行性。
關鍵詞:無線投影系統;網絡控制;無線局域網;實現路徑
中圖分類號: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?引言
快速發展的網絡信息及移動終端技術為投影設備在日常工作生活中的普及應用提供了技術支撐,多媒體應用隨著音視頻和編碼技術的日益發展成熟而得到了普及應用,采用多媒體的交互模式可在對交互雙方意圖進行直觀表達的同時顯著提升交流效率,作為一種多媒體主要實現方式投影仍然是交互領域內的研究熱點,傳統接線式投影方式受到布線和功能不足的限制已經難以滿足現代多媒體交互需求。投影機投影功能的實現需連接其他相關設備(包括中控設備、計算機和音響等),設備數量越多連接復雜程度及成本越高,近年來傳統投影控制模式逐漸被基于網絡的控制模式取代,主要由PC端或手機移動終端通過無線連接實現對投影設備及功能的控制,顯著減少了使用成本及后期設備維護工作,本文主要對使用網絡控制的無線投影解決方案進行設計。
1?現狀分析
普及應用的智能嵌入式設備為嵌入式操作系統功能的實現提供了支撐,目前作為一種優質的移動設備系統Android系統(基于 Linux內核)具備開源且包含移動操作系統所需功能的優勢(提供豐富實用的函數庫和工具),在各種功能的移動設備中應用廣泛。Linux提供了軟件棧核心系統服務(包括管理網絡、文件、內存、進程以及設備驅動等),再結合嵌入式系統(基于ARM Cortex內核)即可實現相關應用程序的開發和使用。 WinCE及Linux 系統是較為常用的系統選擇方案,無線投影系統設計的關鍵在于無線投影網關,目前相關研究已取得一定的進展,例如,結合運用CS535 南橋、AMD Geode處理器及USB控制器等設計的投影網關實現了無線投影功能。基于WHDI的高清視頻通訊協議雖具備較高的傳輸速率但影響了傳輸質量。已有無線投影方式彌補了傳統布線和功能存在的問題,但在多用戶接入及資料共享等方面受到了一定的限制,基于移動終端實現多用戶無線投影的研究較少[1]。為此本文主要闡述了無線投影系統的實現方法。
2?無線投影網關系統設計
本文所設計的無線投影系統除 PC 機外還支持手持移動設備,對網絡投影機的控制及監控通過無線局域網實現,計算機和投影機間需通過無線投影網關設備實現畫面傳輸功能,先通過wifi無線發射PC 或移動終端信息,然后向投影儀和液晶電視機傳送(通過無線網關)并在投影系統展示內容,系統可在多個用戶間切換,實現了畫面的實時拍攝及顯示功能(采用移動設備)。集成了網絡無線接口的無線投影機網關在完成屏幕圖像的截取及壓縮編碼后(通過 PC 或便攜機,采用 802.11無線局域網標準),通過無線傳輸向投影機網關傳送屏幕圖像信息,再經過解碼后傳輸至投影機上顯示(通過集成VGA 接口完成)。無線投影網關的結構,如圖1所示。
(1) 無線投影網關硬件設計
作為投影機的重要構成設備,設計無線投影網關硬件的基礎和關鍵在于選擇合適的處理器。目前許多主流處理器包括數據傳輸速率在內的應用性能都在不斷提高,多核處理器在兼顧峰值性能及使用功耗方面發揮出了較大的優勢,為滿足系統對功能性及靈活性的需求,本文選擇了具備擴展及低功耗優勢的嵌入式ARMCortex-A9 微處理器,該處理器可有效滿足無線投影系統對使用性能的較高需求,實現了ARMv7 體系的功能,其體系結構可同時執行多指令且長度可根據實際需要進行動態變化,并且采用了八階段管道處理器,基本不受設備低功率和散熱性差的影響,兼具單核處理器功能及多核處理器(可配置)功能,在提高無線投影系統性能的同時降低了系統功耗,并實現了多個設備間的共享。
(2) 無線投影網關軟件設計
軟件設計包括客戶端終端軟件(主要包括屏幕抓取、圖片壓縮、無線傳輸)和投影網關軟件,投影網關設備可同PC機、手機、平板電腦相互連接,終端軟件的主要功能在于抓取并壓縮電腦或手機Android系統中的圖像,再將處理后的圖片借助無線局域網完成到投影機網關上的傳輸,投影網關軟件完成數據及圖像信息的接收和解碼,最終投影顯示。投影網關中內置一小型web服務器負責存儲客戶端相關軟件,設備端操作系統也需安裝嵌入式 web 服務器以確保登陸無線網關服務器后即可完成應用系統的下載和安裝。使用終端軟件需先建立起同無線網關設備間的聯系,將網關固定IP輸入到客戶端瀏覽器后在 web 服務器上下載儲存并安裝相關應用軟件。基于嵌入式系統的無線投影端主要負責網絡通信、圖像解碼及顯示,具體通過 C 語言的使用實現數據圖像的接收和解碼[2]。隨著無線通訊協議呈多樣化發展趨勢,在對操作系統的功能、性能、成本等因素進行充分考慮的基礎上,本文選用了目前較為成熟的商業操作系統WinCE ,該系統具備支持 IE 瀏覽器、體積小、成本低、功能豐富等優勢,廣泛應用于多媒體終端產品中,支持常用辦公文檔工具(包括Word、PPT、Excel 、PDF 等),可有效滿足本文投影網關設備的功能需求。
3?無線投影系統功能的設計與實現
3.1?系統整體結構設計
本文設計的系統主要由投影儀、移動設備和 PC 機在內的客戶終端、投影網關服務端構成,系統工作流程框圖,如圖2所示。
無線投影網關同投影儀相連,投影儀負責顯示接收的顯存信息,顯存數據在客戶端的獲取及發送使用投影管理軟件完成,顯存數據(在PC機或手持移動設備中)在完成編碼后向無線投影網關傳輸(使用基于 TCP/IP的無線通信,所采用的無線局域網基于802.11協議組),網關對接收到的顯存數據進行解碼后,通過相關接口(如VGA或HDMI)向投影儀傳送并顯示。投影管理軟件在客戶端上開始運行后,顯存數據由各從機間斷獲取后向主機發送,管理軟件上的預覽框同從機屏幕信息相對應,主機編碼顯存數據再向無線投影網關傳送,由投影網關解碼后在投影儀上顯示,通過點擊投影管理軟件上的預覽框選擇相應的從機投影并將其顯存數據編碼后向投影網關傳送解碼,實現從機與投影網關間通信的自由切換,從而滿足多用戶無線投影需求[3]。多用戶投影網關結構,如圖3所示。
3.2?PC終端管理軟件設計
客戶端軟件與無線投影網關進行無線通信并向其傳送屏幕顯存數據,系統終端管理軟件工作流程,如圖4所示。
通過對顯存數據進行壓縮編碼處理,可有效避免網絡傳輸阻塞問題的發生,以使無線傳輸速率得以有效提升,考慮到一旦壓縮過大極易使傳輸圖像出現失真的情況,因此本文通過JPEG圖像編碼算法(其圖像的壓縮率是30∶1)的使用實現圖像清晰度和傳輸速率的有效平衡,在確保基本不損耗圖像質量的同時實現圖像適中比例的無線傳輸過程。在visual studio 上將客戶端管理軟件通過C++編程語言的使用完成具體設計過程。本地地址及相關應用端口由主機通過bind函數(位于socket類中)的調用實現綁定并開啟監聽功能,在同主機進行連接時從機需通過connect函數(位于socket類中)的調用完成具體連接請求的發送,主機對從機的連接請求通過accept 函數(位于socket類中)的調用實現自動響應及通訊過程,由從機發送的顯存數據可根據實際需要新建線程完成接收。在線程中對所接收顯存數據進行解碼,通過此種方式完成桌面信息在主機監視窗口中的顯示。主機根據投影從機桌面信息切換請求,先向所需投影的從機傳送套接字(用于無線投影網關),接下來將與投影網關的通信斷開,以確保接收到套接字的從機后即切斷同主機間的連接,然后同投影網關建立通信并向其傳送顯存數據[4]。同樣需斷開投影網關與從機間的通信,和投影主機重新建立通信連接并向其發送切換信號,在此基礎上實現主機同無線投影網關間通信關聯的建立。
3.3?手持移動設備管理軟件設計
作為一種跨平臺開源集成開發環境,Eclipse以Java語言作為主要開發使用語言,其本質為一種框架平臺,提供豐富的插件具備較佳的靈活性,支持Android插件極大的簡化了 Android APP開發流程。針對手持移動設備,本文采用 Eclipse平臺完成客戶端無線投影管理軟件的設計(具體通過Java編程語言完成),無線投影管理軟件同包括IP和端口號在內的服務端通過 socket 類函數的調用完成相互綁定從而實現通信連接的建立,接下來服務端后臺通過service類的調用讀取數據(位于framebuffer中)完成具體顯存數據的獲取,主要函數表達如下[5]。
flie input streambuf=new file("/dev/graphics/fb0");
Data input stream d stream = new stream(buf);d stream.read fully(piex);
在無線投影設計時,基于手機相機功能開發并實現系統拍攝畫面的功能,具體相機類通過使用surfaceview完成自定義,從而能夠實時顯示攝像的畫面,移動設備客戶端投影管理軟件獲取相機數據后進行解析編碼,再將其發送到投影網關進行后續顯示。
3.4?無線投影網關設計與實現
(1) 硬件設計
本文通過便攜式無線投影網關的設計使多用戶在客戶端實時切換投影功能得以有效實現,最終使投影儀實現無線投影,投影網關的內核處理器采用了ARM Cortex,在完成客戶端顯存數據接收及解碼顯示后傳送到投影儀進行顯示。網關硬件結構示意圖,如圖5所示。
本文選用實用性較強的S5PV210(三星)作為無線投影網關的處理器,以使網關數據圖像的接收和處理速度得以顯著提升,適用于Android 操作系統的S5PV210處理器的運行主頻可達1 GHz,可有效滿足高端物聯網終端等設備的使用需求;內部集成了高性能圖形引擎的S5PV210支持 2D/3D圖形運行,其所支持的硬件解碼視頻及硬件編碼視頻輸入(Mpeg-2/VC1)最高可達1080p@30fps。兼容IEEE802.11g/b標準的Ralink 無線傳輸速率可達54Mbps;支持WPA/WPA-PSK、WPA2/WPA2-PSK安全機制及WEP數據加密(包含64、128、256位)。可滿足不同工作環境的使用需求,且易于終端用戶接入無線網絡[6]。結合運用FPGA和SDRAM技術實現包含LCD連接線和 VGA 鏈接座的VGA 模塊功能,時鐘及行場的控制和掃描主要由FPGA完成從而顯著提高了處理速度,該模塊具有較高的分辨率(1 024×76@70 Hz),同Ralink通過USB完成連接及數據通信過程,通過TFTLCD控制器連接投影儀。
(2) 軟件設計
手機Android系統的軟件堆棧的主要構成為Java應用程序(位于Linux內核頂層)和系統組件(編寫語言包括Java、C++ 、XML等),本文無線投影網關接收管理軟件使用Java語言設計,具體工作流程,如圖6所示。
網關為接收客戶端顯存數據發送請求需先建立server socket對象(對應一個套接字)及監聽端口,網關在沒有請求情況下的顯存數據通過新建線程進行接收,在接收到主機切換指令且無客戶端請求的情況下會與指定客戶端重新建立連接通信(同其他客戶端中斷通信)。網關使用handle方法將接收到的顯存數據(以幀為單位)向主線程傳送,完成UI顯示信息的更新[7]。
3.5?無線投影網關系統實驗測試
為檢測本文所設計的無線投影網關系統的實用性在100 m2實驗室進行了實驗測試,為對無路由器環境下通信效果進行測試由主機產生熱點形成局域網,以便在辦公教學場進行無線投影,三組測試組的桌面分辨率分別為1 024×768、1 280×768和1 360×768,無線投影網關的分辨率可達 1 360×768 ,可使PC 、移動設備無線顯示需求得以有效滿足。計時器測試結果表明投影過程PPT 演示和視頻播放效果流暢、延時約為1s,具體測試結果為PC 機幀率為14、移動設備幀率為17。多用戶無線投影測試過程中,各從機屏幕信息均顯示在主機投影管理軟件上,并能夠對各臺從機進行自由選擇,雙擊預覽圖即可完成切換過程,各從機向主機發送顯存數據的周期為5 s。
4?總結
物聯網技術的發展促使智能移動設備的重要性逐漸凸顯,隨著PC機和包括手機在內的智能移動設備在眾多領域的普遍應用,促進了生產生活信息化發展水平的不斷提高,為解決數據連線類投影儀使用不便的問題,本文主要基于手機Android系統完成了ARM嵌入式無線投影服務端的構建,據此實現了無線投影系統終端數據的獲取、無線傳輸及多用戶機自由切換功能,可供多用戶同時進行無線實時投影,使投影儀通訊功能得以有效擴展,顯存數據的直接獲取和傳輸投影有效解決了不同流媒體播放器兼容性問題,使系統終端(包括PC機和手機)軟件開發及使用效率得以顯著提升。
參考文獻
[1] 馬翀,程建新.手機視頻投屏產品的用戶體驗設計與研究[J]. 設計,2018(21):60-61.
[2]?陳睿,王晶,黃華軍, 等. 基于分塊DCT變換的多聚焦圖像融合[J]. 小型微型計算機系統, 2016(2):321-326.
[3]?李亞格,蘭誠棟. 基于iOS的移動辦公系統設計與性能優化[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]?許煒,吳菁,童傳旺.無線同屏分享投影需求的硬件解決方案——基于課堂教學移動信息化趨勢[J].蕪湖職業技術學院學報,2017(3):58-60.
[7]?李鵬,王建新.無線傳感器網絡中基于稀疏投影的數據收集方案[J].中南大學學報(自然科學版).2016(10):3445-3453.
(收稿日期:2019.10.30)