Comments
Description
Transcript
組込み機器向けAndroidソフト開発の現場紹介とOESF Embedded
組込み機器向けAndroidソフト開発の現場紹介と OESF Embedded Masterの活用 Introduction of actual site of Android based built-in equipment development and how to use OESF Embedded Master ISB Corporation Manager , Business dev. of Android Open Embedded Software Foundation Marketing & Education WG / Distribution WG Kazuhiro Iwai Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License. 1 2 OESFが設立されて約1年。会員企業では実際に数多くのAndroidを 採用し たプロジェクトが行われている。 本セッションでは組込み機器向けにAndroidを拡張する事例についてDLNAや Bluetoothなどの例を挙げながら実際の開発の現場を紹介、解説する。 あわ せてこれら開発のベースとして期待されているOESF Embedded Masterの詳 細についても解説する。 It has been one year since OESF was established. The member companies have run a number of projects to adopt Android. This session introduces and explains actual activities and development with showing case studies that enhance Android for embedded devices using DLNA, Bluetooth and others, as well as details of OESF Embedded Master, currently expected as a base of such development. 2 1.Androidソフト開発の現場紹介 Introduction of Actual Android-based Embedded Development 3 3 Company Profile http://www.isb.co.jp/ Sales in 2007(Consolidated) Established June 1970 Others F・M service Capital Stock 1.0% 13.6% 1.4406 billion yen Distribution Manufacture President Finance 2009 Sales 10.735 billion yen Employees 872 (as of December 2009) Businesses Software Development System Consulting System Operation Services ISB is a Member of 4 16.1% Itsuo Wakao 8.9% 60.5% Mobile & Communication control and 4 Customers Electronics Manufacturers Telecommunications Equipment Venders Mobile Terminals Venders Semiconductor Makers Medical Equipment Manufacturers Telecommunications Carriers System Integrators Logistics Service Companies Mass Merchandise Companies Government Offices, Prefectures And Municipalities Utility Companies Community FM Stations 5 5 Android Acheivement Android Smartphone For Handset Vendors Android Mid (not phone) Android Home Device (not phone) Android Trial And Demo Dev. For Customers Android Application Development Peripherals Extension For Android Devices Middleware Porting to Android Devices Etc. 6 6 Development flow 検 討 ・ 試 作 フ ェ ー ズ 提供サービス例 設計仕様/アーキテクチャの検討 リファレンスHW等でのプロトタイプ開発 Target HWへのAndroidのベース移植 ベース開発環境のご提供(SW / HW) 各種SWリファレンス実装のご提供 7 開 発 ・ 実 装 フ ェ ー ズ 提供サービス例 周辺ペリフェラルの実装 パフォーマンス、性能検討/実装 Media Codec及びグラフィックの実装 ミドルウェア/ドライバの移植及び開発 アプリケーション移植及び開発(日本/ベトナム) 開発環境、ツール開発、エミュレータ改造等 評 価 ・ 検 証 フ ェ ー ズ 提供サービス例 HW上での性能改善、パフォーマンス検証 システムテスト、フィールドテスト 他プラットフォームとAndroidの比較検証 3rd PartyアプリのHW上での検証作業 7 Android Architecture Android Developer サイトからの抜粋 8 8 Android Architecture TI OMAP35x EVMの例。 ISBベトナム 社を活用した 低コスト開発 アプリからフ レームワーク、 ドライバまで をワンストッ プでサポート Peripheralsの 拡張 TI / 3rdパーティ 製モジュールの 実装 BSP Package 9 9 Development Items System Integration Peripherals Extension Multimedia Support Middleware Porting / Development Applications Development System Test 10 10 Development Items ● System Integration Android Base Porting to Target Hardware Build Environment (git server) Basic System Integration (Power Management , WiFi / 3G Throughput , Rendering Performance of Dalvik , Multimedia Performance , Boot Sequence ..) ● Peripherals Extension WiFi , Bluetooth , Sensor , Camera , TV , USB/SD … Linux Driver , Middleware/Libraries and API for Applications ● Multimedia Support Codec Extension (WMV/WMA , Mpeg2 etc ..) Hardware Codec Support Support HD and Upward Resolution 11 11 Development Items ● Middleware Porting / Development DLNA/UPnP , VoIP/SIP , OSGI , Bluetooth Stack , GUI Libraries ….. Includes Both Native Layer (C/C++) and Framework Layer (Java) ● Application Development Android Application Development (for Market , Pre-installed) Chooses SDK or NDK as a Dev. Environment ● System Test GUI Test , Application Test Verification of System Integration , Peripheral and Multimedia Certification (WiFi , Bluetooth , DLNA …) CTS Support 12 12 Key Points Total Support is Required . Many customers require not a part but “ total integration ” for a Android embedded device. But budget is … There is a basic budget gap between smartphone and embedded device development. Reuse of Software is Very important Reuse existing Linux drivers / middleware Reuse existing OSS and 3rd-party licensed software Reuse software used in past Android projects (Needs to aware of the contract conditions and terms) Partnership with SoC Vendors and OEM/ODM Vendors 13 13 Business Model Chipset Vendor OEM/ODM Vendors SoC/Module Vendors Software Vendors BSP開発、SW/HW/Toolsを組み合わせた商用化ソリューション提案 System Integrator for Android Partnership 商用化開発におけるエンジニアリングサービス(受託開発)、IP提供、ベース 開発環境の提供、技術サポート/コンサルティング、アプリ開発 Handset Vendors 14 Embedded Devices Vendors Telecom Operator SIer Contents Vendors Android and Peripherals 各ペリフェラルごとにHWにあわせた実装が必要 15 Case Study:Bluetooth 実装例:AndroidへのBluetoothデバイスの接続 実現機能 Android標準実装のプロファイルを拡張し以下を実現。 HIDプロファイル実装によるワイヤレスキーボード操作 DUNプロファイル実装によるPCからのダイヤルアップ通信 A2DPプロファイル実装によるワイヤレス音楽視聴 SPPプロファイル実装による対向機とのシリアル接続 Armadillo 500FX(FreeScale iMX31)上でのデモ実施。 BluetoothモジュールはPTM-UBT5(Princeton社)を使用。 主なソフトウェア対応内容 •Frameworkへプロファイルサービスの追加 (DUN/HID/SPP) •JNIの追加 •Bluez用プラグイン対応 •SPPサポートプログラムの作成 •Kernel-Configの修正 •Bluetooth設定用アプリの作成 16 Case Study:DNLA AndroidへのDLNA/UPnPスタック、アプリケーションの追加 オープンソース版およびアルファシステムズ社様スタックを実装済み 開発協力 開発委託 ユーザ 企業 対応内容 DMP,DMC,DMR およびDMSをサポート Linux向けDLNA/UPnPスタックをAndroid向けに ポーティング(アルファシステムズ様) JNI実装およびアプリ向けDLNA APIの実装 DLNA対応メディアプレーヤアプリケーション DTCP-IP(Move)にも対応予定 DLNA Media Player DLNA API アプリケーションフレームワーク Androidランタイム (Dalvik VM) Android プラットフォーム Androidライブラリ Linuxカーネル 17 Bluetooth Implementation Application GUIアプリケーションから各プロファイルを制御可能とす るために、Settingアプリケーションの改造を行う。 18 Bluetooth Implementation Application Framework / JNI AndroidのBluetoothはD-Bus I/FによりBluezを使用す る形で実装されている。Androidが標準実装しているプ ロファイルはHSP, HFP, A2DP,OPPのみのため、SPP, HID, DUNを実装する。 ①サービスの実装 AndroidではBluetoothのプロファイルごとにサービスが 存在し、サービスでは各プロファイルの接続・切断時の 処理を実施している。Android未サポートのSPPおよび HID,DUNプロファイルのサービスを新規で追加。 ②JNIの実装 サービスごとにJavaクラスを追加し、サービスの実処理 はネイティブ(C、C++)で行う。このため、Javaクラスの 各メソッドに対するJNIラッパーの追加も行う。 JNI実装詳細は次ページに示す。 ③ALSAポーティング A2DPプロファイルはサウンドの再生にALSAを使用す るため、ALSAのポーティングを行う。 19 Bluetooth Implementation HID 用JNI実装の例 JNIとJAVAの対応 JNIインタフェース一覧 20 Bluetooth Implementation Library / Binary ①Bluezプラグイン対応 Bluetoothのプロファイルの一部はBluezのプラグインと して実装されており、既にAndroidで実装されている A2DPでもこのプラグインを使用している(HSP, HFPは Androidの独自実装)。SPP、HIDプロファイルを実装す る際にもこのプラグインを用いるように修正する。 ②SPPサポートプログラム作成 SPPプロファイルでは、Accepter動作時に、デバイス ノードを通したアクセスを実現するために、SPPサポー トプログラムをBluez内部に新規に作成する。 21 Bluetooth Implementation Kernel / Driver ①デバイスドライバの有効化 今回使用したBluetoothモジュール(PTM-UBT5)はLinux 標準のBluetoothデバイスドライバである「hci_usb」に対応 しているので、このドライバを有効にするため、.configファ イルに対し以下のような変更を行う。 22 2.OESM Embedded Master (EM) 23 Embedded Master 24 OESF EM1 (Android 1.6) ◦ Member release : November 2009 ◦ Public release : March 2010 ◦ Supported feature IP Phone(VoIP) , Bluetooth(HID/SPP/OBEX) etc.. OESF EM2 (Android 2.x) ◦ Member release ◦ Public release 25 : T.B.D : 2010 Summer OESF’s GitHub ◦ Public release version OESF’s member’s git server ◦ Gitosis server base ◦ OESF’s member release version Others git server ◦ OHA git server ◦ 0xLib git server 26 27 Public release Member release 2 months after 1-2 months after WG release User contr Membe r report WG contr 28 Android Application Framework ◦ From OHA(and WG contribute) Android1.6, Android2.1 … Linux Library ◦ From OHA(and WG contribute) Kernel ◦ From OESF’s member(and WG contribute) 0xLab, @techno, etc… beagleboard 29 armadillo 500FX Etc boards Contribution ≒ source code STB WG’s contributions Media Manager Remote Controller HD TV Manager • Blue – • Green – • DLNA Lib For OSGi Lib For original board board DSP Driver 30 Application Framework Linux Library Red – Linux Kernel & driver example of a workgroup's contribution Media Manager Remote Controller HD TV Manager DLNA Lib OSGi Lib Run on only the target board Run on all the boards!!! beagleboard 31 armadillo 500FX Etc boards Original Board DSP Driver Structure of git Others OHA’s repository MIPS’s repository 0xLab’s repository clone clone clone merge OESFHand push EM’s repository clone branch fork GitHub’s repository GitHub branch branch branch X-Proj’s repository 32 Commiter Commiter B-WG’s repository A-WG’s repository Y-Proj’s repository Commiter branch Z-Proj’s repository Commiter EM master branch push clone/branch C-WG’s branch push Y-Proj’s branch clone/branch push Z-Proj’s branch push clone commit comitters 33 commit push Android 2.x (Candidates) OESF Platfrom Builder (OPB) OESF Market Place SDK DLNA extension OSGI extension Print Manager Etc.. 34 宣伝 35 Android商用化サービス スマートフォン、携帯電話から家電、カーナビ、STBまで Androidの商用化をトータルサポート致します!! プラットフォーム / Platform 提供サービス Androidのベース移植 (TI OMAP, Freescale , EMMA mobile等) 周辺ペリフェラルの実装 (Bluetooth/カメラ/WiFi/GPS/センサ等) Media Codec及びグラフィックの実装 HW上での性能改善、パフォーマンス検証 ミドルウェア/ドライバの移植及び開発 開発ベース環境のご提供(SW / HW) 各種リファレンス実装のご提供 他プラットフォームとAndroidの比較検証 36 アプリケーション / Applications 提供サービス ISBベトナム社を活用した低コスト開発 WindowsやSymbian等からのアプリ移植 3rd PartyアプリのHW上での検証作業 Contact Us お気軽にご連絡ください。 今後ともよろしくお願い致します。 株式会社アイ・エス・ビー ◦ ◦ ◦ ◦ 37 営業企画推進部(担当:岩井) Tel: 03-3490-1761 Mail: [email protected] Web: http://www.isb.co.jp Portions of this page are reproduced from work created and shared by Google and used according to terms described in the Creative Commons 2.5 Attribution License. 38