水曜日 6 25, 2014

Java ME Embedded 8を使ったGPIOを操作するアプリケーション開発(1/2)

以前ブログにて紹介した、Java ME Embedded 8を使ったM2Mアプリケーション開発の記事をご覧いただけたでしょうか。今回はJava ME Embedded 8を使ったGPIOを操作するアプリケーションの開発手順をご紹介したいと思います。

概要

デスクトップ開発環境を利用してGPIOを操作するJava ME Embedded 8のアプリケーションを作成します。
スイッチボタン(入力)とLED(出力)はGPIOで接続していて、作成したアプリケーションを実行すると、ボタンを押すたびにLEDの状態を変更します。

ハードウェア要件

利用したハードウェアは以下になります。

  • Raspberry Pi Model B Revision 2.0 (512 MB)
  • ブレッドボード
  • ブレッドボードワイヤ
  • プッシュボタン(モーメンタリ、4ピン推奨)
  • LED(2.2V 順電圧、20mA推奨)
  • 10KΩ抵抗(プッシュボタン用)
  • 560Ω抵抗(LED用)

事前準備

開発環境の構築です。詳細は以下の記事を参考にしてください。
本記事ではRaspberry Piは利用しませんが、あわせて構築しておくことをおすすめします。

GPIOを利用するJava ME Embeddedプロジェクトの作成

NetBeansを使用してプロジェクトを作成し、Windowsエミュレータを使用して、ローカルでテストします。

NetBeansでのJava ME Embeddedプロジェクトの作成

  1. NetBeansを起動し、ファイル > 新規プロジェクトを選択します。
  2. カテゴリJava ME EmbeddedプロジェクトJava ME Embeddedアプリケーションを選択し、次 >をクリックします。
  3. 新規Java ME Embeddedアプリケーションウィンドウで以下のように変更し、終了をクリックします。
    • プロジェクト名にTestGPIOと入力
    • デバイスはEmbeddedDevice1を選択
    • MIDletの作成にcom.example.GPIOIMletと入力

GPIOPinTestクラスの追加と実装

GPIOPinTestクラスは入力ピン(プッシュボタン)での変更をし、出力端子(LED)の状態を変更する

  1. com.exampleを右クリック、新規 > Javaクラスを選択します。
  2. クラス名GPIOPinTestと入力し、終了をクリックします。
  3. PinListenerインターフェースを実装するクラスを変更します。

    public class GPIOPinTest implements PinListener {

    }


  4. クラス内にボタン(入力)とLED(出力)で利用するGPIO端子のクラスフィールドを記入します。

      // Emulator Pin values
      private static final String LED1 = "LED 1";
      private static final int LED1_ID = 1;
      private static final int Button_Port = 0;
      private static final int Button_Pin = 0;
      private GPIOPin led1;
      private GPIOPin button1;

  5. startメソッドではボタンとLEDコンポーネントを初期化します。以下のメソッドをクラス内に記入します。

      public void start() throws IOException {
        // Open the LED pin (Output)
        led1 = (GPIOPin) DeviceManager.open(LED1_ID);
        // Config file for the button - trigger on a rising edge (from low to high)
        GPIOPinConfig config1 = new GPIOPinConfig(Button_Port, Button_Pin, GPIOPinConfig.DIR_INPUT_ONLY, DeviceConfig.DEFAULT, GPIOPinConfig.TRIGGER_BOTH_EDGES, false);

        // Open the BUTTON pin (Input)
        button1 = (GPIOPin) DeviceManager.open(config1);

        // Add this class as a pin listener to the buttons
        button1.setInputListener(this);

        // Turn the LED on, then off - this tests the LED
        led1.setValue(true);
        try {
          Thread.sleep(1000);
        } catch (InterruptedException ex) {
        }
        // Start the LED's off (false)
        led1.setValue(false);
      }

  6. stopメソッドではボタンとLEDリソースをクローズします。以下のメソッドをクラス内に記入します。

      public void stop() throws IOException {
        if (led1 != null) {
          led1.setValue(false);
          led1.close();
        }
        if (button1 != null) {
          button1.close();
        }
      }

  7. valueChangedメソッドは入力ピン(ボタン)の状態が変化したときに呼び出されます。以下のメソッドをクラス内に記入します。

      @Override
      public void valueChanged(PinEvent event) {
        GPIOPin pin = (GPIOPin) event.getDevice();

        // Simple one button = one LED
        try {
          if (pin == button1) {
            System.out.println("setting led1" );
            led1.setValue(!led1.getValue()); // Toggle the value of the led

          }
        } catch (IOException ex) {
          System.out.println("IOException: " + ex);
        }
      }

  8. Ctrl + Shift + Iを押し、必要なインポート文を追加します。

