土曜日 12 22, 2012

Raspberry Pi で JavaFX - かんたん3ステップ

原文: http://javafx.steveonjava.com/javafx-on-raspberry-pi-3-easy-steps/

待望のRasberry Pi用JavaFX開発者プレビューがついに公開されました! Rasberry Piは、小規模の組み込み開発用に、また教育用の低コストコンピュータとして、そしてホビイストのおもちゃとしても素晴らしいプラットフォームです。 モデルBはたったの$35で、512MB RAM、700MHz ARMプロセッサ、HDMI、コンポジット、オーディオ、Ethernet、そして2つのUSBポートが付いています。

Rasberry Piでどんなことができるでしょうか?私たちがDevoxx用に制作した、宇宙船が飛び去るアニメーションでカンファレンスのスケジュールを表示する デジタルサイネージが良い例です:


アップデート:もしPi上でのJavaの性能に不安があるなら、fxexperience.comでのRich Bairのポストを読んでみてください:

http://fxexperience.com/2012/12/javafx-on-raspberry-pi/

よしやってみよう、と思ったなら、次の簡単な3ステップでPi上でJavaFXを動かすことができます:

この記事では読者がPiを持っていると想定しています。どこでPiを買えるのか、電源はどうするのか、といった疑問については Raspberry Piの公式サイトをチェックすることをお勧めします。

Step 1 – Raspberry PiにLinuxをインストールする

最新のJava 8リリースはhard floatです。 性能にも優れ、Raspberry Piの推奨Linuxビルドもhard floatなので、これは望ましいことです。softやsoftfpとつくビルドはhard floatのJVMとは非互換ですので避けてください。

ノート:なぜ浮動小数点にそんなにこだわるかって?ローエンドの組み込みシステム(例えばARM Cortex M0-M3)では、コスト節約のため浮動小数点演算ハードウェアが省略されるからです。 幸運にも、Raspberry Piで使われているARMv6チップは真の浮動小数点演算サポートを備えています。

SDカード上にLinuxをセットアップするには、Windows、Mac、LinuxいずれかのデスクトップとSDカードリーダーが必要です。使用すべきディストリビューションは最新のRaspbian Wheezyのhard floatビルドです。 これはRaspberry Piダウンロードサイトでの推奨インストールでもあります:

http://www.raspberrypi.org/downloads

イメージを焼き付ける方法はいくつかありますが(詳しくはこちら)、基本的には以下に集約されます:

SDカードができあがったら、Raspberry Piを箱から出してSDカードを差し込み、そのへんのモニタかTVに接続してからUSB電源(5V 700mA以上)をつなぎましょう。

注意:順序は重要です!Piの電源を入れる前にHDMIモニタをつながないとコンポジット出力と認識されます。つまり、LEDが点灯しているのに画面がでない場合、Piを再起動(電源を抜き差しする)してみるべきです。

この時点で、Piがブートして設定画面が表示されます。 以下のいくつかの項目については設定の変更を検討すべきでしょう:

  • CPU/GPUメモリ配分 – グラフィックスが重要なアプリをスムースに走らせるために、GPUに少なくとも128MBを与えましょう(JavaFXには重要!)
  • ロケール/キーボード/タイムゾーンの変更 – デフォルト設定はイギリスです。それ以外の国の方はこの設定を変えないとキーバイドが狂ってイライラすることになるでしょう
  • オーバースキャン – もしディスプレイの端に黒い帯があるなら、これをオフにすればフル解像度を使うことができます
  • ルートファイルシステムの拡張 – 全スペースを使うようにオンラインでリサイズできます(デフォルトイメージでのルートパーティションはたった2GB)。 実施を強く推奨しますが、大容量カードではかなり時間がかかります
  • SSH – ネットワーク経由でPiにアクセスする場合はこれをオンにしてください (これは、行儀の悪いJavaFXプロセスをリブートなしで止める唯一の手段です)

Rasberry Pi用JavaFXの公式ドキュメントでは、設定ファイル (/boot/config.txt) の中の以下の行のコメントを外して、フレームバッファを720pに設定することが推奨されています:

framebuffer_width=1280
framebuffer_height=720

