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

HAODE基于Android平臺的鍵盤輸入技術(shù)研究

2013-01-26 04:24:50天地常州自動化股份有限公司
電子世界 2013年5期
關(guān)鍵詞:智能系統(tǒng)

天地(常州)自動化股份有限公司 蔣 華

1.引言

近年來,伴隨著云計算的飛速發(fā)展,物聯(lián)網(wǎng)技術(shù)的革新,智能終端以一種前所未有的速度在鋪開;在軟件層面,Android、iOS、Win8等智能終端操作系統(tǒng)三分天下,代表了智能終端操作系統(tǒng)的發(fā)展趨勢;而在硬件層面,以ARM架構(gòu)為代表的高速、多核CPU,在智能終端平臺占據(jù)了統(tǒng)治地位。

雖然煤礦生產(chǎn)作為一個特殊領(lǐng)域,有其安全性、防爆、防潮等特殊的工藝要求,但并不妨礙在煤礦生產(chǎn)領(lǐng)域引進(jìn)智能終端平臺,不但可以跟隨技術(shù)趨勢,實現(xiàn)礦業(yè)生產(chǎn)的技術(shù)升級;而且可以用更先進(jìn)的平臺、技術(shù)來為礦業(yè)生產(chǎn)服務(wù)。

然而,在煤礦生產(chǎn)領(lǐng)域引進(jìn)先進(jìn)的智能終端平臺,有一個明顯的缺陷性,即智能終端的代表性技術(shù)——觸摸屏技術(shù)在礦業(yè)作業(yè)區(qū)域的使用,尚無法達(dá)標(biāo)。礦場作業(yè)區(qū)域的濕度、粉塵等外界環(huán)境制約了觸摸屏在礦場環(huán)境的長時間使用。因此,在引進(jìn)智能終端技術(shù)的同時,我們需要作出適當(dāng)?shù)娜∩幔诜艞壥褂糜|摸屏技術(shù)的前提下,采用隔爆、防塵、防水的屏幕,同時結(jié)合傳統(tǒng)的鍵盤輸入技術(shù),以滿足礦場的環(huán)境技術(shù)需求,使得智能終端平臺在礦場環(huán)境中得到新的發(fā)展。

2.Android輸入系統(tǒng)解析

Android中,主要的輸入硬件設(shè)備是鍵盤、觸摸屏、軌跡球等。輸入系統(tǒng)的結(jié)構(gòu)也比較簡單,自下而上包含了驅(qū)動程序、本地庫處理部分、硬件抽象層、Java框架層、Android應(yīng)用程序?qū)印ndroid用戶輸入系統(tǒng)的結(jié)構(gòu)如圖1所示,此處不做詳細(xì)介紹,將在下文作具體講解。

3.Linux內(nèi)核驅(qū)動層分析

在工作生活中,接觸最多的就是全鍵盤,通過USB接口就能連接上主機進(jìn)行使用;我們的平臺初期也實現(xiàn)了USB全鍵盤和USB鼠標(biāo)的驅(qū)動,在沒有觸摸屏的情況下,它們是輸入系統(tǒng)的重要實現(xiàn)方式,但是,全鍵盤的體型、安全性限制,無法在井下環(huán)境中使用。

此處,我們所要介紹的鍵盤是兩種非常規(guī)的鍵盤:矩陣鍵盤和按鍵鍵盤。兩者各有優(yōu)缺點,矩陣鍵盤具有使用CPIO接口少,實現(xiàn)按鍵多的優(yōu)點,缺點卻是驅(qū)動實現(xiàn)方式較復(fù)雜,并且需要CPU不停地掃描鍵值,消耗有限的CPU資源;按鍵鍵盤占有GPIO接口較多,一個接口一個按鍵,對物理資源GPIO口消耗較多,優(yōu)點在于驅(qū)動實現(xiàn)簡單,且增加按鍵方便。

在Android平臺上,我們所要引進(jìn)的鍵盤是要能夠在Android應(yīng)用中替代button控件,實現(xiàn)按鍵控制;并且要通過有限的按鍵數(shù)目實現(xiàn)數(shù)字、字母、中文的輸入,符合這些要求的,只有傳統(tǒng)鍵盤符合,只是它的接口方式可以有矩陣和按鍵兩種,此處主要以按鍵鍵盤為例來介紹。

Linux從2.6版本開始引入了platform這個概念,將設(shè)備驅(qū)動的開發(fā)工作主要分為兩塊:platform_device和platform_driver。前者主要完成板級的硬件設(shè)備資源的添加;后者負(fù)責(zé)實現(xiàn)具體的設(shè)備驅(qū)動程序。