GPIOIMletクラスの実装

  1. GPIOIMletクラスに次のクラスフィールドを追加します。

      private GPIOPinTest pinTest;

  2. startAppメソッドはIMletが一時停止から起動中に状態が変化したときに呼び出されます。NetBeansが生成したstartAppメソッドを以下のコードに書き換えます。

      @Override
      public void startApp() {
        pinTest = new GPIOPinTest();
        try {
          pinTest.start();
        } catch (IOException ex) {
          System.out.println("IOException: " + ex);
          notifyDestroyed();
        }
      }

  3. NetBeansが生成したpauseAppメソッドを削除します。
  4. destroyAppメソッドはIMletが実行中または一時停止から破棄された状態に変化したときに呼び出されます。NetBeansが生成したdestroyAppメソッドを以下のコードに書き換えます。

      @Override
      public void destroyApp(boolean unconditional) {
        try {
          pinTest.stop();
        } catch (IOException ex) {
          System.out.println("IOException: " + ex);
        }
      }

  5. Ctrl + Shift + Iを押し、必要なインポート文を追加します。

API権限の設定

Device Access APIへのアクセスを必要とするアプリケーションでは、JADファイル内に適切な権限を設定する必要があります。 以下の手順で権限を付与します。

  1. TestGPIOプロジェクト上で右クリックし、プロパティを選択します。
  2. [プロジェクト・プロパティ]ウィンドウで、カテゴリからアプリケーション・ディスクリプタを選択し、API権限タブの追加をクリックします。
  3. [APIの権限の追加]ウィンドウで、以下の手順で権限の追加を行います。
    1. 権限プルダウンでjdk.dio.DeviceMgmtPermissionを選択
    2. 保護されたリソース名に*:*を入力
    3. 要求されたアクションにopenを入力
    4. OKをクリック
  4. 3.同様、以下の手順で権限の追加を行います。
    1. 権限プルダウンでjdk.dio.gpio.GPIOPinPermissionを選択
    2. 保護されたリソース名に*:*を入力
    3. 要求されたアクションにopenを入力
    4. OKをクリック
  5. 3.同様、以下の手順で権限の追加を行います。
    1. 権限プルダウンでjdk.dio.gpio.GPIOPortPermissionを選択
    2. 保護されたリソース名に*:*を入力
    3. 要求されたアクションにopenを入力
    4. OKをクリック
  6. OKをクリックします。

Windowsエミュレータ上での実行とテスト

  1. TestGPIOプロジェクトを右クリックし、実行を選択します。

    エミュレータが起動し、IMletが実行状態で表示されます。
  2. GPIOピンタブをクリックし、現在のピン状態のビューを開きます。
    LED 1BUTTON 1のオープンカラムが排他的となっていることを確認してください。

  3. 外部イベントの作成アイコンをクリックします。
  4. 外部イベントの作成画面のGPIOタブをクリックします。
  5. BUTTON 1をクリックします。(ボタンのラベルは、現在の状態を示していて、低はオフの状態を示しています。)

    ボタンのラベルが[高]に変わります。

    ボタンが[高]に変化したので、LED 1の値が[高]に変わります。

  6. 再びBUTTON 1をクリックすると、LED 1の値が[低]に変わります。

