Arduino + USBホストシールド で ADK を試す(その1)

公開日: 電子工作 | , , , ,

先日Google IOで発表された Android Open Accessory。みなさん知ってますよね?

Android Open Accessoryは、Android端末と外部機器とをUSBで接続するための規格で、今まで電子工作では何かと苦労していた自作機器との接続を容易にしてくれます。

この規格と同時に、デベロッパー向けの開発キット ADK(Android Open Accessory Development Kit)も公開され、参加者には無料で配られたとかで、ほんと羨まし限りです。

しかし、ADKは Arduino MEGAをベースに作られたオープンソースなハードウェアと言うことで、手持ちのArduino Duemilanove 328を使ってADKモドキを作って、その動作を試してみました。

本物のADKの購入はこちら RT-ADK&RT-ADS

ADKの解説はAndroid Developersの Android Open Accessory Development Kit ページにあります。
ADKとAndroidのデモプログラムのソースなんかも、このページからDL出来ます。

ADKモドキ

 

Android のバージョン

AndroidでOpen Accessoryに対応するのは、Android 3.1か若しくは Android 2.3.4です。 ですので、今のところの対応機種は Nexus OneかNexus S、そしてGoogleIOで配られたgalaxy tab 10.1だけなんじゃないかと思います。(違ってたらごめんなさい)(違ってました、googleIOのは3.0らしいです。数週間以内に3.1化されると言う話らしいです。ごめんなさい)

幸いなことに、僕の持っているNexusOne にも先日2.3.4が降って来たので、Open Accessoryが試せます。

 

Androidのアプリ

まずは、Android側のアプリをEclipseでビルド。

Eclipseを使ったAndroid開発環境の構築は、どこか別のサイトにお任せするとして・・・少しだけビルド方法を・・・

アプリのソースは、Android Developersの Android Open Accessory Development Kit ページからダウンロードできます。 最初の方にある、ADK package downloadと言うリンクがそれです。

ダウンロードしたパッケージの中にはアプリのソースの他に、ArduinoMEGA用のソース、ハードウェアの回路図なんかも含まれていて、ADK関連のリソースが一式詰まっています。

ダウンロードしたソースは適当な所に展開しておきます。

アプリのビルドには、Open Accessoryに対応するAndroid SDKやADTが必要となります。 つまり、SDKとADTを最新にしとけと・・・

インポートが利かないので、[ファイル]→[新規]→[Androidプロジェクト]から新規に作って

adk_cap1

 

次に[●外部ソースからプロジェクトを作成]を選びロケーションでダウンロードしたソースのappディレクトリを指定します。

例) adk_release_0506 / app

adk_cap2

このとき、ビルド・ターゲットがAndroid 2.3.3になっていますが、その1つ下のGoogle APIsに変更します。 Open Accessory Libraryは、google apis addonに含まれるらしいので。
プラットフォームのバージョンは2.3.3ですが、問題はありません。 なんか、こう言う仕様らしいです。Android 3.0がAPI Level11なので上げるに上げれないんでしょうね・・・

参考)http://developer.android.com/sdk/android-2.3.4.html

[完了]をクリックでプロジェクトが作成され、自動でビルドされます。

 

あとは、端末をPCに繋いで[実行]→[Androidアプリケーション]するなり、AndroidツールでAPKを吐きだして端末にインストールするなりすれば、デモプログラムは動作します。

adk_cap3

 

「ビルドなんて面倒臭ぇぇ」って人の為に、apk置いておきます。
unsignedです。2.3.4用です。)

DemoKitLaunch.apk

署名無しだと、よけいに面倒臭そうなので署名付きをアップしました。

DemoKitLaunch_signed.apk

 

 実行画面

device147

↑ADKが繋がってないとこの画面が表示されます。

device148 device149

↑繋がると、この画面。

格好いいですね、さすがgoogleです・・・ってか、作ったのは日本の会社なのかな?

