999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android平臺的模擬計算機輸入設備研究*

2018-06-29 07:13:24羅志聰許昊葉廷東
自動化與信息工程 2018年2期
關鍵詞:指令程序計算機

羅志聰 許昊 葉廷東

?

基于Android平臺的模擬計算機輸入設備研究*

羅志聰 許昊 葉廷東

(廣東輕工職業技術學院)

基于Android平臺的移動性和開放性,為增強與Windows平臺的互操作性,提出Android智能終端模擬計算機輸入設備的解決方案。模擬計算機輸入設備采用面向對象開發PC端服務程序,通過TCP/IP協議建立無線通訊連接,采用Socket網絡編程和自定義通訊協議和數據幀,實現Android智能終端模擬計算機輸入設備的設計方案。經運行測試,模擬計算機輸入設備可在無線局域網覆蓋范圍內模擬鼠標、鍵盤、游戲手柄、遙控器和體感器等5種輸入設備,具備良好的兼容性。

Android;面向對象編程;Socket;人機交互;輸入設備

0 引言

隨著Android智能手機的快速發展,越來越多的設備制造商和網絡運營商加入到Android系統平臺的陣營。大量Android應用程序由第三方開發,使得Android系統的應用幾乎覆蓋人們生活的方方面面[1]。在傳統應用中鼠標、鍵盤、游戲手柄等計算機輸入設備,由于空間局限和集成度低等問題,限制了人機交互的易用性和操作體驗。基于此,本文設計一種基于Android平臺的集成度高、簡便、成本低的人機交互方案,實現Android智能終端模擬Windows系統的計算機輸入設備。

1 模擬計算機輸入設備整體設計思路

Android是一套開放性移動設備綜合平臺,包括操作系統、中間件和一些關鍵的平臺應用。Android平臺開放性的特點,既能促進技術(包括平臺自身)的創新,又有助于降低開發成本,還可使運營商非常方便地制定特色化的產品[2]。本文設計的Android智能終端模擬計算機輸入設備包括Android智能終端應用程序和PC端服務程序,采用Socket網絡編程設計[3],通過TCP/IP網絡連接進行雙向通訊[4]。Android智能終端程序基于Android操作系統,使用Java語言開發;PC端程序運行在Windows 7 professional 32 bit系統平臺,使用C++語言開發。利用Android智能終端設備的屏幕觸控輸入、實體按鍵和各種傳感器,模擬傳統計算輸入設備,并通過WiFi網絡通訊實現模擬輸入設備的無線操控。模擬計算機輸入設備還自定義了PC與Android智能終端的通信協議[5-6],將通訊模塊封裝成Android智能終端與PC雙向通訊的類庫,以實現軟件的分層架構,便于模擬計算機輸入設備的靈活擴展[7]。

Android端將用戶采集的數據及指令發送至PC端;PC端將接收的數據包進行數據解析處理,再映射至PC端;最后在用戶程序界面響應用戶操作。模擬計算機輸入設備的整體架構如圖1所示。

圖1 模擬計算機輸入設備架構圖

1.1 模擬計算機輸入設備邏輯處理流程設計

Android智能終端連接PC端后,選擇模擬的操作設備,Android端程序通過采集用戶操作相應的數據,封裝成自定義格式的數據包,通過Socket將數據包發送至PC端[7]。

PC端應用程序啟動后,默認狀態下,在59671網絡端口偵聽,接收到Android智能終端發來的數據包后進行報文解析。程序從數據包中解析出數據和指令,調用相應的驅動API映射至PC端。Android端、PC端應用程序流程圖如圖2所示。

圖2 Android端、PC端應用程序流程圖

1.2 模擬計算機輸入設備數據處理流程

模擬計算機輸入設備雙向傳遞的數據分為采集數據和指令數據。采集數據包括屏幕的觸控數據、傳感器數據和實體按鍵等信息;指令數據是Android程序用戶界面采集的用戶數據信息。數據被采集后封裝并通過Socket發送到PC端。模擬鼠標實現過程的數據處理操作步驟如下:

