Java を活用するユーザー企業の最新事例ご紹介 株式会社アットマークテクノ http://www.atmark-techno.com/ 2014 年 5 月 22 日
アジェンダ アットマークテクノ Armadillo のご紹介 Java を採用するメリット 他のソフトウェアプラットフォームとの比較 Java SE Embedded 8 の JRE ESEC2014 で ECHONET Lite on Java8 のデモ - 2 -
アットマークテクノのご紹介 ものづくり企業向けに小型 CPU ボードを提供 セキュリティ装置 IC カードリーダー 様々な分野の装置の中に組み込まれています カメラ装置 操作装置 太陽光発電システム - 3 -
初代から ARM+Linux で 12 年 15 万台超の実績 初代機発売から 12 年超の実績 15 万台超の実績 - 4 -
高性能 Armadillo-800 シリーズ ルネサス R-Mobile A1 ARM Cortex-A9:800MHz SH-4A:600MHz OS : Linux 動作温度 -20~70 マルチメディア機能 H.264/AAC/JPEG 長期供給 画像表示に特化 カメラ処理に特化 サンプル価格 30,000 円 ( 税込 ) サンプル価格 25,000 円 ( 税込 ) - 5 -
低価格 Armadillo-400 シリーズ 仕様概要 Freescale i.mx25 ARM9:400MHz OS : Linux / ITRON/ Windows Embedded CE 消費電力 1W 程度 動作温度 -20~70 長期供給 主な用途 計測器 制御機 監視装置 - 6 -
Armadillo-800 vs Armadillo-400 CPU Core Armadillo-840 Cortex-A9:800MHz 2,000DMIPS Armadillo-440 ARM926EJ-S:400MHz 440DMIPS RAM DDR3:512MB LPDDR:64~128MB ROM NOR:128MB NOR:16~32MB 写真 4~5 倍以上の性能 いずれのシリーズも Java 8 をバンドル出荷可能 - 7 -
組み込み機器にAndroidを載せると 次々にVersion Up!! 安定版にならない 修正は常に新しいVersionへ 多くのVersionが存在 互換性の問題 5 年後にも使い続けるためのサポート体制は? 多くのメモリが必要 RAM:384MByte 以上 (Ver.4.0 以降 ) ROM:256MByte 以上 ( 事実上 NAND 系が必須 ) AFA( Anti Fragmentation Agreement) の問題 大手メーカーさんは使いづらい? 大量の民生機器には使えても 産業用には? - 8 -
私はコレで Android をやめました Qt Creator 開発環境 NetBeans, Eclipse 等 C++ QML 開発言語 Java Qt4.8(FrameBuffer 対応 ) A400 向け Java Embedded SE 8 Qt5(OpenGL ES 対応 ) A800 向け Java Embedded SE 8 いずれもクロスプラットフォーム 開発環境が充実 安定した Linux 環境上に構築できるソフトウェアプラットフォームで長期稼働 安定したメンテナンスができる - 9 -
Java の優位性 開発者 ソフトウェア資産が多い ホスト PC とターゲットで同じ x86 向けと ARM 向けを用意する必要がない Windows のホスト PC でも開発可能 プラットフォームのサイズが小さい Java SE Embedded 8 なら最小 10MB から動作 GUI( JavaFX ) を含めても 20MB 程度で実現 信頼性の低い NAND 系フラッシュメモリではなく NOR フラッシュメモリ でも格納可能 - 10 -
用途で選べる JRE の機能 オプションを追加 EJDK で最適な機能 サイズの JRE を構築 Locales Cryptographic Security Providers プロファイルを選択 Full JRE APIs Compact3 APIs Compact2 APIs Compact1 APIs 構築される JRE Optional Components Compact3 libraries Compact2 libraries Base Compact1 Classes Hotspot VM JVM を選択 all server client minimal JavaFX Componets Character Encodings Nashorn JavaScript Engine - 11 -
( 参考情報 )JVM とオプション機能の選択 JVMの選択 minimal: メモリフットプリントの最小化 client: 反応速度重視 server: 長期運用アプリケーション all: (client+server) オプション機能の選択 サイズ 機 能 fx:controls 9.5MB JavaFX UI class fx:graphics 7.2MB JavaFX 基本機能 sunec 0.2MB セキュリティ ECC sunpcks11 0.3MB セキュリティ PKCS#11 locales 1.1MB ロケール charsets 1.7MB 文字コード nashorn 1.2MB Java Scriptエンジン - 12 -
実際に構築した JRE のサイズ linux-arm-vfp-hflt の場合 (Linux,ARMv7, VFP 有効, Hard-floart) 44.2MB (client) 20.1MB (client) 14.4MB (minimal) 10.3MB (minimal) Full JRE Compact3 Compact2 Compact1 all server all client server all client server minimal client minimal all server client - 13 - Compact1+ JavaFX でも 20MB 程度のサイズに
( 参考情報 ) 各種 JRE の比較 世代 JREの種類 ターゲット サイズ Java8 ejre-8-fcs-b132 linux-arm-sflt 10.3~49.0MB linux-arm-vfp-hflt 10.3~65.7MB jre-8 linux-arm-vfp-hflt 115MB Java7 ejre-7u55-fcs-b13 linux-arm-sflt-headless 44MB linux-arm-vfp-hflt-client-headful 47MB jre-7u55 linux-arm-vfp-hflt 96MB Full の JRE だけを比較すると Java8 世代の方が大きい Java8 世代の方が小さな JRE を構築できる EJRE では GUI(JavaFX) を含めても 65.7MB - 14 -
ECHONET Lite デモ in ESEC2014 Java 8 を使った ECHONET Lite のコントローラ機器 デバイス機器を実現 OpenECHO を採用 ECHONET Lite を Java で実装したドライバライブラリ オープンソースソフトウェア ( MIT ライセンス ) https://github.com/sonycsl/openecho EnOcean のゲートウェイを実現 エナジーハーベスト ( 環境発電 )+ 無線通信 30m( 屋内 )~100m( 見通し ) 程度の通信距離 IP 通信ではないので IP 網にはゲートウェイが必要 - 15 -
デモ構成 Cortex-A9:800MHz RAM:512MB ROM:128MB 24MB Compact2 +JavaFX コントローラ機器 LAN (ECHONET Lite) ARM9:400MHz RAM:64MB ROM:16MB 10.3MB Compact1 ターゲット機器 圧縮して ROM 格納 ターゲット機器 EnOcean で無線通信 - 16 - 操作 JavaFX LCD 操作 照明機器 空調機器 ECHONET Lite 対応ダウンライト ( 市販品 )
Java 8になって ますます組み込みやすく 充実した開発環境 NetBeans, Eclipse 等 ラムダ式でコード記述を少なく 見やすく IoT 時代に向けてゲートウェイ装置向き ECHONET Lite の実装 OSGi の実装 GUI を伴うクライアント装置向き 軽くてリッチな GUI 開発 JavaFX Armadillo プラットフォーム +Java 8 で組み込み機器を容易に開発 - 17 -