SlideShare a Scribd company logo
1 of 21
Download to read offline
パナソニックAVCマルチメディアソフト
              日高正博
             @mhidaka




                        1
2
   Android Open Accessoryとは
   ADK(Accessory Development Kit)とは
   デモンストレーション
   まとめ




                                       3
   Room 9: TBA
   To Be Announcement




                         4
   Androidの普及を広げる施策
   周辺機器が繋がる仕組みを提供

    照明制御                  楽器演奏




           Android@Home
                                 5
   Androidとつながる周辺機器の開発キット




                             6
http://developer.android.com/intl/ja/guide/topics/usb/index.html
                                                                   7
3.1 2.3.4



                                                ○        ×



                                                ○        ○


http://developer.android.com/intl/ja/guide/topics/usb/index.html
                                                                   8
android.hardware.usb.action.
             USB_ACCESSORY_ATTACHED
                                      9
   Arudino(アルデュイーノ)
    互換

   電子工作の経験がなくても
    使いやすいデバイス

   モーターをつけて
    走り回ってもOK




                       10
11
   DemoKit
   https://dl-
    ssl.google.com/android/adk/adk_release_05
    12.zip
   開発環境の注意
    ◦ Accessories must also provide 500mA at 5V for
      charging power.
    ◦ For Build Target, select Google APIs (Platform 2.3.3,
      API Level 10).

    ◦ http://developer.android.com/guide/topics/usb/in
      dex.html


                                                              12
13
   http://developer.android.com/guide/topics/u
    sb/adk.html

   ADK販売
    ◦ RT:Arduino互換。国内代理店
    ◦ Microchip:PIC24F 16-bit PIC
    ◦ Modern Device:Aruduino互換。99ドルと安い(在庫なし)




                                                  14
   http://arduino.cc/en/Guide/HomePage から
    Arduinoの開発IDEをDownload

   CapSense library: タッチセンサを使うための
    Library

   The ADK package: Arduinoの開発IDEへのプラグ
    インとサンプルコード集




                                             15
   http://developer.android.com/guide/topics/usb/
    adk.html (Ubuntu,Macはこっち)

   ADK packageの解凍、コピー
    ◦ <arduino_installation_root>/libraries/ へ以下をコピー
    ◦ firmware/arduino_libs/AndroidAccessory
    ◦ firmware/arduino_libs/USB_Host_Shield

   CapSenseの解凍、コピー
    ◦ <arduino_installation_root>/libraries/CapSense
      ディレクトリを作成
    ◦ 以下をコピー:CapSense.cpp / CapSense.h


                                                       16
