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)

 

関連記事

米粒AVR リモコン

米粒AVRでリモコン送信機

米粒AVR(tiny10)を使った赤外線リモコン送信機を作ってみました。 これで送信できるのは

記事を読む

no image

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

前回「Arduino + USBホストシールド で ADK を試す(その1)」では、Androidで

記事を読む

no image

PIC24FJ64GB002でADKを試す(その2)

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

記事を読む

Raspberry Pi 起動SDカード

Raspberry Piの起動SDカードを準備する

先日入手したRaspberry PiでLinuxを起動する為のSDカードを準備します。 Ras

記事を読む

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

米粒AVRでSoftModem的なこと

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

記事を読む

no image

AndroidでSoftModemを試してみた

今回、ここで言うSoftModemとは、携帯電話のオーディオ端子(イヤホン・マイク端子)を利用し

記事を読む

thermometer

パソコンで温度計 #2

今回は温度表示とログ取りアプリを作ったので公開。 前回にArduino+STTS751で作った

記事を読む

raspi-config

Raspbianの最初の設定

  Raspbianのインストール後にraspi-configを使って行う最初の設定

記事を読む

no image

USBホストケーブルとUSBケーブルの違い

USBホストケーブル(OTGケーブル)と普通のUSBケーブルの違いは、USBホストケーブルとして振る

記事を読む

X-Window

Raspberry Piのスクリーンショット

  ブログで使う用に、Raspberry Piのスクリーンショットを撮りたいと思った時、

記事を読む

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 ↑