次回はエミュレータ上で動作したアプリケーションをRaspberry Pi上で動作させます。

木曜日 12 26, 2013

Java ME Embedded 8を使ったM2Mアプリケーション開発 (3/3)

Java ME Embedded 8を使ったM2Mアプリケーション開発(2/3)の続きです。今回はRaspberry PiとNetBeansを使って、リモートデバッグを行う方法をご紹介します。NetBeansでステップ実行しながら、Raspberry Pi上で動くJavaアプリの様子をみることが可能となります。 ホストPCにはNetBeans 8.0, Java ME SDK 8, Java ME SDK 8 Plugins for NetBeans 8がインストールされており、Raspberry PiにはJava ME Embedded 8がインストールされていることが前提となります。 詳細は(1/3)(2/3)を参照してください。

1. Raspberry Piにログインして、Java ME Embedded 8のbinディレクトリ以下の、usertest.shを起動します。

>sudo ./usertest.sh

2. Java ME SDK 8のデバイスマネージャにRaspberry Piを登録します。

デバイスマネージャの起動は、Java ME SDK 8がインストールされたWindows PCにておこないます。 ”SDKのインストールフォルダ”\bin\device-manager.exeをダブルクリックすると下記の画面が表示されます。

 Windowsのタスクバーからもデバイスマネージャを開くことも可能です。

デバイスマネージャの追加ボタンからRaspberry PiのIPアドレスを登録すれば終わりです。

3. NetBeansでリモートデバッグを行うための設定を行います。

1. Java ME Embedded 8を使ったM2Mアプリケーション開発 (1/3)で作成したサンプルアプリ(ネットワークのデモ (MEEP))のプロジェクトを右クリックし、プロパティ画面を開きます。

2. カテゴリプラットフォームを選択し、以下のように設定を行ってください。

    Java MEプラットフォーム: Oracle Java (TM) Platform Micro edition SDK 8.0

    デバイス: EmbeddedExternalDevice1 


3. ソースコードの任意の場所にブレークポイントを設定し、プロジェクトのデバッグを行います。デバッグ実行はCtrl + F5もしくは、デバッグメニューより開始することができます。デバッグ実行を開始すると、Raspberry Piにアプリが自動的にインストールされ、通常のデスクトップでのデバッグと同じ感覚で開発を行うことが可能になります。

 こちら→http://docs.oracle.com/javame/8.0/get-started-rpi/debugging.htm#BABCIJHAにも詳細を記載していますので、ご参照ください。

Java ME Embedded 8を使ったM2Mアプリケーション開発 (2/3)

Java ME Embedded 8を使ったM2Mアプリケーション開発 (1/3)で作成したサンプルアプリを、Raspberry Pi(Model B)上で動かす手順をご紹介したいと思います。

Raspberry Piのセットアップ

手順はこちらを参照 → Raspberry Pi で JavaFX - かんたん3ステップ

PuTTY(ターミナルエミュレータ)のダウンロード

PuTTYはコマンドラインを使ってアプリのインストール等(詳細は後述)をホストPCから行う場合に使います。またscpやsftpでRaspberry Piにファイルを転送する場合にも使うことが可能です。

ダウンロードはこちら → http://www.putty.org/

Java ME Embedded 8のダウンロード

ダウンロードリンクhttp://www.oracle.com/technetwork/java/embedded/downloads/javame/index.htmlから、oracle-jmee-8-0-rr-raspberrypi-linux-bin.zipというファイルがダウンロードされますが、解凍すると以下のディレクトが含まれています。

  •  /appdb - Javaプラットフォームが内部で使用するためのディレクトリです。
  •  /bin - Javaの実行ファイルや設定ファイル等が格納されています。
  •  /legal - Legal関連の文書が格納されています。
  •  /lib - Raspberry Pi上でアプリ(IMlets)をコンパイルする時に使用されます。
  • /util - ホストPC(Windows)のコンソールからリモートデバッグを行う際に使用します。