17
   <manifest ...>
      <uses-feature android:name="android.hardware.usb.accessory" />

      <uses-sdk android:minSdkVersion="<version>" />
      ...
      <application>
        <uses-library android:name="com.android.future.usb.accessory" />
          <activity ...>
            ...
            <intent-filter>
                <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" />
            </intent-filter>

           <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"
              android:resource="@xml/accessory_filter" />
        </activity>
      </application>
    </manifest>


                             Intentを受けただけでは、どんなADKボードが繋がっても
                          アプリ起動してしまうので、ADKボード側の種類をfilter設定して
                               特定のソフトが焼かれたADKだけ反応するようにします
                                                                                               18
   細かい手順
    ◦ http://developer.android.com/guide/topics/usb/ac
      cessory.html
    ◦ ADK_packageの ADK_release_0512¥app にAndroid
      Appのサンプルプログラムがあるよ!

   USBでのデータ交換が主な作業です
    ◦ 非同期通信なのでUIスレッドでやらない。
    ◦ ADKの応答を待ってる間に「アプリ応答なし」に。
      Runnable / thread をつかって、
       メッセージを受信したらHandlerでUIスレッドにpost
       何を言ってるかわからねーと思うが俺もわ(ry



                                                         19
   USBAccessoryをつないでいるとUSBポートが埋まります
   ネットワーク経由でadbでDebugする

   1. Android端末をPCとUSB接続する
   2. コマンドプロンプトより
    adb tcpip 5555
    ネットワークのlistening port を指定
   3. コマンドプロンプトより
    adb connect <device-ip-address>:5555
   4. コマンドプロンプトより
    adb usb.


                                           20
   Expand: Android !
    ◦ OpenAccessoryにより、周辺機器との関係が変わる
    ◦ 今後、Hubとして機能、対応が広がる

   Make: Android !
    ◦ ADKは開発者へのメッセージ。
      アプリだけで簡単にMydroidが作れる




                                      21

More Related Content

Viewers also liked

失敗しない!Androidアプリ開発最前線!
失敗しない!Androidアプリ開発最前線!失敗しない!Androidアプリ開発最前線!
失敗しない!Androidアプリ開発最前線!Masahiro Hidaka
 
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Masahiro Hidaka
 
DroidKaigi 2017 welcometalk DAY01
DroidKaigi 2017 welcometalk DAY01DroidKaigi 2017 welcometalk DAY01
DroidKaigi 2017 welcometalk DAY01Masahiro Hidaka
 
DroidKaigi - Welcome talk
DroidKaigi - Welcome talkDroidKaigi - Welcome talk
DroidKaigi - Welcome talkMasahiro Hidaka
 
Android端末の選び方
Android端末の選び方Android端末の選び方
Android端末の選び方Masahiro Hidaka
 
Androidの衝撃 クラウドで進化する組込システム
Androidの衝撃 クラウドで進化する組込システムAndroidの衝撃 クラウドで進化する組込システム
Androidの衝撃 クラウドで進化する組込システムMasahiro Hidaka
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step GuideMasahiro Hidaka
 
Fxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidakaFxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidakaMasahiro Hidaka
 
Anroid Design Guide 3つのポイント
Anroid Design Guide 3つのポイントAnroid Design Guide 3つのポイント
Anroid Design Guide 3つのポイントMasahiro Hidaka
 
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドDevelopers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドMasahiro Hidaka
 
Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Masahiro Hidaka
 
DroidKaigi 2017 welcometalk DAY02
DroidKaigi 2017 welcometalk DAY02DroidKaigi 2017 welcometalk DAY02
DroidKaigi 2017 welcometalk DAY02Masahiro Hidaka
 
新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知るMasahiro Hidaka
 
Google I/O 報告会 Overview
Google I/O 報告会 OverviewGoogle I/O 報告会 Overview
Google I/O 報告会 OverviewMasahiro Hidaka
 
Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017Masahiro Hidaka
 
書籍制作でReVIEWを使う実践ワークフロー
書籍制作でReVIEWを使う実践ワークフロー書籍制作でReVIEWを使う実践ワークフロー
書籍制作でReVIEWを使う実践ワークフローMasahiro Hidaka
 

Viewers also liked (18)

RecentApps
RecentAppsRecentApps
RecentApps
 
Android bluetooth
Android bluetoothAndroid bluetooth
Android bluetooth
 
失敗しない!Androidアプリ開発最前線!
失敗しない!Androidアプリ開発最前線!失敗しない!Androidアプリ開発最前線!
失敗しない!Androidアプリ開発最前線!
 
Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -Gecko入門 - Introduction to Gecko -
Gecko入門 - Introduction to Gecko -
 
DroidKaigi 2017 welcometalk DAY01
DroidKaigi 2017 welcometalk DAY01DroidKaigi 2017 welcometalk DAY01
DroidKaigi 2017 welcometalk DAY01
 
DroidKaigi - Welcome talk
DroidKaigi - Welcome talkDroidKaigi - Welcome talk
DroidKaigi - Welcome talk
 
Android端末の選び方
Android端末の選び方Android端末の選び方
Android端末の選び方
 
Androidの衝撃 クラウドで進化する組込システム
Androidの衝撃 クラウドで進化する組込システムAndroidの衝撃 クラウドで進化する組込システム
Androidの衝撃 クラウドで進化する組込システム
 
Android Studio First Step Guide
Android Studio First Step GuideAndroid Studio First Step Guide
Android Studio First Step Guide
 
Fxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidakaFxos lt1 shino_merry_mhidaka
Fxos lt1 shino_merry_mhidaka
 
Anroid Design Guide 3つのポイント
Anroid Design Guide 3つのポイントAnroid Design Guide 3つのポイント
Anroid Design Guide 3つのポイント
 
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンドDevelopers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
Developers Summit 2017 17-A-7 執筆を支える技術と技術書のトレンド
 
Androidアプリのストレージ戦略
Androidアプリのストレージ戦略Androidアプリのストレージ戦略
Androidアプリのストレージ戦略
 
DroidKaigi 2017 welcometalk DAY02
DroidKaigi 2017 welcometalk DAY02DroidKaigi 2017 welcometalk DAY02
DroidKaigi 2017 welcometalk DAY02
 
新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る新版 OutOfMemoryErrorを知る
新版 OutOfMemoryErrorを知る
 
Google I/O 報告会 Overview
Google I/O 報告会 OverviewGoogle I/O 報告会 Overview
Google I/O 報告会 Overview
 
Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017Android Things Latest News / Aug 25, 2017
Android Things Latest News / Aug 25, 2017
 
書籍制作でReVIEWを使う実践ワークフロー
書籍制作でReVIEWを使う実践ワークフロー書籍制作でReVIEWを使う実践ワークフロー
書籍制作でReVIEWを使う実践ワークフロー
 

Similar to Google I/O 2011 HowToADK

Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力Keiji Ariyama
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Masayuki Abe
 
イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料Kenichi Yoshida
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Kenichi Yoshida
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都Kenichi Yoshida
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Yuki Higuchi
 
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Netwalker lab kapper
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門Katsumi Honda
 
Androidロボットサミットin愛媛
Androidロボットサミットin愛媛Androidロボットサミットin愛媛
Androidロボットサミットin愛媛Kenichi Yoshida
 
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」Kenichi Yoshida
 
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioAndroid App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioSoichiro Kashima
 
Operate Clova with Android Things
Operate Clova with Android ThingsOperate Clova with Android Things
Operate Clova with Android ThingsLINE Corporation
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Daisuke Hiraoka
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣三七男 山本
 
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦Tetsuya Shiraishi
 
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システム
.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システムAtomu Hidaka
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : ReloadedMasataka Kondo
 
Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generatorBMXUG
 

Similar to Google I/O 2011 HowToADK (20)

Android Studioの魅力
Android Studioの魅力Android Studioの魅力
Android Studioの魅力
 
Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )Cordovaコトハジメ( Html5fun×senchUG )
Cordovaコトハジメ( Html5fun×senchUG )
 
イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料イチからはじめるADK北海道支部勉強会発表資料
イチからはじめるADK北海道支部勉強会発表資料
 
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
 
Androidロボットサミットin京都
Androidロボットサミットin京都Androidロボットサミットin京都
Androidロボットサミットin京都
 
Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.Android Lecture #01 @PRO&BSC Inc.
Android Lecture #01 @PRO&BSC Inc.
 
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
Beginner for install Android applications in Xiaomi MiReader  はじめてのXiaomi MiR...
 
冬だからAndroid再入門
冬だからAndroid再入門冬だからAndroid再入門
冬だからAndroid再入門
 
Androidロボットサミットin愛媛
Androidロボットサミットin愛媛Androidロボットサミットin愛媛
Androidロボットサミットin愛媛
 
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
姫路IT系勉強会「ADB接続でかんたんフィジカルコンピューティング」
 
iPadでScratch
iPadでScratchiPadでScratch
iPadでScratch
 
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioAndroid App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
 
Operate Clova with Android Things
Operate Clova with Android ThingsOperate Clova with Android Things
Operate Clova with Android Things
 
Ide env
Ide envIde env
Ide env
 
Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!Appsody でnodejsのアプリを立ち上げよう!
Appsody でnodejsのアプリを立ち上げよう!
 
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
 
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
スマホキャンプサマー2012:ANEとアプリ内課金に挑戦
 
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システム
.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム.NET GadgeteerでプロトタイピングするEnOceanエネルギーハーベスティングシステム
.NET Gadgeteerでプロトタイピングする EnOceanエネルギーハーベスティング システム
 
