影音先锋熟女少妇av资源,国产精品52页,2021精品国产自在现线看,亚洲高清中文字幕在线

物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊(cè)

基于Android的無(wú)線(xiàn)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者:李倩 付蔚 洪陽(yáng)
來(lái)源:《物聯(lián)網(wǎng)世界》
日期:2014-02-10 11:02:53
摘要:能手機(jī)普及率的提升,催生了基于智能操作平臺(tái)的附加產(chǎn)物。而Android平臺(tái)為開(kāi)源的手機(jī)開(kāi)發(fā)平臺(tái),通過(guò)對(duì)Android平臺(tái)的設(shè)計(jì)開(kāi)發(fā),使智能手機(jī)獲得增強(qiáng)化的個(gè)性服務(wù)。提出了基于Android手機(jī)的無(wú)線(xiàn)控制系統(tǒng),介紹了整體結(jié)構(gòu)框架,分析了各功能模塊的具體實(shí)現(xiàn),并在實(shí)際設(shè)備中進(jìn)行測(cè)試。實(shí)現(xiàn)了基于Android手機(jī)對(duì)設(shè)備的遠(yuǎn)程訪(fǎng)問(wèn)和控制。

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

  引言

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

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

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

基于Android的無(wú)線(xiàn)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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

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

  Linux核心層(LINUX KERNEL)

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

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

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

  應(yīng)用程序框架層(APPLICATION FRAMEWORK)

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

  應(yīng)用程序?qū)?APPLICATIONS)

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

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

  設(shè)計(jì)原理

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

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

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

基于Android的無(wú)線(xiàn)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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

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

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

  Android手機(jī)端設(shè)計(jì)

  在Android手機(jī)端運(yùn)行該軟件XXX Client后,進(jìn)入鼠標(biāo)界面ControlActivity,該界面同鼠標(biāo)相對(duì)應(yīng),有左鍵、滾標(biāo)、右鍵。在用該手機(jī)進(jìn)行控制PC端之前,還需對(duì)手機(jī)進(jìn)行通信設(shè)置,此時(shí)進(jìn)入菜單欄,選擇connections,進(jìn)入連接設(shè)置界面,新添加一個(gè)WIFI連接。在Android端輸入用戶(hù)名、服務(wù)端IP和端口號(hào),通過(guò)服務(wù)器驗(yàn)證后,便和PC端建立好Socket連接。

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

基于Android的無(wú)線(xiàn)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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

  AuthentificationAction:認(rèn)證命令。客戶(hù)端向服務(wù)端發(fā)送認(rèn)證的密碼。

  AuthentificationResponseAction:認(rèn)證響應(yīng)命令。服務(wù)端驗(yàn)證客戶(hù)端是否正確的,返回驗(yàn)證的結(jié)果。

  FileExploreRequestAction:打開(kāi)文件命令??蛻?hù)端請(qǐng)求打開(kāi)服務(wù)端文件的命令。客戶(hù)端發(fā)送這個(gè)命令請(qǐng)求打開(kāi)服務(wù)端的文件。

  FileExploreResponseAction:服務(wù)端響應(yīng)客戶(hù)端打開(kāi)文件的命令。

  KeyboardAction:鍵盤(pán)命令。

  MouseClickAction:鼠標(biāo)點(diǎn)擊命令。

  MouseMoveAction:鼠標(biāo)移動(dòng)命令。

  MouseWheelAction:鼠標(biāo)滾輪命令。

  連接好Android端和PC端后通信,返回至鼠標(biāo)界面,鼠標(biāo)點(diǎn)擊事件通過(guò)客戶(hù)端發(fā)送特定的命令到服務(wù)端,觸發(fā)MouseClickAction事件,服務(wù)端通過(guò)Java中專(zhuān)門(mén)控制鼠標(biāo)鍵盤(pán)的Robot類(lèi)[6],將事件發(fā)送到Android端,從而實(shí)現(xiàn)Android端對(duì)PC端鼠標(biāo)控制。

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

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

  dos.writeByte(MOUSE_MOVE);

  dos.writeShort(this.moveX);

  dos.writeShort(this.moveY);

  當(dāng)服務(wù)端接收到該命令時(shí),會(huì)觸發(fā)moveMouse方法,然后通過(guò)服務(wù)端的Robot類(lèi),向系統(tǒng)發(fā)送移動(dòng)事件。

  文件傳輸功能在FileExplorerActivity中實(shí)現(xiàn),客戶(hù)端向服務(wù)端發(fā)送請(qǐng)求打開(kāi)目錄命令,服務(wù)端返回文件列表的響應(yīng)命令。當(dāng)客戶(hù)端點(diǎn)擊的文件不是一個(gè)目錄,而是一個(gè)文件時(shí),服務(wù)端就執(zhí)行打開(kāi)該文件的命令。

  3 系統(tǒng)測(cè)試

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

基于Android的無(wú)線(xiàn)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

  4 結(jié)語(yǔ)

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

  物聯(lián)網(wǎng)互動(dòng)體驗(yàn)館科普展品及教具研發(fā) 項(xiàng)目編號(hào):cstc 2012gg-kp1B40005

  物聯(lián)網(wǎng)科普系列叢書(shū) 項(xiàng)目編號(hào):csts 2012gg-kp1B40006

  “教學(xué)做評(píng)”四位一體的實(shí)訓(xùn)模式的探索與研究 項(xiàng)目編號(hào):XJG1204

  重慶市級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目——基于RFID和6LoWPAN的室內(nèi)定位系統(tǒng)的設(shè)計(jì) 項(xiàng)目編號(hào):201310617023

  文/重慶市物聯(lián)網(wǎng)工程技術(shù)研究中心/重慶郵電大學(xué)工業(yè)物聯(lián)網(wǎng)與網(wǎng)絡(luò)化控制教育部重點(diǎn)實(shí)驗(yàn)室 李倩 付蔚 洪陽(yáng)