RX-MEGAからAndroidをいじくる
Interface誌付録のRX62Nボード用の豪華拡張基板『RX-MEGA』から、AndroidをADB経由でいじくることができるようになりました。
ADBというのはAndroidのUSBデバッグモードで、ほぼすべて(たしかバージョン1.6以降)のAndroid機が対応しています。LinuxのシェルのようなものがUSB越しに使えたり、アプリケーションの通信ができたりします。
似たようなのにADKというのがあります。これはUSBアクセサリモードというやつで、Android 2.3.4以降で対応となっているので、ざっくり言って昨年の夏以降の携帯電話が対応しているかな・・と思います。
ちょっと古い携帯だとADKは使えないので、ADBでいろいろやろうと思います。
さて、RX-MEGAは、付録基板FRK-RX62Nを拡張するボードです。FRK-RX62NにはRX62Nがのっていて、このRX62NはUSBホストとしてコンフィギュレーションすることができます。
また、RX-MEGAにはレガシーなRS232Cポートがあります。このRS232Cポート経由で、Androidのデバッグコンソール「ADB」を叩けるようにしてしまう、というプログラムを用意しました。
それが、こちらのプログラムです。
「adbtest.mot」をダウンロード
このプログラムはRX-MEGA上で動作します。まだちょっとUSBのプルダウンとかその辺の制御がうまくいっていないみたいで、接続や切断を検出するところに難がありますが、だいたいうまくいくでしょう。(究極のRX62Nボードのほうでは完璧だったのに)
付録基板は、1つのUSBポートを、ホストにもファンクションにもする回路構成だから、結構面倒なのかもしれませんね。
このプログラムを動作させると、RX62NのUSB0をホストモードにして、SCI0をRS232Cにします。TeraTermを立ち上げて、RS232C経由でADBシェルを叩いて、Androidに対してlsや、pm、amといったコマンドを発行できます。
下の図はpm -lコマンドを発行して、携帯内にインストールされているアプリケーションのリストを得ているところです。
ちなみに、シェルの上から
$ am start -a android.intent.action.VIEW http://www.tokudenkairo.co.jp/
とやると、ブラウザが開いて上記のページが開かれます。
pmコマンドを使えば、任意のアプリをインストールしたりアンインストールすることだってできてしまいます。ファイル転送もプロトコルを解読したので、そのうち実装します。このツールがあればいろいろ面白いことができそうですが、携帯電話とUSBをつなぐだけで、こういうことができてしまうのですから、ある意味危険です。
パソコンにADBを入れる場合と違って、このツールの何がいいのかと考えてみると、
『パソコンにADBを入れる方法だと、携帯電話が変わるたびにUSBのVIDとPIDが変わるから、デバイスドライバを要求されるけど、このツールなら「Androidデバッグシェル→RS232C変換器」として動作するのでデバイスドライバ不要。他の組み込み機器から、Androidを操作するためのブリッジとしても使える』
というわけです。
なお、RX-MEGAをお使いで、このRX-ADBブリッジのソースをご希望のお客様がいらっしゃいましたら、ご連絡ください。USBホストのソースと、ADBブリッジのソースも含めて提供します。
昨年の夏に販売を開始し、ご好評いただいていたRX-MEGAは、あと2台で完売します。
在庫限りで終了し、終息品となる予定です。再生産の予定は全くありません。
RX-MEGAご希望のお客様は、特電オンラインショップへお急ぎください。
最近のコメント