Skip to content

USB on MIDP Phone

六月 10, 2006

在 J2ME 上定義的架構︰

Optional Package
Profile
Configuration

最上一層是 Optional Package 在這裡我先略過。

在最底層的 Configuration 定義了設備的基本功能,並針對設備本身的資源
而區分成兩大類︰

CDC (Connected Device Configuration)
CLDC (Connected Limited Device Configuration)

一般手機便是歸類在 CLDC 範圍裡。在不同的 Device Configuration 則有
不同的 API。

第二層的 Profile 則是針對特定設備提供明確且較高層次的 API,以 CLDC
來說目前有如下 Profiles︰

MIDP 1.0 (Mobile Information Device Profile)
MIDP 2.0
IMP 1.0 (Information Module Profile)

MIDP 便是針對手機這類的行動裝置所定義出來的。通常 2005 年以前的手機
都是 MIDP 1.0 實作,而後來的手機才有 MIDP 2.0 實作。
MIDP 中所提供 API 包括︰

User Interface Package:
javax.microedition.lcdui
javax.microedition.lcdui.game

Networking Package:
javax.microedition.io

Audio Package:
javax.microedition.media
javax.microedition.media.control

以及核心 Core Packages:
java.io
java.lang
java.util

詳細列表可以查 API doc。而最值得一提的是 javax.microedition.io,
在該 package 底下有一個很重要的 Interface: CommConnection 它可以
用來將手機上的 Mini-USB 裝置以 Logical Serial Port 的方式運作。
也就是一般電腦上對 COM Port 的操作。
CommConnection 其實便源自於 Java 的 Generic Connection Framework。

實作︰

以 V220 這支手機為例,在手機裡的 Java 設定便可以得知它支援的版本為︰

CLDC 1.0
MIDP 2.0

因此我們寫的 J2ME 程式必須符合版本以上才能順利運作。在手機裡所執行的
Java 程式通常稱之為 MIDlet,現在要試著寫個小型的 MIDlet 來確認可否連
線手機上的 Mini-USB 裝置。

一般來說可以透過 System.getProperty(“microedition.commports") 來取得
手機上的 Comm Port 裝罝有哪些,接著再叫 Connector.open() 來開啟連線︰

Connector.open(“comm:COM0;baudrate=19200″, Connector.READ_WRITE,
false);

當中的第一個參數是連線裝置,這個比較麻煩的是,不同系列的手機會有不同的
連線格式字串,以 v220 為例就必須改寫如下︰

Connector.open(“comm:/COM1;baudrate=19200″);

最後連線成功後便可以 Stream 的方式來處理資料了。其實還有很多細節沒能
說清楚,就等有朝一日再相談吧…

廣告
No comments yet

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: