java day tokyo 2013 night session
DESCRIPTION
Java Day Tokyo 2013 Night Session にて小出が発表したプレゼンです.TRANSCRIPT
Demonstration 1/3
JavaFX 2自作ブロック崩し
+Sun SPOT
Demonstration 2/3
JavaFX 2Brick Breaker
+Sun SPOT
Demonstration 3/3
JavaFX 8(JDK1.8.0-ea-b88 with JavaFX 8)
3D feature+
Sun SPOT
ところで
Sun SPOT って知っていますか?
Project Sun SPOT
SmallProgrammableObjectTechnology
Sun
次世代の Java 技術に対して Sun( いまは Oracle )の技術を推進する方向を探求
サンルーフ
センサボード
プロセッサボード
バッテリ電源・リセットボタン
ステータスLED
USB ポート
3 次元加速度センサ光センサ温度センサ押ボタン ×2RGB24 ビット LED×8アナログ入力 ×6汎用 I/O ピン ×5大電流出力ピン ×4
180MHz 32 bit ARM920T core512K RAM/4M フラッシュメモリ802.15.4 無線ネットワークUSB インターフェース3.6V ・ 750mAh リチウムイオン電池36μA スリープコード"Java" テクノロジー
Java TechnologyNetbeans プラグイン MIDP (Mobile Information Device Profile)
J2ME/CLDC プロファイル向けの Java 言語環境
MIDP アプリケーション( MIDlet ) javax.microedition.midlet.MIDlet を継承すべてのクラスは単一 JAR ファイル内に存在
以下のメソッドを実装void startApp()void pauseApp()void destroyApp(boolean c)
802.15.4 ネットワーク
シリアル通信センサー関係Squawk Java ME 関連ユーティリティバッテリ関連周辺 LSI 関連
さまざまなライブラリ protected void startApp() throws MIDletStateChangeException { ISwitch sw1 = EDemoBoard.getInstance().getSwitches()
[EDemoBoard.SW1]; ITriColorLED [] leds = EDemoBoard.getInstance().getLEDs(); leds[0].setRGB(100,0,0); // set color to moderate red while (sw1.isOpen()) { // done when switch is pressed leds[0].setOn(); // Blink LED Utils.sleep(250); // wait 1/4 seconds leds[0].setOff(); Utils.sleep(1000); // wait 1 second } notifyDestroyed(); // cause the MIDlet to exit}
最近の問題点って…• 新品が手に入る?• まだ買えるようである
• 開発環境のインストールが難しくなった• でも頑張れば,何とかなるレベル
• host アプリケーションで Java FX が使えない• 今回これを何とかしようと思った
Swing JavaFX
10111101111010110
なぜ SunSPOT で JavaFX が使えないのか?
• Sun SPOT SDK があまり更新されていない( JDK1.5 ベースだったり)
• ant 起動スクリプトでいろいろやっている– USB インターフェースの初期化– Base station の発見– Squawk Java VM の起動
• この辺りをちゃんとやってあげれば JavaFX でも動きそう
• でも本当はここで興味が尽きた!• 今回はもっと簡単な別の手段で試した
JavaFX 8 or 2
Socket
SunSPOT host
Server Socket
BaseStation
今回の実装
当初やろうとした実装
SunSPOT
JavaFX 8 or 2
SunSPOT host
BaseStation SunSPOT