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)

 

関連記事

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前「パソコンで温度計」と言うもの

記事を読む

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

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

記事を読む

no image

ボツネタ~CAN的な何か

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

記事を読む

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

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

記事を読む

Raspberry Piのサウンドを試したら音が出なかった話

(これはX-WindowのVLCメディアプレイヤーのスクショ) Raspberry Piでは、

記事を読む

no image

Android+Arduinoでリモコン3 その2(AndroidAccessory接続)

何度か、Android+リモコンのネタを書いたことがあるのですが、今回はAndroid Access

記事を読む

Androidで気圧高度計

androidで気圧・高度計(LPS331AP使用)

Androidと大気圧センサー(LPS331AP)をイヤフォンジャックで繋いで気圧と高度、ついで

記事を読む

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

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを買ったので、ちょっと試してみま

記事を読む

パソコンで温度計 #3

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

記事を読む

Raspberry Pi インターネット接続

Raspberry Piをインターネットに接続してみた。 有線で接続(Ethern

記事を読む

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で温湿度計 #2

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

Arduinoで温湿度計

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

ArduinoでSDカード

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

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

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

秋月の小型キャラクタLCD

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

PAGE TOP ↑