當前位置:首頁 > 通信技術(shù) > 通信網(wǎng)絡
[導讀] 智能手機普及率的提升,催生了基于智能操作平臺的附加產(chǎn)物。而Android平臺為開源的手機開發(fā)平臺,通過對Android平臺的設計開發(fā),使智能手機獲得增強化的個性服務。提出了基于Android手機

智能手機普及率的提升,催生了基于智能操作平臺的附加產(chǎn)物。而Android平臺為開源的手機開發(fā)平臺,通過對Android平臺的設計開發(fā),使智能手機獲得增強化的個性服務。提出了基于Android手機的無線控制系統(tǒng),介紹了整體結(jié)構(gòu)框架,分析了各功能模塊的具體實現(xiàn),并在實際設備中進行測試。實現(xiàn)了基于Android手機對設備的遠程訪問和控制。

引言

近年來,智能手機在全球范圍內(nèi)迅速普及。根據(jù)市場研究公司尼爾森發(fā)布的《2013移動消費者報告》顯示,中國智能手機普及率已達到66%,已超越英國和美國的普及率。隨著信息科技的快速發(fā)展,人們生活水平的提高,對電子產(chǎn)品的功能要求也越來越高。人們希望通過簡單方便的操作,對周圍設備進行訪問控制。Android是一種開源的手機操作系統(tǒng),具有強大的應用層API和豐富的傳感器功能,其開放的平臺有利于開發(fā)者開發(fā)出各類應用軟件,增加手機的個性化服務。本文將Android手機與PC端聯(lián)系起來,介紹了一種基于Android手機的無線控制系統(tǒng)。在該系統(tǒng)中,Android手機利用周邊無線通信資源與其他設備進行交互,可進行無線鼠標控制、無線鍵盤輸入、文件傳輸操作等。

1 Android的系統(tǒng)架構(gòu)

Android的系統(tǒng)架構(gòu)采用了由下至上的分層的結(jié)構(gòu),使下層為上層提供統(tǒng)一的服務。各層各司其職,本層及以下層發(fā)生變化不會影響上層,避免了各層的差異,圖1是一張公開的關(guān)于Android體系結(jié)構(gòu)架構(gòu)圖:

圖1 Android的系統(tǒng)架構(gòu)

從圖中可以看出,Android系統(tǒng)分為四個層面,從底層到高層分別是:

Linux核心層(LINUX KERNEL)

Linux核心層負責硬件的驅(qū)動程序、網(wǎng)絡、電源、系統(tǒng)安全以及內(nèi)存管理等功能。Android的核心系統(tǒng)服務依賴于Linux2.6內(nèi)核,同時作為硬件和軟件層之間的抽象層,隱藏了具體的硬件特性,并為上一層提供統(tǒng)一的標準服務。

庫(LIBRARIES)和運行環(huán)境層(ANDROID RUNTIME)

庫和運行環(huán)境層包含了標準C函數(shù)庫Libc、 OpenSSL、SQLite等以及支持游戲開發(fā)2D SGL和3D OpenGL|ES,并負責解釋和執(zhí)行生成的Dalvik格式的字節(jié)碼。核心庫提供了Java編程語言核心庫的大多數(shù)功能。每一個Android應用程序都在自己的進程中運行,并擁有各自獨立的Dalvik虛擬機實例。

應用程序框架層(APPLICATION FRAMEWORK)

普通開發(fā)這可以使用Android基本應用程序使用的系統(tǒng)API,Android應用框架中的各個模塊都可以被復用,各種服務也可以被復用。該層復用機制使用戶可以方便的替換程序組件。

應用程序?qū)樱ˋPPLICATIONS)

應用程序?qū)觾?nèi)含有Android內(nèi)置的Google Maps、E-mail、即時通信工具、瀏覽器等,開發(fā)人員開發(fā)的程序也將置于該層,并同內(nèi)置程序有平等的位置,可以相互調(diào)用和替換。這類應用基本都是通過Java語言編寫的,能夠獨立的完成某些功能的應用程序。開發(fā)人員可使用應用框架提供的API編寫自己的應用程序。

2系統(tǒng)實現(xiàn)

設計原理