在開發(fā)底層驅(qū)動程序時,首先要確認(rèn)的就是設(shè)備的資源信息,在2.6內(nèi)核中將每個設(shè)備的資源用結(jié)構(gòu)platform_device來描述。該結(jié)構(gòu)體定義在/include/linux/platform_device.h中。具體實現(xiàn)如下步驟:

1)定義按鍵屬性,如下文本框中GPIO_BUTTON的宏定義,此處重點關(guān)注兩個參數(shù):gpio_num和evc_code。前者需要根據(jù)芯片手冊選擇所需要與按鍵相連的GPIO接口的序號,后者代表了按鍵在Linux內(nèi)核系統(tǒng)中的鍵值,詳見include/linux.h.

2)將所需使用的按鍵構(gòu)成一個GPIO鍵盤結(jié)構(gòu)體數(shù)組smd_buttons,并以數(shù)組名稱和數(shù)組大小添加到GPIO按鍵驅(qū)動平臺gpio_keys_platform_data中。

3)將GPIO按鍵添加至設(shè)備平臺驅(qū)動類型platform_device中,并實現(xiàn)設(shè)備平臺驅(qū)動類型的注冊platform_device_register(&smd_button_device);

4)在完成platform_device的注冊之后,就需要在內(nèi)核驅(qū)動層進(jìn)行具體設(shè)備的驅(qū)動移植開發(fā),驅(qū)動程序需要實現(xiàn)結(jié)構(gòu)體platform_driver,也定義在/include/linux/platform_device.h中。鍵盤驅(qū)動的實現(xiàn)可見driver/input/gpio_keys.c文件。根據(jù)platform_driver提供的接口函數(shù),完成具體的probe、remove等函數(shù)的實現(xiàn),即可完成按鍵鍵盤驅(qū)動的實現(xiàn)。

至此,即完成了按鍵鍵盤的驅(qū)動移植工作。在完成按鍵鍵盤驅(qū)動的移植之后,為了避免再次移植矩陣鍵盤驅(qū)動的麻煩,我們可以使用一個單片機完成矩陣鍵盤接口電平到按鍵電平的轉(zhuǎn)換,通過硬件的轉(zhuǎn)接,即能在按鍵鍵盤驅(qū)動的基礎(chǔ)上實現(xiàn)對矩陣鍵盤的驅(qū)動。具體的實現(xiàn)電路就不再列舉。

4.本地庫處理系統(tǒng)

本地庫處理系統(tǒng)主要負(fù)責(zé)對Linux內(nèi)核層上報的按鍵鍵值進(jìn)行二次轉(zhuǎn)換,并進(jìn)行封裝上報至Java框架層。簡而言之,android按鍵消息通過二次轉(zhuǎn)換:

1)將驅(qū)動report上來的SCANCODE,通過文件qwerty.kl的映射,得到KEYCODE字串;

2)通過二維表static const KeycodeLabel KEYCODES[],將上面的字符串轉(zhuǎn)換成android需要的鍵值信息。如果是輸入鍵,還需要查詢keymap,得到相應(yīng)的字符。

圖1 Android輸入系統(tǒng)框圖

5.Java框架層

如圖2所示,由KeyInputDevice等類來處理EventHub傳遞上來的信息,通過RawInputEvent和KeyEvent來表示。按鍵事件,以KeyEvent的形式傳送給應(yīng)用程序;而觸摸屏和軌跡球事件以RawInputEvent的形式轉(zhuǎn)換形成MotionEvent事件傳送給Android應(yīng)用程序。

在這個層面,Google已經(jīng)完成了相應(yīng)機制的開發(fā)工作,不需要我們進(jìn)行額外的開發(fā),我們只需要了解按鍵事件在這一層的處理即可。

6.Android應(yīng)用層

在Android應(yīng)用層中,對于按鍵事件的控制可以通過重寫onKeyDown、onKeyUp函數(shù)來實現(xiàn)類似Button控件的Listener的監(jiān)測功能;當(dāng)按鍵按下或者回復(fù)時,會觸發(fā)相應(yīng)鍵值多對應(yīng)的Android應(yīng)用層的操作。

最簡單的例子就是,Android手機通常都有的Home鍵,即是典型的按鍵功能的實現(xiàn),當(dāng)然,我們也能夠通過重寫Home鍵的功能,使之實現(xiàn)不同的效果。如下框圖中的代碼所示,通過判斷鍵值是否為1、2、3,我們來使文本輸出不同的打印信息。在此處,賦予鍵值1、2、3的按鍵,它的功能類似于觸摸屏中的Button控件。

@Override

public boolean onKeyDown(int keyCode,KeyEvent event)

{

if (keyCode==KeyEvent.KEYCODE_1)

{

mTextView1.setText(“事件1”);

}

else if(keyCode==KeyEvent.KEYCODE_2)

{

mTextView1.setText(“事件2”);

}

else if(keyCode==KeyEvent.KEYCODE_3)

{

mTextView1.setText(“事件3”);

}

}