これは厳密には必須ではありませんが、Piが送り出すピクセル数を減らすので、よりよい性能を得ることができます。これを行うなら、ピクセルがアップスケールされないように、Piが必ず720の解像度で動作するようにも設定すべきです。自分がしていることが理解できないなら(そしてディスプレイを無効にしてしまったときのために、リモートログインしたsshターミナルを用意せずに)ディスプレイ設定をいじってはいけません。 HDMIディスプレイモードについてのより詳しい情報はこちらのドキュメントを参照してください。

Step 2 – Java/JavaFX 8をダウンロードしてPiにコピーする

Pi互換のJava/JavaFX 8ビルドはこちらからダウンロードできます:

http://jdk8.java.net/fxarmpreview

Piがイーサネット経由でネットワークにつながっているなら、直接デバイスにダウンロードできます。そうでなければ、sftp(ssh経由)またはUSBメモリなどを使ってコピーしてください。

ダウンロードできたら、好きな場所で解凍します:

sudo tar -zxvf file_name -C /opt

そして次のようなコマンドをたたいてjavaを実行してみましょう:

sudo /opt/jdk1.8.0/bin/java -version

Step 3 – PiにJavaFXアプリをデプロイして実行する

JavaFXデスクトップアプリケーションの大半は、単にjarファイルをコピーしてローカルに実行するだけでPi上でも動きます(ただし、WebView や MediaView に依存するアプリケーションは例外です。これらは現在の開発者プレビュー版では未実装です)。

Pi用のJavaFXアプリ開発の第一歩にぴったりなのは、Scene Builderを使って視覚的に手早くユーザインタフェースを組み立て、Piにデプロイする方法です。実際、私は昨晩 Linux Users’ Group of Davis (LUGOD) でこれを実演し、非常に鋭い聴衆のみなさんの助けを借りて、サンプルアプリを素早く組み上げました(途中、聴衆のみなさんからいくつかlinuxコマンドの技を学ぶこともできました)。

この私たちが15分で作ったアプリは、お試し用のサンプルとしてGitHubにポストしておきました:

Piで動かすには、このソースをお気に入りのIDEで(またはコマンドラインから)ビルドしてjarファイルを作ります。このjarファイルをPiにコピーして、次のようなコマンドで実行するだけです:
sudo /opt/jdk1.8.0/bin/java -Djavafx.platform=eglfb \
-cp /opt/jdk1.8.0/jre/lib/jfxrt.jar:LUGODTest.jar lugodtest.LUGODTest
以下はScene Builderプロジェクトの写真と、実際にLUGODミーティング中にRasberry Piで実行した出力結果です:

でも、一番印象に残るデモはやはり自分で作ったものです。ぜひ自作のJavaFXアプリを試してみて、それらのアプリへのポインタを下のコメント欄に残してください!

土曜日 12 15, 2012

新セキュリティ機能を搭載した Oracle JDK 7u10 をリリース

原文: https://blogs.oracle.com/henrik/entry/oracle_jdk_7u10_released_with

数日前、JREとJDK 7のupdate 10がリリースされました。このリリースでは以下の新しいプラットフォームのサポートが追加されました:

  • x86-64上のWindows 8 注:新しいUI(Metro)モードは非サポート
  • Windows 8のInternet Explorer 10
  • Mac OS X 10.8 (Mountain Lion)
またこのリリースでは、Javaアプレットやwebstartアプリのセキュリティを強化する次のような新機能が導入されています:
  • Javaランタイムは、自身が最新のセキュリティ基準に更新されているかどうかを確認します。古いバージョンのJavaで非署名アプレットを実行しようとすると、更新を促す警告ダイアログが表示されます。
  • Javaランタイムには有効期限がハードコードされており、この期限より前に新バージョンがリリースされることが想定されています。もしこの期限までに更新を確認できなかった場合、Javaランタイムはこれを安全ではないと見なし、アプレットの実行前には常に警告するようになります。
  • Javaコントロールパネルには、セキュリティレベル設定(低 - 中 - 高 - 非常に高)や、Javaアプレットとwebstartを完全に無効にできるオプションが含まれるようになりました。このレベルは、Javaランタイムが非署名コードを実行できるか、できる場合ユーザにどのような警告を表示するか、といったことを制御します。
セキュリティ設定の詳細についてはドキュメントをご覧ください。以下はスクリーンショットの例です。

新しいJREとJDKのアップデートはOTNから入手できます。このリリースに関するより詳しい情報はリリースノートを参照してください。 
About

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

Search

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