Raspberry PiへJava ME Embedded 8を転送

上記でダウンロードしたファイル(oracle-jmee-8-0-rr-raspberrypi-linux-bin.zip)をRaspberry Piに転送します。転送はsftpもしくはscpで行います。Windowsの場合PuTTYを使って送信することも可能です。ターミナルでRaspberry Piにログインし、転送したファイルをお好みの場所へ展開後、appdbとbinディレクトリのアクセス権を変更します。

>chmod -R 755 appdb bin

HTTP Proxyの設定(オプション)

もしアプリがRaspberry PiからHTTP接続を行い、proxyサーバを必要とする場合、bin/jwc_properties.iniファイルにproxyサーバの情報を登録します。

com.sun.midp.io.http.proxy.host = proxy.mycompany.com
com.sun.midp.io.http.proxy.port = 80

Raspberry Piへサンプルアプリを転送

Java ME Embedded 8を使ったM2Mアプリケーション開発(1/3)で開発したサンプルアプリ(NetworkDemo.jar)をPuTTY等を使って、Raspberry Piへ転送します。NetworkDemo.jarはNetBeansのプロジェクトフォルダの下のdistフォルダ以下に保存されています。ここでは、転送したJarファイルをJava ME Embedded 8のbinディレクトリの下にコピーします。

アプリの起動 

コマンドラインを使った起動 

ターミナルエミュレータからRaspberry Piに入り、Java ME Embedded 8のbinディレクトリまで移動します。binディレクトリには下記のシェルが含まれています。コマンドのサンプルもその下に書いておきます。


listMidlets.sh [SUITE_ID or NAME]     --- インストール済みのアプリとステータス等を表示します。
installMidlet.sh <URL> [<URL label>] --- アプリをインストールします。JARファイルを引数に指定します。
removeMidlet.sh <SUITE_ID>             --- インストール済みのアプリをアンインストールします。
sudo runSuite.sh <SUITE_ID or NAME> [IMLET_ID or classname] --- 指定されたアプリを起動します。アプリの起動後は標準出力へLogが出力されます。


インストール

pi@raspberrypi ~/pi/bin $ sudo ./installMidlet.sh NetworkDemo.jar

Java is starting. Press Ctrl+C to exit

The suite was successfully installed, ID: 2

インストールが成功すると、上記の”The suite was successfully installed”が表示され、IDが自動的に割り当てられます。IDはコンソールに表示されるメッセージにて確認することが出来ます。

注)インストール時に、下記のメッセージが 表示されることがあります。これはホストPC上にインストールされたデバイスマネージャ(Java ME SDK 8の一部です)に、デバイスが登録されていない場合に表示されるメッセージです。 動作上問題はありませんが、デバイスマネージャにRaspberry Piを登録することにより、メッセージは表示されなくなります。

[ERROR][AMS] iso=1:SEnding the notification: com.oracle.midp.proxy.InstallCommand@7114ea81. FAILED,proxy is disconnected

起動

pi@raspberrypi ~/pi/bin $sudo ./runStuite.sh 2

引数には、アプリの名称もしくは、インストール時に割り当てられたIDを指定します。また起動後のアプリのログ等は標準出力へ表示されます。アプリを終了する場合はCtrl + Cで行ってください。

アンインストール

pi@raspberrypi ~/pi/bin $ ./removeMidlet.sh 2

引数には、インストール時に割り当てられたIDを指定します。 

インストール済みアプリの確認

pi@raspberrypi ~/pi/bin $ ./listMidlets.sh

Java is starting. Press Ctrl-C to exit

Suite: 2

    Name: NetworkDemo

    Version: 1.0

    Vendor: Oracle

    MIDlets:

        Socket Demo: socket.SocketMidlet


