国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android手機遠程控制的設(shè)計與實現(xiàn)

2015-05-30 18:54周軍
工業(yè)設(shè)計 2015年5期
關(guān)鍵詞:遠程控制通信

周軍

摘要:本文介紹了一款基于Android手機遠程控制電腦的軟件,終端設(shè)備采用的是Android系統(tǒng)的移動終端,利用TCP/IP協(xié)議實現(xiàn)移動設(shè)備和電腦端的連接。采取了客戶端/服務(wù)器端的通信模式,實現(xiàn)了用戶在移動終端上可以隨時控制電腦,并可以發(fā)送指令給電腦,讓電腦完成相應(yīng)的功能,提高了用戶的便捷性以及對電腦的可視化操作。

關(guān)鍵詞:Android;遠程控制;通信

1引言

隨著通訊技術(shù)的快速發(fā)展,手機、平板電腦等移動數(shù)字終端設(shè)備被更多的人所喜愛。已經(jīng)成為了目前人們閑暇時間娛樂的方式了。此時就需要一款能夠智能的手機來滿足人們的需要了,首先就需要一款全新的系統(tǒng),Android系統(tǒng)是一個以Linux為基礎(chǔ)的開源操作系統(tǒng),主要應(yīng)用于手機系統(tǒng)的開發(fā)。結(jié)合當前計算機通訊和移動網(wǎng)絡(luò)的知識,對Android移動終端設(shè)備進行分析,可以開發(fā)出一款適合普通用戶所使用的一款軟件,通過WIFI無線網(wǎng)絡(luò)連接用戶電腦的遠程控制系統(tǒng)。

2基于Android平臺系統(tǒng)架構(gòu)

Android系統(tǒng)的架構(gòu)是分層的,從上到下依次分為四層5個部分:分別為是應(yīng)用程序、應(yīng)用程序框架、開發(fā)庫和Android運行時環(huán)境、Linux內(nèi)核。對于這種分層架構(gòu)的思想完全可以提高我們開發(fā)的效率,并且降低了錯誤的幾率。Android系統(tǒng)架構(gòu)如圖1所示:

2.2 Android系統(tǒng)架構(gòu)組成

該層為開發(fā)者提供了實際應(yīng)用開發(fā)的過程中需要的很多功能需求,本系統(tǒng)所用的主要框架包括:

(1)活動管理器:實現(xiàn)控制的界面以及應(yīng)用軟件的界面的跳轉(zhuǎn)。

(2)視圖系統(tǒng):一些能被用戶察覺的組件的創(chuàng)建。

(3)資源管理器:主要管理應(yīng)用程序里面不是主代碼的一些資源,比如調(diào)用的圖片,組件的ID等等。

(4)通知管理器:當程序調(diào)試過程中將警示消息傳遞給我們的開發(fā)人員便于系統(tǒng)的調(diào)試。

(5)窗口管理器:用于管理開啟的窗口程序。

2.3Android四大組件

Android應(yīng)用程序是由四個組件組成的:分別為活動頁面、服務(wù)、內(nèi)容提供者、廣播接收者。

在開發(fā)人員在開發(fā)Android應(yīng)用程序之前,開發(fā)人員就需要深入了解Android的四大組件以及之間的聯(lián)系,Android還提供了一個工具類Intent,用戶為這四大組件之間傳遞信息,下面為我們介紹四大組件:

(1)Activity

Activity是四個組件中最常用的一個,通?;顒泳桶殡S著一個可以被用戶直觀看到的屏幕界面。在界面上顯示的活動都繼承與Activity,因此都繼承了一些Activity的一些方法,從用戶的直觀視覺上講的話,Activity就相當于程序的一個界面并且可以回應(yīng)其他窗口,但是從內(nèi)部的一些邏輯來講的話,一個Activity如果想保持其狀態(tài),那么生命周期也需要思考。

(2)Service

Service是具有長生命周期并且沒有用戶界面的一種后臺服務(wù),簡單來說,就是剝離了界面的Activity。與Activity最明顯的就是Service運行的時候用戶會感覺不到它的存在。因為它運行在后臺,但是有一點它和Activity類似,就是當Service運行的時候不會對其它的一些用戶的界面和組件的產(chǎn)生任何干擾。在一般情況下,我們?yōu)榱朔乐筍ervice對我們的主界面產(chǎn)生影響,我們的開發(fā)人員都會創(chuàng)建一個新的獨立的新線程來進行一些耗時任務(wù)。

(3)Content Provider

Content Provider在Android中主要是對數(shù)據(jù)的存取以及共享,開發(fā)的應(yīng)用中的數(shù)據(jù)可以被其他組件所共享和使用。Android中另外三種數(shù)據(jù)存儲方式是1.文件系統(tǒng),2.數(shù)據(jù)庫,3.資源文件:另外Content Provider并不能直接訪問應(yīng)用內(nèi)部的數(shù)據(jù)庫或者數(shù)據(jù)的文件。它只是抽象的存儲訪問方法。

(4)Broadcast Receiver

Broadcast Receiver作為第四大組件,主要完成廣播接收的監(jiān)聽注冊以及廣播的轉(zhuǎn)發(fā),功能是監(jiān)聽系統(tǒng)內(nèi)部的事件的觸發(fā)。3系統(tǒng)需求分析

目前。Android手機接入互聯(lián)網(wǎng)的方式有GPRS、3G和WIFI等等,要使手機能夠與PC進行數(shù)據(jù)交互,我們要采用WIFI連接,網(wǎng)絡(luò)傳輸使用TCP/IP協(xié)議。Android的應(yīng)用程序開的發(fā)所用到的是基于Java的一套語言。Java可以對于網(wǎng)絡(luò)編程提供良好的支持,與網(wǎng)絡(luò)相關(guān)的編程都在我們的工具包內(nèi),利用java中的網(wǎng)絡(luò)編程技術(shù)即socket編程,用TCP協(xié)議進行傳輸就可以實現(xiàn)數(shù)據(jù)之間的傳輸,最終來對PC的遠程控制。

本設(shè)計系統(tǒng)的主要需求如下:

(1)連接界面功能

用戶在啟動應(yīng)用程序前,首先要保證PC的網(wǎng)絡(luò)正常連接,設(shè)置好手機的移動網(wǎng)絡(luò),保證PC和手機在一個局域網(wǎng)中。用戶啟動應(yīng)用程序后,首先出現(xiàn)的是連接界面。該界面主要包括查找PC,將PC返回信息顯示在界面的列表—b編輯指定PC的lP地址,包括輸入和刪除:根據(jù)連接狀態(tài),分類顯示PC信息,顯示程序的幫助信息和退出程序。

(2)數(shù)據(jù)庫系統(tǒng)功能

數(shù)據(jù)庫主要是存儲管理發(fā)送廣播后PC返回的信息,包括PC的IP地址、主機名、連接狀態(tài)等。在一個家庭網(wǎng)絡(luò)中,可能有多臺同時運行著的PC,建立數(shù)據(jù)庫,能夠讓用戶自由選擇,方便用戶管理和遠程桌面功能:遠程桌面功能是能夠隨時對PC進行關(guān)機處理,能夠?qū)﹄娔X桌面進行實時截屏并且保存在本地.能夠在PC與手機之間自由傳輸所需要的文件以及資料。

4基于Android遠程控制C/S的設(shè)計

4.1系統(tǒng)的總體設(shè)計流程

當使用這款軟件的用戶攜帶Android智能手機打開這款我們所開發(fā)的應(yīng)用程序的時候。手機端連入和PC在同一個網(wǎng)絡(luò)段的網(wǎng)絡(luò),在手機的連接界面輸入要遠程控制的電腦的IP地址以及端口號,此時Android手機與電腦之間通過Socket通信,就可以完成兩者之間的數(shù)據(jù)交互以及其他所需要完成的功能,手機與電腦如何通信圖2所示:

4.2數(shù)據(jù)交互網(wǎng)絡(luò)協(xié)議

