《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > 移動信息設備框架在虛擬實驗室上的實現

移動信息設備框架在虛擬實驗室上的實現

2008-12-29
作者:陳凱迪,李浩君,邱飛岳

1. J2ME概述
??? 隨著JAVA技術的不斷發展,JAVA自身也根據市場進行了版本的細分。Java2分為針對企業級應用的J2EE(Java 2 Enterprise Edition)、針對普通PC應用的J2SE(Java 2 Standard Edition)和針對嵌入式設備及消費類電子產品的J2ME(Java 2 Micro Edition)三個版本。
??? Sun公司將 J2ME 定義為“一種以廣泛的消費性產品為目標的的高度優化的Java運行時環境,包括尋呼機、移動電話、可視電話、數字機頂盒和汽車導航系統。” 自從 1999 年 6 月在 JavaOne Developer Conference 上聲明之后,J2ME為小型設備帶來了Java語言的跨平臺功能,允許移動無線設備共享應用程序" title="應用程序">應用程序。有了J2ME,Sun已經使Java平臺能夠適應集成了或基于小型計算設備的用戶產品。

2.?J2ME總體架構
??? J2ME 使用“配置” (configuration)和“框架” (profile)定制Java運行時環境(JRE)。作為一個完整的JRE,J2ME由配置和框架組成,配置決定了使用的JVM,而框架通過添加特定于域的類來定義應用程序。配置將基本運行時環境定義為一組核心類和一個運行在特定類型設備上的特定JVM。框架定義了應用程序,它還特別向J2ME配置中添加特定于域的類,定義設備的某種作用。下面的圖表描述了不同的虛擬機、配置和框架之間的關系。它同時把 J2SE API 和它的Java虛擬機進行了比較。雖然J2SE虛擬機通常被稱為一種JVM,但是J2ME虛擬機、KVM和CVM都是JVM的子集。KVM和CVM均可被看作是一種Java虛擬機 -- 它們是J2SE JVM的壓縮版,并且只應用于J2ME技術。

2.1 配置概述
??? 配置將基本運行時環境定義為一組核心類和一個運行在特定類型設備上的特定JVM。雖然還可能在將來定義其他的配置,但當前J2ME只存在兩種配置:
??? (1)連接的有限設備配置 (CLDC): 主要與KVM一起用于內存有限的16位或32位設備。這是用于開發小型J2ME應用程序的配置(虛擬機)。(從開發的角度來看)它的大小限制讓它比CDC更有趣、更具挑戰性。CLDC同時還是用于開發繪圖工具應用程序的配置。
??? 使用CLDC開發的J2ME應用程序的目標設備通常具有以下特征:
·可供Java平臺使用的160到512KB的總內存
·功率有限,常常是電池供電
·通常是無線連網,連接不穩定并且帶寬有限
·用戶接口混亂,程度參差不齊;有時根本就沒有接口
CLDC支持的設備包括無線電話、尋呼機、主流個人數字助手 (PDA),以及小型零售支付終端。
??? (2)連接的設備配置(CDC):它與C虛擬機(CVM)一起使用,用于要求內存超過2兆的32 位體系結構。
??? 使用CDC開發的J2ME應用程序的目標設備通常具有以下特征:
·使用32位處理器
·2兆字節或更多可供Java平臺使用的總內存
CDC 支持的設備包括常駐網關、智能電話和通訊器、互聯網電視機頂盒、PDA、小型零售終端以及汽車導航系統。

2.2 框架概述
??? 框架定義了應用程序所支持的設備類型。它還特別向J2ME配置添加了特定于域的類來定義設備的某種作用。框架建立在配置的頂部。目前已經為J2ME定義了兩種框架:KJava和移動信息設備框架 (MIDP),它們也被建立在CDLC之上。這兩種框架適用于小型設備。

2.3 KVM介紹
??? CLDC和MIDP通常運行在SUN的K虛擬機(KVM)之上,KVM是一個專門為小型的、資源受限的設備所設計的緊湊的、便捷的Java虛擬機。KVM的高端設計目標是創建一個新的擁有以下特點的Java虛擬機:
·小型的,虛擬機核心的靜態內存占有量從60KB開始,依賴于編譯選項和目標平臺。
·清晰的,具有良好的注釋和高度的可移植性。
·模塊化,可定制。
·在不犧牲其他設計目標的前提下盡量完善和高速。
??? KVM中的“K”代表“千(Kilo)”,這樣命名是因為它的內存容量是用幾十KB來衡量的(而桌面系統是用兆(M)甚至千兆(G)來衡量的)。KVM適合于帶有不超過幾百KB內存的16/32位微處理器。它的典型應用是數字蜂窩電話、傳呼機、PDA、便攜式音頻/視頻設備和小型的零售支付終端。
??? KVM實現所需要的最小總內存空間大約是128KB,包括虛擬機、最小的庫和運行Java程序所需要的堆空間。一個更加典型的實現需要總共256KB的內存空間,其中32KB作為應用運行時的堆空間,60KB到80KB用于虛擬機本身,剩余的為類庫保留。易失內存(如DRAM)和非易失內存(如ROM或閃存)之間的比率相依賴于實現、設備、采用的配置等而變化。KVM在目標設備中真正的任務會有很大的不同。在一些實現中,KVM常常是位于本地軟件棧之上使設備具有在其上下載和運行動態、交互、安全的Java程序的能力。在另一些實現中,KVM被用于底層的同時也用于Java編程語言實現底層系統軟件和設備應用。