1)采集觸摸屏數據,通過對Android系統GestureDetector類的繼承,捕獲手機的各種操作手勢,通過OnTouch()事件,捕獲event.X 與evet.Y的前后差值;

2)模擬鼠標實體按鍵,從已封裝的指令層里調用相應的指令,如鼠標的左鍵指令為0x0002,讓PC端識別;

3)發送與接收,當Android智能終端觸發屏幕滑動或虛擬鍵點擊時,發送實時數據與指令,PC端使用線程Accept()函數進行監聽;

4)數據解析,每一個數據包都有包頭和包體,包頭識別操作動作,包體為實時數據和指令,PC端與Android智能終端擁有相同的數據結構,通過相應的數據結構對數據進行解析;

5)數據映射,通過系統的API將數據映射到PC端,如通過SetCursorPos(int X, int Y),映射鼠標移動。

2 關鍵技術研究

2.1 終端并發數據處理技術

為解決傳輸高并發時數據黏合、數據傳輸錯誤和通訊延遲的問題,本文參照TCP/IP協議的數據包解析方法,給發送的數據包增加包頭。在包頭加上標志位、長度和結束位等字段,用于區分不同的數據包并實現解析數據包時的處理用途。PC端接收到數據包后具體處理如下:先讀取包頭結構體的長度和結束位字段,以標志位區分數據包類型;再通過自定義的結構體解析接收的數據包;最后對應取出模擬計算機輸入設備所需數據。

數據報文包括包頭和包體部分。包頭包含包頭指令和包體長度。PC端應用程序根據包頭指令獲得該數據包的操作指令,再通過包體獲得操作所需要的數據。數據包的結構定義和一個數據包的示例如圖3所示,其中數據包示例是模擬計算機輸入設備為體感方向盤的運行,包頭指令1表示數據由手機加速計產生;12代表數據包為12個字節。0.0,0.9,0.3分別代表手機該時刻,,軸方向的重力加速度分量。

圖3 數據包結構定義和數據包示例

經測試,以上處理方式可使通訊包的發送速度達到50包/s,1個數據包傳輸并解析所耗費的時間僅需20 ms,較好解決了模擬計算機輸入設備兩端通訊延遲的問題,使系統具備良好用戶體驗。

2.2 模擬計算機輸入設備組合按鍵的實現

Android終端雖然支持多點觸控,但無法讓2個控件同時獲得焦點。模擬計算機輸入設備實現無線鍵盤的常用組合鍵時,如Ctrl+C,需捕捉Android終端屏幕用戶同時按下的多個按鍵。組合按鍵功能的實現流程為:

1)第一次按下時,控件1獲得焦點;

2)第二次按下,取第二次與第一次按下位置的相對坐標;

3)根據步驟2)獲得的相對坐標和控件1的位置,計算第二次按下的點在Andriod設備屏幕上坐標;

4)根據步驟3)獲得的坐標,判斷該坐標是否在控件2里面;若在則控件2已按下,調用程序向PC端發送組合鍵指令,由PC端調用相應的代碼實現組合鍵功能。

3 模擬計算機輸入設備的整體實現

模擬計算機輸入設備應用程序采用面向對象的思想設計,程序架構清晰靈活,易于擴展和移植。開發過程中通過自定義的PC端與Android智能終端的通信協議,將通訊模塊封裝成Android端與PC端程序雙向通訊的類庫,實現軟件的分層架構,便于程序擴展。

3.1 Android智能終端程序類設計

Android端程序將不同的功能封裝在相應的類里面。SocketFactory類負責與PC端通訊;Instruction類負責操作指令;DataConvert負責數據處理和轉換;AcpOrderAdapter類和AcpDataAdapter類進行界面和通訊之間的數據適配。用戶操作指令數據參照TCP/IP數據包傳送協議,為數據封上包頭以加快數據的解析速度。Android端程序類設計圖如圖4所示。

圖4 Android端程序類設計圖

3.2 PC端程序類設計