Displaylink : Reloaded
Displaylink : ReloadedDisplaylink : Reloaded
Displaylink : Reloaded
 
Node-REDのノード開発容易化ツール Node generator
Node-REDのノード開発容易化ツールNode generatorNode-REDのノード開発容易化ツールNode generator
Node-REDのノード開発容易化ツール Node generator
 

More from Masahiro Hidaka

DroidKaigi 2019 WelcomeTalk
DroidKaigi 2019 WelcomeTalkDroidKaigi 2019 WelcomeTalk
DroidKaigi 2019 WelcomeTalkMasahiro Hidaka
 
Google I/O 2018 KeynoteとDeveloper KeynoteのOverview
Google I/O 2018 KeynoteとDeveloper KeynoteのOverviewGoogle I/O 2018 KeynoteとDeveloper KeynoteのOverview
Google I/O 2018 KeynoteとDeveloper KeynoteのOverviewMasahiro Hidaka
 
DroidKaigi 2018 Android Back to the Future
DroidKaigi 2018 Android Back to the FutureDroidKaigi 2018 Android Back to the Future
DroidKaigi 2018 Android Back to the FutureMasahiro Hidaka
 
DroidKaigi 2018 WelcomeTalk
DroidKaigi 2018 WelcomeTalk DroidKaigi 2018 WelcomeTalk
DroidKaigi 2018 WelcomeTalk Masahiro Hidaka
 
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~Masahiro Hidaka
 
Google I/O 2017 Extended: Android O And Android Studio
Google I/O 2017 Extended: Android O And Android StudioGoogle I/O 2017 Extended: Android O And Android Studio
Google I/O 2017 Extended: Android O And Android StudioMasahiro Hidaka
 
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Masahiro Hidaka
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方Masahiro Hidaka
 
ETWest2012 コミュニティセッション
ETWest2012 コミュニティセッションETWest2012 コミュニティセッション
ETWest2012 コミュニティセッションMasahiro Hidaka
 

More from Masahiro Hidaka (11)

DroidKaigi 2019 WelcomeTalk
DroidKaigi 2019 WelcomeTalkDroidKaigi 2019 WelcomeTalk
DroidKaigi 2019 WelcomeTalk
 
Google I/O 2018 KeynoteとDeveloper KeynoteのOverview
Google I/O 2018 KeynoteとDeveloper KeynoteのOverviewGoogle I/O 2018 KeynoteとDeveloper KeynoteのOverview
Google I/O 2018 KeynoteとDeveloper KeynoteのOverview
 
DroidKaigi 2018 Android Back to the Future
DroidKaigi 2018 Android Back to the FutureDroidKaigi 2018 Android Back to the Future
DroidKaigi 2018 Android Back to the Future
 
DroidKaigi 2018 WelcomeTalk
DroidKaigi 2018 WelcomeTalk DroidKaigi 2018 WelcomeTalk
DroidKaigi 2018 WelcomeTalk
 
KotlinConf Recap
KotlinConf RecapKotlinConf Recap
KotlinConf Recap
 
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
コミュニティ活動と企業の相互作用 ~コミュニティへの貢献と組織活動への還元~
 
Google I/O 2017 Extended: Android O And Android Studio
Google I/O 2017 Extended: Android O And Android StudioGoogle I/O 2017 Extended: Android O And Android Studio
Google I/O 2017 Extended: Android O And Android Studio
 
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
Devsumi2013 15-C-1 実践!スマホアプリのマネタイズ!! ~マーケット把握術と iPhone&Androidプログラミングテクニック~
 
Android カスタムROMの作り方
Android カスタムROMの作り方Android カスタムROMの作り方
Android カスタムROMの作り方
 
ETWest2012 コミュニティセッション
ETWest2012 コミュニティセッションETWest2012 コミュニティセッション
ETWest2012 コミュニティセッション
 
Android gameprogramming
Android gameprogrammingAndroid gameprogramming
Android gameprogramming
 

