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

Android + Arduino でリモコン

今こんなのを作ってますと言う動画です。   DoCoMoのFOMA携帯

記事を読む

no image

Softmodem Terminal 公開しました。

需要がどれほど有るのか疑問に思いつつ、以前のエントリ(AndroidでSoftModemを試してみた

記事を読む

no image

Atmel Studio 6

米粒AVR(ATtiny10)の開発を行う為に、Atmel Studio 6.0をインストールし

記事を読む

thermometer

パソコンで温度計 #2

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

記事を読む

no image

ボツネタ~CAN的な何か

少し前に必死になって作ってたデバイス+アプリですが、気持ちが萎えてしまい、結果ボツと

記事を読む

no image

PIC24FJ64GB002でADKを試す(その2)

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

記事を読む

no image

Wimeji Client for Arduino

前回紹介したWimeji Client for WindowsXPをArduinoでやってみました。

記事を読む

no image

Androidとオーブントースターを繋いでみた

Android端末とオーブントースターを、Arduino+USBホストシールドで作ったADKっぽい奴

記事を読む

no image

赤外線リモコン受信機(イヤホンジャック接続)を作ってみた

最近、このブログ何も書いて無かったので、作成中の物の紹介・・・  これは、Andro

記事を読む

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 ↑