PC端服務程序類的設計與Android端程序類相對應,為每個模擬的計算機輸入設備設計一個類。ManagerAll類是程序的核心,負責程序流程的處理,PC端程序類設計圖如圖5所示。

圖5 PC端程序類設計圖

ManagerAll類部分核心定義代碼如下:

class ManagerAll

{public:

ManagerAll(void);

~ManagerAll(void);

VoidUpdate();

//ManagerAll中對各個類不斷處理的方法

void InitDeviceStatus(DeviceStatus gs, int i);//設備當前狀態初始化數據

void DeviceStatusManager(int Type); //設備狀態管理

void ShowReceiveMSG(int Type); //顯示接收到數據的值

public:

//類的實例

......

private:

//==結構體變量用來記錄設備當前狀態==

DeviceStatus g_DeviceStatus; //定義一結構體類型用于記錄設備狀態

//=接收到各種數據=

SwitchEvent deviceSwitch;

SensorEvent event;

KeybdEvent vkeybd;

GestureTwo gestureTwo;

GestureSix gestureSix;

CString str; };

4 運行測試

4.1 運行環境

PC端采用微軟公司的Windows 7 32位專業版,Android智能終端選用運行Android 4.4的三星智能手機,分別安裝模擬計算機輸入設備對應的PC端程序和Android端程序。PC服務端物理機和Android智能手機確保連接在同一個WiFi熱點,在PC端點擊開啟服務,Android端點擊WiFi鍵進行連接,PC端程序運行界面如圖6所示。

Android端程序與PC端程序成功連接后,輸入正確驗證碼,即可登錄Android程序端主程序,用戶可通過點擊各圖標進入模擬PC輸入設備界面。

當選擇游戲手柄時,Android終端可模擬X-Box游戲手柄,通過方向鍵、搖桿對游戲的方向進行控制,A,B,X,Y鍵對游戲人物動作進行操作;當選擇體感方向盤時,Android終端通過用戶向上、下傾斜實現加速和減速;左、右傾斜實現左轉和右轉;音量加減鍵實現加檔和減檔;菜單鍵實現切換視圖操作。Android端主界面與模擬手柄、體感方向盤操作效果如圖7所示。

圖6 PC端程序運行界面

圖7 Android端主界面與模擬手柄、體感方向盤操作效果

4.2 運行測試結果

模擬計算機輸入設備運行測試結果正常,其功能實現和響應時間描述如表1所示。

表1 模擬計算機輸入設備運行測試結果

5 結論

由運行測試可知,Android智能終端模擬計算機輸入設備使1臺Android智能終端可替代無線鼠標、無線鍵盤和操縱桿等通用PC輸入設備,對Windows 7桌面系統兼容性良好,達到近乎實時的流暢操作。模擬計算機輸入設備操作簡單、移動便攜、高度集成,僅需要1臺安裝Android 2.2以上系統的智能終端,即可模擬5種PC輸入設備,并支持部分體感設備的模擬,可兼容市面上主流的游戲操控,也可為游戲公司開發定制接口,因此具有較廣闊的應用前景以及經濟效益。

[1] 李杜.基于Android平臺的無線鼠標設計與實現[D].蘭州: 蘭州大學,2012.

[2] 公磊,周聰.基于Android的移動終端應用程序開發與研究[J].計算機與現代化,2008(8):85-89.

[3] 單家凌,葉潤發.基于Wifi的Android通信系統[J].計算機系統應用,2014,23(5):69-72.

[4] 趙軍偉,劉勛,董浩.基于TCP協議的遠程監控系統的實現[J].中國測試,2010,36(1):78-81.

[5] 丁亦喆,廖楠楠,田津浩.基于Android系統的智能交互APP設計思路研究[J].信息記錄材料,2018,19(5):78-79.

[6] 張雅楠,楊璐,鄭麗敏.基于Android手機的遠程視頻監控系統的設計與開發[J].計算機應用,2013,33(S1):283-286.

[7] 張允剛,劉常春,劉偉,等.基于Socket和多線程的遠程監控系統[J].控制工程,2006,13(2):175-177.

Research of Simulating Computer Input Device Based on Android Platform