Google I/O 2011 HowToADK

  • 2. 2
  • 3. Android Open Accessoryとは  ADK(Accessory Development Kit)とは  デモンストレーション  まとめ 3
  • 4. Room 9: TBA  To Be Announcement 4
  • 5. Androidの普及を広げる施策  周辺機器が繋がる仕組みを提供 照明制御 楽器演奏 Android@Home 5
  • 6. Androidとつながる周辺機器の開発キット 6
  • 8. 3.1 2.3.4 ○ × ○ ○ http://developer.android.com/intl/ja/guide/topics/usb/index.html 8
  • 9. android.hardware.usb.action. USB_ACCESSORY_ATTACHED 9
  • 10. Arudino(アルデュイーノ) 互換  電子工作の経験がなくても 使いやすいデバイス  モーターをつけて 走り回ってもOK 10
  • 11. 11
  • 12. DemoKit  https://dl- ssl.google.com/android/adk/adk_release_05 12.zip  開発環境の注意 ◦ Accessories must also provide 500mA at 5V for charging power. ◦ For Build Target, select Google APIs (Platform 2.3.3, API Level 10). ◦ http://developer.android.com/guide/topics/usb/in dex.html 12
  • 13. 13
  • 14. http://developer.android.com/guide/topics/u sb/adk.html  ADK販売 ◦ RT:Arduino互換。国内代理店 ◦ Microchip:PIC24F 16-bit PIC ◦ Modern Device:Aruduino互換。99ドルと安い(在庫なし) 14
  • 15. http://arduino.cc/en/Guide/HomePage から Arduinoの開発IDEをDownload  CapSense library: タッチセンサを使うための Library  The ADK package: Arduinoの開発IDEへのプラグ インとサンプルコード集 15
  • 16. http://developer.android.com/guide/topics/usb/ adk.html (Ubuntu,Macはこっち)  ADK packageの解凍、コピー ◦ <arduino_installation_root>/libraries/ へ以下をコピー ◦ firmware/arduino_libs/AndroidAccessory ◦ firmware/arduino_libs/USB_Host_Shield  CapSenseの解凍、コピー ◦ <arduino_installation_root>/libraries/CapSense ディレクトリを作成 ◦ 以下をコピー:CapSense.cpp / CapSense.h 16
  • 17. 17
  • 18. <manifest ...> <uses-feature android:name="android.hardware.usb.accessory" /> <uses-sdk android:minSdkVersion="<version>" /> ... <application> <uses-library android:name="com.android.future.usb.accessory" /> <activity ...> ... <intent-filter> <action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" /> </intent-filter> <meta-data android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED" android:resource="@xml/accessory_filter" /> </activity> </application> </manifest> Intentを受けただけでは、どんなADKボードが繋がっても アプリ起動してしまうので、ADKボード側の種類をfilter設定して 特定のソフトが焼かれたADKだけ反応するようにします 18
  • 19. 細かい手順 ◦ http://developer.android.com/guide/topics/usb/ac cessory.html ◦ ADK_packageの ADK_release_0512¥app にAndroid Appのサンプルプログラムがあるよ!  USBでのデータ交換が主な作業です ◦ 非同期通信なのでUIスレッドでやらない。 ◦ ADKの応答を待ってる間に「アプリ応答なし」に。  Runnable / thread をつかって、 メッセージを受信したらHandlerでUIスレッドにpost 何を言ってるかわからねーと思うが俺もわ(ry 19
  • 20. USBAccessoryをつないでいるとUSBポートが埋まります  ネットワーク経由でadbでDebugする  1. Android端末をPCとUSB接続する  2. コマンドプロンプトより adb tcpip 5555 ネットワークのlistening port を指定  3. コマンドプロンプトより adb connect <device-ip-address>:5555  4. コマンドプロンプトより adb usb. 20
  • 21. Expand: Android ! ◦ OpenAccessoryにより、周辺機器との関係が変わる ◦ 今後、Hubとして機能、対応が広がる  Make: Android ! ◦ ADKは開発者へのメッセージ。 アプリだけで簡単にMydroidが作れる 21