基于Android手機的無線控制軟件主要運用到Socket通信原理。Socket是通信的基本操作單元,主要有兩種操作方式:面向連接和無連接。面向連接的Socket操作使用TCP協(xié)議,此模式下必須先連接上目的地的Socket,此操作模式下所有所發(fā)信息都會在另一端以同樣的順序被接受,安全性高。無連接的Socket操作無需連接一個目的Socket,只做簡單的投出數(shù)據(jù)報,但是操作數(shù)據(jù)安全性不高[。

綜合考慮本設計采用面向連接的Socket操作,在手機端和PC端建立一個Socket連接,當手機端和PC端之間發(fā)送不同的命令時,手機和PC機做出不同的響應,并返回響應的數(shù)據(jù)。

系統(tǒng)的總體工作流程圖如圖2所示:

圖2 系統(tǒng)總體工作流程

PC端作為服務器先運行起來,通過WIFI或藍牙設備在指定端口處進行監(jiān)聽。隨后啟動Android端程序,在Android端輸入口令和PC端IP地址,并發(fā)送給服務器。當服務器接收的口令和IP地址與預置信息相同,驗證信息無誤后,返回數(shù)據(jù)信號,此時允許建立連接?,F(xiàn)在便可在PC端和Android端進行無線控制,包括命令傳送和文件傳輸。

為了提高響應速度,該系統(tǒng)在多處使用了子線程。此方法避免了事件間的盲等狀態(tài),可異步處理不同事件。如果當前沒有處理任務,便可將處理器時間讓給其他通信任務。提高了程序的運行效率以及CPU的利用率,同時減少服務器響應時間。

Android手機端設計

在Android手機端運行該軟件XXX Client后,進入鼠標界面ControlAcTIvity,該界面同鼠標相對應,有左鍵、滾標、右鍵。在用該手機進行控制PC端之前,還需對手機進行通信設置,此時進入菜單欄,選擇connecTIons,進入連接設置界面,新添加一個WIFI連接。在Android端輸入用戶名、服務端IP和端口號,通過服務器驗證后,便和PC端建立好Socket連接。

當服務端和客戶端建立好Socket連接后,他們之間可以相互發(fā)送命令和接受命令,目前支持圖3中所示的控制命令。

圖3 基于Android的無線控制系統(tǒng)支持命令

AuthentificationAction:認證命令。客戶端向服務端發(fā)送認證的密碼。

AuthentificationResponseAction:認證響應命令。服務端驗證客戶端是否正確的,返回驗證的結(jié)果。

FileExploreRequestAction:打開文件命令??蛻舳苏埱蟠蜷_服務端文件的命令。客戶端發(fā)送這個命令請求打開服務端的文件。

FileExploreResponseAction:服務端響應客戶端打開文件的命令。

KeyboardAction:鍵盤命令。

MouseClickAction:鼠標點擊命令。

MouseMoveAction:鼠標移動命令。

MouseWheelAction:鼠標滾輪命令。

連接好Android端和PC端后通信,返回至鼠標界面,鼠標點擊事件通過客戶端發(fā)送特定的命令到服務端,觸發(fā)MouseClickAction事件,服務端通過Java中專門控制鼠標鍵盤的Robot類[6],將事件發(fā)送到Android端,從而實現(xiàn)Android端對PC端鼠標控制。

鼠標滑輪事件MouseWheelAction和鍵盤事件KeyboardAction命令均需要用到Robot類向服務端發(fā)送事件,該命令同MouseClickAction觸發(fā)事件相似,從而實現(xiàn)鼠標滾標事件和鍵盤事件。

除了鼠標點擊和鼠標滾標外的黑色區(qū)域是一個ControlView。當手指在ControlView里面移動時,觸發(fā)事件onTouchMoveMouseMove,根據(jù)moveXFinal和moveYFinal計算出鼠標移動距離,并發(fā)送到服務端:

dos.writeByte(MOUSE_MOVE);

dos.writeShort(this.moveX);

dos.writeShort(this.moveY);

當服務端接收到該命令時,會觸發(fā)moveMouse方法,然后通過服務端的Robot類,向系統(tǒng)發(fā)送移動事件。

文件傳輸功能在FileExplorerActivity中實現(xiàn),客戶端向服務端發(fā)送請求打開目錄命令,服務端返回文件列表的響應命令。當客戶端點擊的文件不是一個目錄,而是一個文件時,服務端就執(zhí)行打開該文件的命令。

3 系統(tǒng)測試

該系統(tǒng)采用了C/S的結(jié)構(gòu)來進行通信實現(xiàn),Android端和PC端通過Socket進行網(wǎng)絡連接通信。Android端做成APP模式,運行時通過WIFI或藍牙連接服務端,在PC端使用Java的OSGi框架。在Android手機上經(jīng)過反復測試,手機連接Server的時間小于3s,PC端對手機控制命令的響應時間小于5s,并能實現(xiàn)手機端對PC端的訪問控制、文件操作。Android端鼠標界面、訪問控制和文件操作過程如圖4所示。

4 結(jié)語

智能手機在世界范圍內(nèi)的快速普及,加上科學技術(shù)的高速發(fā)展,讓人們對智能手機的功能要求越發(fā)靠近日常生活。該系統(tǒng)在運行方面基本能完成所要求操作,但設計界面還不夠完善,在常規(guī)使用中應有合適的操作界面,同時還應完善操作功能,如在本地進行新增、修改、刪除的操作。為便于未來用戶使用,該系統(tǒng)有待于今后深入探討和研究。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