今回は、 いち早くRaspberry Pi上にてアプリを動作させる方法について記載を行いました。元文書 → http://docs.oracle.com/javame/8.0/get-started-rpi/debugging.htm#BABCIJHAを見ていただくと、WindowsのホストPCからコマンドラインでアプリを起動させる方法も紹介しております(Starting the Developer Agent Program on the Desktopの章)。 必要に応じて、上記リンクをご参照いただければと思います。


Java ME Embedded 8を使ったM2Mアプリケーション開発 (1/3)

Java ME Embedded 8を使ったM2Mアプリケーションの開発手順をご紹介したいと思います。今回は、NetBeans 8.0を使い、エミュレータ上で簡単なサンプルアプリを動作するところまで行いたいと思います。

また、Java ME Embedded 8は、センサーデバイスや通信モジュール等の小型デバイスをターゲットとしたJavaの実行環境で、従来のもの(Java ME Embedded 3.x)と比較すると以下の特徴を備えており、開発効率がさらに上がっています。

  • 言語仕様がJava SE Embedded 8と同期しており、APIもSE 8のサブセット版を実装していることから、SEとのソースコードの共有化が可能
  • New IO, コレクションフレームワーク等、SEで利用されている便利なAPIを追加
  • モバイル通信系のAPIの拡張。また従来通りGPIO, I2C等の低レベルH/WアクセスAPIも実装


開発用PCへのJava SEのインストール

開発用PCはWindows 7を想定しています。また開発用PCにはJava SE 7もしくは8の最新版をインストールしてください。

Java ME SDK 8のインストール

下記のリンクからJava ME SDK 8をダウンロードします。ダウンロードした.exeファイルをダブルクリックし、インストールを行います。インストール先は任意の場所を選んでください。

http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html

NetBeans 8.0のインストール

こちら → https://netbeans.org/downloads/から、 ”JavaSE/EE/すべて”のいずれかをダウンロードしてください。

またインストール手順はこちらです。 → https://netbeans.org/community/releases/80/install_ja.html

Java ME SDK 8 Plugins for NetBeans 8のインストール

1. NetBeans向けのPluginを下記のリンクからダウンロードし、任意の場所で解凍します。

http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html

2. NetBeansを起動し、ツール -> プラグインメニューを開きます。

3. 古いバージョンのPluginがインストールされている場合はアンインストールを行います。 新規インストールの場合はスキップしてください。 以下はアンインストール手順となります。 

  • インストール済タブの詳細の表示にチェックを入れ、インストール済みPluginの一覧を表示します。
  • Java ME SDK ToolsJava ME SDK Demosがあれば、チェックを入れ、アンインストールボタンをクリックします。アンインストール後はNetBeansを再起動してください。

4. NetBeans再起動後、ツール -> プラグインメニューを開き、ダウンロード済タブを開きます。

5.  プラグインの追加ボタンを選択し、1でダウンロードしたPluginを解凍したフォルダを参照します。.nbmファイルをすべて選択し、開くボタンを押します。

6. ダウンロード済タブを開くと、 ダウンロードしたPlugin一覧が表示されるので、 それらをすべて選択した後、インストールボタンを押します。

7. Pluginのインストールが開始されます。 ライセンス契約条件に同意し、インストールを完了させてください。インストール完了後は、NetBeansを再起動します。

8. 再びツール -> プラグインメニューを開き、インストール済タブを開きます。Java MEがインストールされており、アクティブとなっていればインストールが正常にできています。

Java ME Embedded 8の開発用プラットフォームのインストール

1. NetBeansを起動し、ツール -> Javaプラットフォームを選択します。

2. プラットフォームの追加ボタンを押下します。

3. Javaプラットフォームの追加画面が開くので、Java ME CLDCプラットフォーム・エミュレータを選び、次>ボタンを押下します。

4. プラットフォームを検索するディレクトリを選択してください画面にて、上記手順の”Java ME SDK 8のインストール"で行った、SDKのインストールディレクトリを選択します。

5. ME SDK 8のプラットフォームが正常に選択されたことを確認し次 >ボタンをクリックし、プラットフォームが問題なく検出できれば、終了ボタンを押して追加を終了します。