實現(xiàn)PC機與網(wǎng)絡(luò)之間的通信在移動終端網(wǎng)絡(luò),開發(fā)人員首先必須要先解決如何搜索并且連接到同一個網(wǎng)絡(luò)中的主機,當連接到指定主機之后,采用哪種傳輸協(xié)議進行數(shù)據(jù)的傳輸。在TCP/IP這類協(xié)議。IP層主要給在這個網(wǎng)絡(luò)段的網(wǎng)絡(luò)上的每臺計算機分配一個IP地址,這些計算機就可以在這個局域網(wǎng)中進行通信了,并且每個IP地址都唯一的對應(yīng)著Internet上的每個主機。從傳輸層的數(shù)據(jù)包傳輸IP數(shù)據(jù)報的處理請求,包到IP。通過路由轉(zhuǎn)發(fā)。選擇適當?shù)木W(wǎng)絡(luò)路徑。將數(shù)據(jù)報告給相應(yīng)的網(wǎng)絡(luò)主機接口。在網(wǎng)絡(luò)上傳輸?shù)姆绞骄幊?,Android提供了一個特殊的API接口,用戶不需要關(guān)心網(wǎng)絡(luò)層是如何包裝和處理數(shù)據(jù)。本文所設(shè)計的遠程控制系統(tǒng),客戶端與服務(wù)器數(shù)據(jù)通信的基礎(chǔ)是采用TCP協(xié)議和UDP協(xié)議。Socket有兩種通信方式:基于TCP協(xié)議的通信方式和基于UDP協(xié)議的通信方式。兩種通信方式都能完成網(wǎng)絡(luò)數(shù)據(jù)交互,但是發(fā)送方和接收方所使用的協(xié)議要求一致。從下圖中可以看出,應(yīng)用程序中通過Socket進行網(wǎng)絡(luò)傳輸,在網(wǎng)絡(luò)層上,通過口協(xié)議,封裝處理數(shù)據(jù),在通信信道中進行數(shù)據(jù)傳輸。在傳輸層上。可以采用TCP或者UDP。但是要求通信雙方采取的協(xié)議要一致。下圖3為Socket通信模型:

4.3服務(wù)端的研究

服務(wù)器端是Android的一個Service程序,隨著用戶開啟運行在PC上的服務(wù)器端而自動啟動,始終在后臺運行,設(shè)置好特定的端口號,監(jiān)聽客戶端發(fā)送過來的請求,然后進行連接.根據(jù)客戶端發(fā)過來的不同數(shù)據(jù),經(jīng)過分析處理之后,從而完成特定功能模塊的響應(yīng),下面給出了服務(wù)器功能模塊劃分。

(1)端口監(jiān)聽

端口監(jiān)聽模塊的主要作用是接收客戶端發(fā)送過來的廣播,并按照要求返回服務(wù)器相關(guān)信息。android服務(wù)器對系統(tǒng)后臺運行綁定到特定的口。監(jiān)測客戶的要求。當接收到客戶端廣播消息時。反饋消息。返回當前服務(wù)器的IP地址,主機名,連接狀態(tài)信息等等,從而進行連接。

(2)事件處理

服務(wù)器采用基于回調(diào)的事件。服務(wù)器端通過TCP傳輸協(xié)議接收客戶端發(fā)送過來的按鍵事件。通過對數(shù)據(jù)的解析,獲取事件類型。然后轉(zhuǎn)交給事件處理器。處理器將事件壓入事件棧,通過系統(tǒng)回調(diào),完成此次事件的相應(yīng)。以完成相應(yīng)的功能。

(3)遠程桌面功能

服務(wù)器遠程桌面主要是完成電腦桌面的截屏、圖片的保存以及發(fā)送。讀取framebuffer來獲取系統(tǒng)顯示信息的數(shù)據(jù),轉(zhuǎn)換成圖片文件。最后要讀寫framebuffer的內(nèi)存,必須首先要打開framebuffer設(shè)備,獲取顯示設(shè)備的信息,如圖片的信息、像素的數(shù)據(jù)量等等。最后將framebuffer內(nèi)存中的數(shù)據(jù)映射到用戶進程空間,轉(zhuǎn)換成我們手機能夠支持的圖片格式,發(fā)送到客戶端。

4.4客戶端的研究

客戶端主要負責發(fā)送指令給我們的服務(wù)器端讓其完成相應(yīng)的功能,首先和服務(wù)器端進行連接,然后就可以在兩者之間進行數(shù)據(jù)的傳輸和一些其他的交互,在本次客戶端的結(jié)構(gòu)中我們使用的當前比較流行的MVC模型,能夠?qū)⑽覀兊目蛻舳烁拥那逦髁恕T诒疚闹?,View是連接界面、鍵盤界面、鼠標功能界面和遠程桌面界面的圖形設(shè)計。Model是指數(shù)據(jù)庫、鼠標功能模塊、鍵盤和遠程桌面功能模塊的具體代碼的實現(xiàn)。Controller是控制用戶界面的跳轉(zhuǎn)和完成各個功能模塊的調(diào)用。

客戶端的整個系統(tǒng)框架可以自上而下分為三層。最上面一層主要是實現(xiàn)客戶端與用戶的交互,包括用戶登錄連接服務(wù)器、發(fā)送控制指令信息、鼠標的滑動操作以及服務(wù)器截屏后所得到的圖片在客戶端的顯示。第二層是數(shù)據(jù)處理層,主要是對獲取控制指令后,提取指令有用信息,在指令發(fā)送前進行發(fā)送排序;獲取鼠標路徑,將路徑坐標按照鼠標滑動時間進行循環(huán)發(fā)送:處理服務(wù)器的返回數(shù)據(jù)的信息,比如服務(wù)器IP信息和圖片的傳輸?shù)?這些信息將封裝在報文中發(fā)給手機的客戶端,這時候客戶端就知道了服務(wù)器的地址以及一些其他的信息,這時候我們用戶者就可以輸入服務(wù)器的IP地址來進行連接服務(wù)器端,發(fā)送相應(yīng)的指令給服務(wù)器端。最下面一層是將發(fā)送數(shù)據(jù)的不同,采用不同的網(wǎng)絡(luò)協(xié)議,對數(shù)據(jù)進行封包發(fā)送。在客戶端系統(tǒng),用戶界面和功能模塊,以簡化程序的復雜度,簡化后續(xù)程序的修改和擴展,采用MVC模式的設(shè)計思想,程序結(jié)構(gòu)更直觀。

5系統(tǒng)測試

該系統(tǒng)是在PC遠程控制軟件開發(fā)的Android平臺,用戶可以使用Android手機中安裝的應(yīng)用程序。通過家庭局域網(wǎng)上的WlFI連接到同一WlFI下的電腦??蛻舳税l(fā)送請求到服務(wù)器,接收服務(wù)器響應(yīng)后,采取了不同的方式。從而實現(xiàn)手機遠程控制電腦的目的,實現(xiàn)用手機控制電腦的功能。本文設(shè)計的遠程控制系統(tǒng)的功能測試主要分為連接界面測試、主界面:實現(xiàn)遠程對電腦關(guān)機,對電腦截屏,文件的傳輸。

5.1連接界面測試

連接界面主要功能是輸入ip地址以及端口號搜尋同一WlFI下的PC,連接成功后進入主菜單界面,下面為詳細的服務(wù)器端和客戶端連接界面演示

5.1.1服務(wù)器端界面

5.1.2客戶端端界面

5.2主菜單界面測試

(1)實現(xiàn)遠程對電腦關(guān)機

點擊手機上的關(guān)機按鈕,電腦上會出現(xiàn)注銷提示,隨后PC自行關(guān)機。

(2)對電腦截屏

點擊截屏按鈕,能夠?qū)崟r的對電腦進行截屏,在底下賦予時間,并且可以對截屏下的圖片進行保存。

(3)文件的傳輸

選擇電腦上的文件,能夠?qū)崿F(xiàn)從PC端傳輸?shù)桨沧渴謾C上。

6總結(jié)

Android這種開源的系統(tǒng),經(jīng)過多年的發(fā)展與探索,替代了以前“塞班系統(tǒng)”,如今作為一種主流的移動終端開發(fā)系統(tǒng),其應(yīng)用開發(fā)不僅僅局限于智能手機,Android與其他終端通信就是其擴展應(yīng)用之一。在本次課題中充分運用了當前非常先進的計算機相關(guān)的知識,設(shè)計開發(fā)出了一款手機遠程控制軟件。能夠使用戶不在電腦旁依舊能夠?qū)﹄娔X進行遠程操作的功能,并且實現(xiàn)簡單的文件管理。

參考文獻:

[1]文軍,呂勇強.基于Android手機的遠程訪問和控制系統(tǒng)[J].計算機應(yīng),2011,31(02):559-561

[2]單李旺.Android操作平臺的研究與應(yīng)用[D].天津:南開大學信號與信息處理專業(yè)碩士學位論文。2009.

[3]楊志偉,許輝澤.基于Android的遠程終端控制系統(tǒng)[J].科技信息,2011(21):512-514.

[4]江燕良.基于Android智能終端的遠程控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012(08):129-132.

[5]李剛.Android瘋狂講義[M].北京:電子工業(yè)出版社,2011:88.

猜你喜歡
遠程控制通信
水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
鹽城地區(qū)設(shè)計項目與課堂遠程互動的方式方法研究
基于GSM的遠程控制系統(tǒng)
簡述計算機通信網(wǎng)絡(luò)安全與防護策略
Android環(huán)境下主UI線程與子線程通信機制研究
無線自組網(wǎng)在野戰(zhàn)防空通信系統(tǒng)中的應(yīng)用
對數(shù)字微波通信技術(shù)的研究