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出来ます。
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プロジェクト]から新規に作って
次に[●外部ソースからプロジェクトを作成]を選びロケーションでダウンロードしたソースのappディレクトリを指定します。
例) adk_release_0506 / app
このとき、ビルド・ターゲットが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を吐きだして端末にインストールするなりすれば、デモプログラムは動作します。
「ビルドなんて面倒臭ぇぇ」って人の為に、apk置いておきます。
(unsignedです。2.3.4用です。)
署名無しだと、よけいに面倒臭そうなので署名付きをアップしました。
実行画面
↑ADKが繋がってないとこの画面が表示されます。
↑繋がると、この画面。
格好いいですね、さすがgoogleです・・・ってか、作ったのは日本の会社なのかな?
※違ったようです、ごめんなさい><
で、今日は時間が無いので、続きはまた明日・・・
続きはこちら Arduino + USBホストシールド で ADK を試す(その2)
関連記事
-
-
AndroidとArduinoの接続で使えそうなBluetoothモジュール
1ヶ月ほど前に書いた、Android + Bluetooth + Arduino が割と人気があるよ
-
-
パソコンで温度計 #3
今回は、I2C接続の温度センサー STTS751をケーブルを使ってArduinoに接続できるよう
-
-
Android Open Accessory開発時のWiFiデバッグ
Android Open Accessory開発時のデバッグは、ADBをWiFiで接続しろと、USB
-
-
Atmel Studio 6
米粒AVR(ATtiny10)の開発を行う為に、Atmel Studio 6.0をインストールし
-
-
Raspberry Piのリビジョン
リビジョンの種類 現在、Rapsberry Piにはリビジョン1とリビジョン2と呼ばれる2つの
-
-
Raspberry Pi インターネット接続
Raspberry Piをインターネットに接続してみた。 有線で接続(Ethern
-
-
Raspberry Piの起動SDカードを準備する
先日入手したRaspberry PiでLinuxを起動する為のSDカードを準備します。 Ras
-
-
Android + Arduino でリモコン
今こんなのを作ってますと言う動画です。 DoCoMoのFOMA携帯
-
-
Arduinoで温湿度計
秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前「パソコンで温度計」と言うもの
Comment (6件)
こちらのビルド済みのapkを、NexusOne(2.3.4)にインストールしようとしたのですが、インストールができないです。
インストールのプログレスバー表示までは行くのですが、そのあと、インストールしませんでしたというような表示でインストールが終わってしまいます。
ごめんなさい、unsignedだとインストールが面倒ですね・・・
署名付きの物をアップしておきました、再度お試し下さい。
お手数をかけてすみません。
無事インストールできました。ありがとうございました。
ピンバック: arduino + USBホストシールド = Google I/Oボード
[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~~~
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.