※違ったようです、ごめんなさい><

 

で、今日は時間が無いので、続きはまた明日・・・

続きはこちら Arduino + USBホストシールド で ADK を試す(その2)

 

関連記事

no image

Bimeji Client for Arduino

前回紹介したWimeji Client for Arduinoの最後で予告していた、Wimeji c

記事を読む

raspi-pin-header

そうだ、Raspberry Pi用にピンヘッダーのオス・メス変換アダプタを作ろう

  Raspberry PiのI/O端子は、ピンヘッダーとなっていて、電極が出っ張ってる

記事を読む

米粒AVRからAndroidへデータを送る

米粒AVRでSoftModem的なこと

米粒AVRとAndroidを繋いで、データのやりとりを行ってみたいと思います。 2つを繋ぐイン

記事を読む

no image

S2 Resistor Color Code 公開しました。

このアプリは、抵抗のカラーコードから抵抗値を素早く見る為のAndroidアプリです。 4本帯と、5

記事を読む

no image

PIC24FJ64GB002でADKを試す(その2)

 前回「PIC24FJ64GB002でADKを試す(その1)」では回路の説明までしたので、

記事を読む

soundIR 送信機

赤外線リモコン送信機(イヤホンジャック接続)の回路

前回は受信機で、今回は送信機を作ってみました。 受信機と違って、送信機の作成は少し面倒です。

記事を読む

熱湯の温度計測実験

パソコンで温度計 #3

今回は、I2C接続の温度センサー STTS751をケーブルを使ってArduinoに接続できるよう

記事を読む

no image

Androidで一眼レフカメラのシャッターを制御する(MicroBridge接続)

以前書いた、Androidで一眼レフカメラのシャッターを制御するでは、AndroidとArduino

記事を読む

Androidで温度計

Androidで温度計(STTS751使用)

  Androidに温度センサー(STTS751)を繋いで温度表示してみました。 温度

記事を読む

SDFormatter

Raspbianの起動SDカードを再利用

一度、Raspbianのイメージを書き込んだSDカードは、フォーマットが違う為にWindowsでは利

記事を読む

Comment (6件)

  1. kako

    こちらのビルド済みのapkを、NexusOne(2.3.4)にインストールしようとしたのですが、インストールができないです。

    インストールのプログレスバー表示までは行くのですが、そのあと、インストールしませんでしたというような表示でインストールが終わってしまいます。

    1. Futaba

      ごめんなさい、unsignedだとインストールが面倒ですね・・・
      署名付きの物をアップしておきました、再度お試し下さい。

  2. kako

    お手数をかけてすみません。
    無事インストールできました。ありがとうございました。

  3. ピンバック: arduino + USBホストシールド = Google I/Oボード

  4. pinky

    ‎[2011-08-28 15:09:54 - DemoKitLaunch] Installation error: INSTALL_FAILED_MISSING_SHARED_LIBRARY
    [2011-08-28 15:09:54 - DemoKitLaunch] Please check logcat output for more details.
    [2011-08-28 15:09:56 - DemoKitLaunch] Launch canceled!

    Build target I chose SDK in google API 10
    Run in Emulator can install it but when I run on my android 2.3.4 device ,eclipse had those error

    I check in internet but all about google map and USB error I try to that but it still wrong

    I can’t fix this error is could you can kill it?
    thank you~~~

    1. Futaba

      Hi pinky
      thanks for comment.

      Android Accessory’s library might not exist even if it is android 2.3.4.
      It doesn’t often operate in custom ROM.
      Please try it with Nexus One, Nexus S or XOOM of standard ROM.

Arduinoで温湿度データロガー
Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを

Arduinoで温湿度計
Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前

SDカード・マイクロSDカード
ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduin

秋月電子 リアルタイムクロック(RTC)モジュール
秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを

秋月電子 キャラクタLCD
秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、

PAGE TOP ↑