2.4 MIDlets介紹
??? MID框架的核心是MIDlet應用程序。這個應用程序繼承了MIDlet類,以允許應用程序管理軟件對MIDlet進行控制、用關鍵詞檢索屬性以及對狀態變化進行通知和請求。 所有MIDlet 都繼承MIDlet類 — 運行時環境(應用程序管理器)和MIDlet應用程序代碼之間的接口。MIDlet類提供了用于調用、暫停、重新啟動和終止MIDlet應用程序的API。應用程序管理軟件可以在運行時環境內管理多個MIDlet 的活動。此外,MIDlet可以自己發起一些狀態變化,并把這些變化通知給應用程序管理軟件。
??? MIDP? API(Application Program Interface) 類分為兩種:
??? (1)用于用戶界面的 MIDP API:設計這些API是為了能以一系列屏幕顯示為基礎與用戶進行交互操作,每一屏幕顯示把適量的數據顯示給用戶。這些API允許應用程序決定下一屏顯示什么、執行什么計算和使用網絡服務的何種請求。
??? (2)用于處理數據庫的MIDP API:這些API負責組織和操作設備數據庫,這個數據庫由調用多個MIDlet的記錄信息組成。底層的CLDC API用于處理字符串、對象和整數。此外這些API還提供了Java 2 API的一個子集,用于處理I/O和網絡通信。

3.“虛擬實驗室" title="虛擬實驗室">虛擬實驗室”概述
??? 在研究如何用手機對電機進行控制的過程中,發展出了“虛擬實驗室”技術。這實際上就是通過手機控制步進" title="步進">步進電動機和直流伺服" title="直流伺服">直流伺服電動機的旋轉角度和旋轉方向。就伺服電動機而言,我們能通過手機查看它的開關(ON/OFF)狀態和當前速度(轉/分),還能測量機械的時間遲延。
??? 首要的事情就是在手機和計算機之間建立連接。如圖1所示,手機首先通過MIDlet與服務器建立HTTP連接,然后服務器與預定計算機的一個端口建立套接連接。數據流就可以通過這個端口輸入輸出。然后服務器的程序通過Java本地接口(JNI)呼叫預定計算機里的本地碼,接著本地碼結合從接口傳來的機器的參數進行運算,并把運算結果返回給服務器,最后服務器發送數據給手機并通過MIDlet顯示出來。

3.1 步進電動機控制
??? 這里使用4極直流步進電動機。用戶通過手機輸入旋轉角度與方向,然后轉動這么多角度所需要的步數被計算出來,并且通過打印端口把信號發送出去。因為從并行口傳來的信號太微弱,所以必須進行放大才能使電動機運轉起來。如圖2所示,這里用了ULN2003 IC來進行信號的放大。

??? 下面的圖3所示的就是用來控制步進電動機的手機輸出界面。

?

3.2 直流伺服電動機控制
??? 這里使用了12V的直流伺服電動機。它的開或關是通過繼電器進行選擇的。繼電器的定額是6V,5A,100ohm。從并行口傳來的信號通過一個功率晶體管SL100去控制繼電器。(如圖4所示)

??? 伺服電動機配置了一個光感應裝置(見圖5)。當感應器收到從縫隙里進入的光后就會輸出5V電壓,功率管會對這個電壓產生沖激響應,同時程序會自動使某個對應于轉速的參數增加1。于是就能測出電動機的轉速。如圖6所示,手機可以對伺服電動機的開關狀態、當前轉速及時間遲延進行監控。

4.總結
??? 由于J2ME的應用,通過移動設備對步進電動機和伺服電動機進行控制已經獲得了成功。此外,通過相似的技術并結合Internet對機器手臂或遠程設像機等進行遠程控制也是很有發展潛力的。
參考資料
[1]C.Enrique Ortiz and Eric Giguere,2001-Mobile Information Device Profile for Java2 Edition(J2ME):Professional Developer’s Guide-John Wiley & Sons;1stEdition
[2]John W.Muchow,2001-Core J2ME Technology-Prentice Hall PTR; 1stEdition
[3]盧軍.J2ME應用程序開發" title="程序開發">程序開發—手機、PDA程序開發捷徑.北京:中國鐵道出版社,2002

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 国产三级观看 | 亚洲精品国产一区二区三区四区 | 亚洲成人福利 | 国产做爰一区二区 | 免费观看一区二区 | 久久精品免视着国产成人 | 爽爽爽爽爽爽a成人免费视频 | 曰本女同互慰高清在线观看 | 欧美国产91 | 久久精品国产亚洲网址 | 一区二区三区在线观看视频 | 欧美精品网站 | 老外毛片 | 深夜福利成人 | 国产精品一国产精品免费 | 欧美国产综合在线 | 九草在线视频 | 亚洲综合亚洲综合网成人 | 最新国产美女肝交视频播放 | 97国产精品欧美一区二区三区 | 久久免费激情视频 | 另类视频区第一页 | 男人性天堂 | 久久成人18免费网站 | 加勒比色综合 | 中日毛片 | 欧美高清性色生活 | 成人午夜看片在线观看 | 国产青草| 午夜免费的国产片在线观看 | 国产成人精视频在线观看免费 | 欧美成人交tv免费观看 | 成年免费在线观看 | 一级视频免费观看 | 亚洲资源在线 | 草草影院永久在线观看 | 欧美日韩视频一区二区 | 免费视频一区二区 | 新版天堂中文资源8在线 | 精品国产欧美一区二区 | 在线亚洲一区二区 |