7.與Android Button事件比較

在android應(yīng)用中,組件button的作用與實體按鍵作用類似,但也有較大差別;兩者之間的差別有二:

1)對于組件button的響應(yīng)有對應(yīng)的Listener,會監(jiān)測組件button事件;對于實體按鍵,是通過按鍵鍵值的轉(zhuǎn)換響應(yīng)來判斷的,主要通過對按鍵重寫onKeyDown、onKeyUp來實現(xiàn)對按鍵事件的響應(yīng);

2)組件button的按下只會有一次響應(yīng);而對于實體按鍵的按下,android系統(tǒng)會定時查詢按鍵狀態(tài),可能在用戶看來只按下一次按鍵,但反映到android系統(tǒng)層面卻有若干次響應(yīng)。

8.結(jié)語

本文就礦業(yè)領(lǐng)域引進(jìn)智能終端技術(shù)遇到的觸摸屏技術(shù)瓶頸,提出了結(jié)合傳統(tǒng)鍵盤輸入技術(shù),實現(xiàn)在礦業(yè)生產(chǎn)領(lǐng)域的智能終端的輸入系統(tǒng)的實現(xiàn)。在智能終端的基礎(chǔ)上,我們可以實現(xiàn)語音通話、視頻監(jiān)控、安全宣傳等各項功能,并能逐步引入地面成功使用的各種技術(shù),為井下作業(yè)提供幫助。

[1]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].北京:電子工業(yè)出版社,2010.

[2]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.

[3]高春生,紀(jì)永剛,王維,宋銳.Amigobot移動機器人上位控制[J]工礦自動化,2012(4):104-108.

[4]Chunduru V,Subramanian N.Effects of Power Lines on Performance of home control system.International Conference on Power Electronics,Drives and Energy Systems,New Delhi,India,2006:1-6.

猜你喜歡
智能系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
智能制造 反思與期望
半沸制皂系統(tǒng)(下)
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
主站蜘蛛池模板: 72种姿势欧美久久久大黄蕉| 国产午夜福利亚洲第一| 亚洲天堂在线视频| 亚洲视频二| 日韩欧美国产另类| 亚洲精品视频在线观看视频| 天天摸天天操免费播放小视频| 扒开粉嫩的小缝隙喷白浆视频| 午夜爽爽视频| 手机精品视频在线观看免费| 嫩草国产在线| 久久香蕉国产线看观看精品蕉| www.youjizz.com久久| 亚洲婷婷六月| 成人免费视频一区| 欧美日韩国产在线播放| 日韩欧美中文| 免费看a毛片| 中文字幕日韩欧美| 丁香亚洲综合五月天婷婷| 亚洲国产成人在线| 国产成人精品18| 国产人碰人摸人爱免费视频| 精品夜恋影院亚洲欧洲| 福利国产在线| 国产精品分类视频分类一区| 99热国产这里只有精品无卡顿"| 毛片久久久| 亚洲国产天堂久久综合| 欧美色视频网站| 国产成年女人特黄特色毛片免| 亚洲中文字幕在线观看| 国产精品自在自线免费观看| 一级毛片视频免费| 少妇精品网站| 一本一道波多野结衣一区二区| 波多野结衣久久高清免费| 在线观看欧美精品二区| 国产人成在线视频| 性欧美久久| 日韩专区第一页| 成人欧美日韩| 亚洲AⅤ永久无码精品毛片| 老司国产精品视频91| 99久久精品免费看国产免费软件| 国产精品美人久久久久久AV| 在线观看91精品国产剧情免费| 狠狠干综合| 国产亚洲高清在线精品99| 亚洲精品无码专区在线观看| 99精品伊人久久久大香线蕉| 国产区福利小视频在线观看尤物| 欧美国产综合色视频| 五月婷婷伊人网| 亚洲91精品视频| 久久精品无码国产一区二区三区| 日韩欧美视频第一区在线观看 | 欧美激情网址| 国产成人av大片在线播放| 成人免费一级片| 久久不卡精品| 少妇精品网站| 国内精品久久人妻无码大片高| 成人亚洲视频| 日韩福利在线观看| 欧美日韩国产高清一区二区三区| 亚洲AⅤ综合在线欧美一区| 日韩A∨精品日韩精品无码| 四虎国产在线观看| 色悠久久综合| 黄网站欧美内射| 91九色国产在线| 永久免费无码日韩视频| 性喷潮久久久久久久久| 久久人搡人人玩人妻精品一| 亚洲视频三级| 亚洲中文无码h在线观看| 国产美女主播一级成人毛片| 丁香婷婷激情网| 美女国产在线| 91色在线视频| 国产男女XX00免费观看|