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の章)。 必要に応じて、上記リンクをご参照いただければと思います。


Comments:

Post a Comment:
  • HTML Syntax: NOT allowed
About

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

Search

Archives
« 7月 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
31
 
       
Today