2011年7月4日月曜日

ADB で接続 (Android)

※Apple Desktop Bus の話ではありません。


最近 Android にも手を出し始めました。

Android とArduino を繋ぐ仕組みは、Android Open Accessory Development Kit (ADK) というGoogle オフィシャルなものがありますが、手持ちのXperia Arc (Android 2.3.2) は対応していません。

ADK 以前から、さまざまな有志の試みがありましたが、今回は いわたん さんのこの記事を参考に、Micro Bridge というものを使ってみました。
Micro Bridge はADB (Android Debug Brige) というプロトコルを使って、マイコン(Arduino) と通信する仕組みです。

・USB ホストの使えるマイコン (Arduino + USB Host Sheild) が必要。
・Android 端末はUSB 接続で、デバッグモードにする。

Micro Bridge はここからダウンロードします。

ServoControl.zip:Android のサンプルアプリ
MicroBridge-Arduino.zip:Arduino のライブラリ
usb_host_patched.zip:USB Host Shield のライブラリ(既にインストールしている場合は不要)

Arduino のライブラリの使い方はこの記事を、USB ホストシールドについてはこの記事を参考にしてください。
サンプルスケッチを使ってみます。

File > Examples >Adb

Demo、Logcat、Reboot、Shell、WriteFile

[Demo] は、Android 用のソフト Servo Control と通信するスケッチ。
サーボのコントロール (Android -> Arduino) と、アナログ値の読み取り (Arduino -> Android) が出来ます。
(サーボを持っていないので、A0 の入力電圧を可変させてみました。)

[Logcat] は Android のシステムログを表示する。
[Shell] は Android のShell にログインできる。
シリアルターミナルで57.6kbps で接続する (改行コードは LF)。

[Reboot] は動作できなかった。

Shell で
$ reboot
とすると、

reboot: Operation not permitted
(その操作は許可されていません)

と出るので、この端末では駄目なんだと思います。

[WriteFile] はSD カード上に hello という名前のファイル(中身はhello world) を作成する。

という、多彩なサンプルスケッチが収録されているので、何でも出来そうです。


0 件のコメント:

コメントを投稿