サンプルアプリの起動

上記に引き続いて、 新規プロジェクトを作成しサンプルアプリを作ります。

1.  ファイル -> 新規プロジェクトを選ぶと、新規プロジェクトの作成ダイアログが表示されます。カテゴリからサンプル -> Java ME SDK 8.0を選択し、ネットワークのデモ (MEEP)を選んだ後、次>ボタンを押してください。

2. プロジェクト名とプロジェクトの場所を任意に設定し、終了ボタンを押してください。

3. プロジェクトが新規に作成されるので、プロジェクトを選択し、右クリックメニューから、消去してビルドを行った後、同じく右クリックメニューから、プロジェクトを実行してください。

4.  アプリが正常起動すると、エミュレータが自動起動し、アプリが起動できていることが確認できます。


5. NetBeansの出力画面では、アプリが標準出力へ出力した以下のメッセージが表示されます。

Waiting for connection on port 5000

上記のように、Java ME Embeddedのアプリケーションはデバイスが無くても、エミュレータにより簡単に開発ができることがご理解いただけたかと思います。さらに詳しい情報は以下をご参照下さい。

http://docs.oracle.com/javame/8.0/javame-dev-tool.htm

Java ME Embedded 3.4 for Qualcom IOE


9月末に行われたJavaOne 2013でJava ME 8 Early Access版が公開されました。
Java ME 8の正式版のリリースは来年初旬に予定されておりますが、我々は引き続きJava ME Embedded 3.xシリーズのアップデートも行います。

今回はJava ME Embeddedの最新バージョン、Java ME Embedded 3.4のご紹介です。

Java ME Embedded 3.4はバージョン3.3をベースにしておりますが、Qualcomm IOE("Internet Of Everything";) developer platformをサポートしております。

Qualcomm IOE developer platform:
・QSC6270T processor with 64 MB DDR RAM and 128 MB NAND Flash
・Tri-band UMTS/HSDPA + quad-band GSM, SIM slot
・2.4 GHz WiFi a/b/g/n
・GPS
・Supported I/O: SPI, I2C, GPIO, ADC, UART, SD card, on-board accelerometer, light + temp sensor

さらにQualcomm IOE platformとPCをUSBでつないで開発、デバッグできるようJava ME SDKのアップデートも行いました。


このリリースにより、Java ME EmbeddedはQualcommのエコシステムを支えることができるようになり、また組み込みJavaの未来へ大きく前進する機会となるでしょう。


Java ME Embedded 3.4とJava ME SDK 3.4は開発・評価用に無料でOTNからダウンロードすることができます。

火曜日 6 26, 2012

Oracle Java ME Embedded Client 1.1リリース

6月26日、組み込み機器向けのJava ME実行環境である、Oracle Java ME Embedded Client (OJEC) 1.1がリリースされました。CDC 1.1.2とFoundation Profile (FP) 1.1.2が事前構成されており、ARM, MIPS, x86のLinuxデバイスで動作します。Security Optional Package, RMI, JDBC, XML API, Web Servicesなどのオプションも付属し、メモリサイズの要件に合わせて利用・削除することもできます。

2011年5月に公開された1.0と比べて、このリリースでは、XML APIの追加、数多くのバグ修正、パフォーマンスの向上がなされました。また、ターゲットに新たにx86アーキテクチャが追加され、x86アーキテクチャのJust-in-Time (JIT)コンパイルをサポートします。

ターゲットプラットフォームは下表の通りです(いずれもGUIなし)。アプリケーションの開発にはLinux (x86)とJDK 6が必要です。詳細はドキュメントをご覧下さい。

CPU OS ROM RAM
ARM (v5) Linux 2.6.31以上, glibc 2.10.2以上 5MB以上 8MB以上
ARM (v6, v7) Linux 2.6.35以上, glibc 2.12.1以上 5MB以上 8MB以上
MIPS (MIPS32 74K) Linux 2.6.22以上, glibc 2.8以上 5MB以上 8MB以上
x86 (Pentium III以上) Linux 2.6.35以上, glibc 2.12.1以上 5MB以上  8MB以上