Luo Zhicong Xu Hao Ye Tingdong

(Guangdong Industry Technical College)

Aiming at the mobility and openness of the Android platform, to enhance its interoperability with the Windows platform, this paper proposes a solution for Android devices to simulate computer input devices under Windows system. In this system,PC server-side program is developed with object - oriented programming, establishes wireless communication connection through TCP/IP protocol, uses Socket network programming and self-defining communication protocol and datagrams. The experiment shows that,this system can stably simulate 5 kinds of Android intelligent terminal input devices, such as mouse, keyboard, game handle, remote controller and somatosensory device under the WiFi coverage. It is a human–computer interaction solution designed for industrial scenes of good compatibility, low cost and easy to use.

Android; Object-Oriented Programming; Socket; Human-Computer Interaction; Input Device

羅志聰,男,1980年生,碩士,講師,主要研究方向:軟件工程、大數據應用。E-mail: imronin@gmail.com

許昊,男,1982年生,碩士,副教授,主要研究方向:軟件工程。

葉廷東,男,1976年生,博士,副教授,主要研究方向:智能控制。

基金項目:廣東省科技計劃項目(2015A020214025, 2015A070710030),廣東省“千百十工程”人才資助項目(RC2016-005),廣州市產學研協同創新重大專項(201604020049)。

猜你喜歡
指令程序計算機
聽我指令:大催眠術
計算機操作系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 在线五月婷婷| 91最新精品视频发布页| 国产精品999在线| 四虎精品免费久久| 中文字幕日韩欧美| 国产成人三级在线观看视频| 久久这里只有精品23| 99热最新在线| 欧美中文字幕无线码视频| 久热re国产手机在线观看| 欧美在线视频不卡第一页| 欧美一区中文字幕| 国产精品蜜臀| 久久国产精品嫖妓| 狠狠v日韩v欧美v| 无码久看视频| 手机成人午夜在线视频| 成人午夜网址| 色婷婷亚洲综合五月| 国产一区二区影院| 永久免费av网站可以直接看的| 精品综合久久久久久97超人| 色播五月婷婷| 极品国产在线| 日本高清视频在线www色| 日韩 欧美 小说 综合网 另类| 亚洲精选无码久久久| 国产高清无码第一十页在线观看| 91小视频在线播放| 99这里只有精品免费视频| 亚洲一级毛片| 色综合中文| 国产精品专区第1页| 欧洲日本亚洲中文字幕| 亚洲色图欧美| 综合色区亚洲熟妇在线| 亚洲精品不卡午夜精品| 就去色综合| 99热这里只有免费国产精品| 夜夜高潮夜夜爽国产伦精品| 中文字幕永久在线看| 91精品国产91欠久久久久| 在线一级毛片| 精品91自产拍在线| 四虎综合网| 久久人妻xunleige无码| 国产福利一区视频| 欧美在线观看不卡| 青草娱乐极品免费视频| 午夜免费小视频| 亚洲欧洲国产成人综合不卡| 欧美一级高清免费a| 成年午夜精品久久精品| 精品国产亚洲人成在线| 激情综合图区| 91在线日韩在线播放| 国产精品女熟高潮视频| 国产成人精品亚洲77美色| 亚洲激情区| 国产日本欧美在线观看| 久久精品这里只有国产中文精品| a毛片在线播放| 亚洲六月丁香六月婷婷蜜芽| 女人爽到高潮免费视频大全| 欧美日韩亚洲国产| 久久无码免费束人妻| 精品一区二区三区无码视频无码| 欧洲熟妇精品视频| 无码日韩人妻精品久久蜜桃| 一本色道久久88综合日韩精品| 极品国产在线| 成人在线欧美| 亚洲日本中文字幕天堂网| 亚洲系列无码专区偷窥无码| 亚洲国产理论片在线播放| 高清无码手机在线观看| 亚洲第一视频网站| 久久鸭综合久久国产| 久久精品嫩草研究院| 九九热精品视频在线| 亚洲精品视频网| 国产精品尤物铁牛tv |