OJEC 1.1は、無償でダウンロードでき、OTN開発者ライセンスにより無償で使用できます。商用利用の際はお問い合わせ窓口よりJava Embeddedチームへご連絡下さい。

金曜日 7 22, 2011

Oracle Java Wireless Client 3.0 がリリース!

6月、待ちに待った Oracle Java Wireless Client 3.0 がリリースされました !!

OJWC 3.0は、China Mobile の Java Specification 4.1など、今後も飛躍的にユーザが増加すると考えられている BRICAのHigh-end携帯電話市場への適合を念頭において設計されており、さらにニーズに合わせて、次のような3つの強力な機能拡張が利用できます。
  • Oracle Mobile Developer APIs (OMDA)
    コンテンツプロバイダ様向けに再整備された API
  • Java + SIM
    OTAでのSIMコンテンツ管理をMIDletから行うための OJWC/Java Cardへの機能拡張
  • Java + Web
    WAC2.0ウィジェットをMIDletのように管理するための機能拡張(WAC 2.0対応・Java/JavaScriptブリッジ)

JSRのAPI拡張としては、Telephony(JSR-253)・IMS(JSR-281)・Web UI(JSR-290)の3つのAPIが追加されます。[Read More]

水曜日 6 01, 2011

ついにOracle Java ME Embedded Client (OJEC) 1.0 リリース!

  5/30未明、ついにOracle Java ME Embedded Client 1.0がリリースされました!Oracle Java ME Embedded Clientは、OJEC、JEC、Java ME for Embeddedなど様々な通称で呼ばれるもので、オラクルがリリースする公式の新しいCDC製品です


 OJECは、標準的なハードウェアアーキテクチャに対して事前セットアップ・ビルド・最適化されたバイナリとして提供されます。したがって、組み込みJavaを必要とするユーザにとっては、Java SEと同じように即座にバイナリをインストールして動作させ、Time-To-Market を最小化し、迅速に利用する事ができるようになります。

 また、これまで同様に、CDC1.1.2、Foundation Profile(FndP)1.1.2をはじめ、Web Services(JSR-172), JDBC(JSR-169), RMI(JSR-66)などのプロファイルが利用可能であり、x86向けのLinux, WindowsではGUI向けのPersonal Basis Profile(PBP)1.1が利用できます。


 SDK及びエミュレータは、Linux Ubuntu 10.04とWindowsXP/7向けに提供されます。また、プロファイルやデバッグを有効にするNetBeans向けのプラグインや、Eclipse向けのエミュレータ連携機能も提供される見込みです。
興味のある開発者の皆さんは、次の3ステップで組み込みJavaの世界を体験してみてはいかがでしょうか?
とても簡単にBeangleBoard上のOJECでJetty(Webサーバ)を動作させられるはずです!
 1. Installing Linux on ARM-based BeagleBoard
 2. Getting Started with the Oracle Java ME Embedded Client
 3. Running a Small Server with the Oracle Java ME Embedded Client


ちなみに、現時点でのOracle Java ME Embedded Client 1.0リリースでは、8MB以上のメモリを持つ次のOS/CPUでサポートされています。
 ■ Headless(GUI無し)
   - ARM v5 Linux
   - ARM v6/v7 Linux
   - MIPS Linux
   - PPC Linux
 ■Headfull(GUI有り)
   - Linux x86 PC
   - Windows x86 PC



【参考リンク】 
Java ME for Embedded
Java ME for Embedded Release Note/Installation Guide/Runtime Guide
Java ME for Embedded Documentation & FAQ
Java ME for Embedded Download
HinkMond Wong's Blog


About

日本オラクルのエンベデッドJavaチームから、最新情報をお送りしていきます。

Search

Archives
« 4月 2015
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
  
       
Today