« EZ-USB FX3のSlaveFIFOが遅い理由 | トップページ | RXマイコンでJTAGコントローラを作ろう »

2012.04.24

RXマイコンからAndroidを操作するプログラムを公開

お待たせしました!RXマイコンからAndroidを操作するプログラムを公開します。
ターゲットボードは究極のRX62Nボードです。

このプログラムを使うと、つぎのようなことができます。
・ Androidのデバッグシェルを、COMポート経由で操作する
・ RXマイコンのprintfの出力先をAndroid携帯の画面に出す
・ RXマイコンからAndroidへファイルを転送したり、アプリをインストールしたりする

※デバッグシェルをCOMポートにリダイレクトすることのメリットは、パソコンにADBをインストールするときと違って携帯の種類が変わってもドライバをインストールしなおす必要がないことです。
※printfの出力をAndroidにリダイレクトできるので、電車の中など、ノートPCがつかえない状態でもRXマイコンを動かせます。

使い方を簡単に説明します。

①RXマイコンにはあらかじめ、アーカイブの中にあるadbtest.motを書き込んでおきます。

②それから、究極のRX62NボードとAndroidをUSBケーブルで接続し、究極のRX62NボードとホストPCをUSBケーブルで接続します。
Rxadb_8

③ホストPCでTeraTermなどを立ち上げ、仮想COMポート経由でRXマイコンに接続します。
Rxadb_0

④ホストPCとRXマイコンがつながると、RXマイコンは自動的にAndroidに接続します。(Androidからピロリーンと音がします)
そして、TeraTermの画面にベンダIDやプロダクトID、エンドポイントの構成が表示されます。
Rxadb_1

その後、COMポート経由でAndroidのデバッグシェルに接続されるので、lsやpsなどのコマンドを自由に実行することができます。
Rxadb_2

⑤このとき、TeraTermの画面でCTRL-X CTRL-Cを押すと、シェルをいちどクローズして再度接続します。Androidの反応がなくなったときにはこの操作を行うと復活できます。

⑥TeraTermの画面でCTRL-X CTRL-Xを押すと、メニューが表示されます。
Rxadb_3

⑦このメニューからは、ファイルの転送(Push)、アプリケーションのインストール、アンインストール、リブート(rootをとっていないので実際には機能しない)、特電のWebサイト表示、MemoSendアプリの起動、MemoSendアプリモードでの通信、シェルコマンドの実行ができます。

⑧次の画面は、Wキーを押して、Androidの画面に特電Webサイトを表示させたときのものです。
Rxadb_4

この操作を行うと、AndroidでWebブラウザが開き、特電サイトが開きます。
じつは、内部でシェルを起動して、am start -a android.intent.action.VIEW http://www.tokudenkairo.co.jp/ コマンドを実行させています。ADBなので自由自在にアプリやコマンドが実行できるのです。

⑨CTRL-X CTRL-X iコマンドを実行すると、Androidの中の/sdcard/フォルダにあるMemoSend.apkのインストールが始まります。
Rxadb_5

⑩CTRL-X CTRL-X mコマンドを実行すると、MemoSendアプリが起動します。
Rxadb_6

⑪MemoSendアプリというのは、特電が開発したAndroidアプリで、RXマイコンと通信するためのいわば端末です。
MemoSendが立ち上がった状態で、TeraTermでCTRL-X CTRL-X Aを押すと、MemoSendアプリとの通信モードに入ります。以後、TeraTermの画面に打ち込んだ文字は、Androidの携帯のアプリの画面に表示されます。
Rxadb_7

⑫逆に、Androidのほうで入力した文字列がTeraTermのコンソール上に表示されます。


さて、この秘蔵のプログラムを特電のRX62Nボードのお客様向けに公開することにしました。こちらから無償でダウンロードできます。

MOTファイルは究極のRX62Nボード用にビルドされていますが、ソースコードも含まれているのでいろいろいじってみてください。printfの出力先をAndroidにするには、グローバル変数のADBstdio = 1としてください。printfなど、標準出力がMemoSendにリダイレクトされます。

このプログラムは、4月27日までの間は、ソースも含めて公開します。

なお、上記のアーカイブの中にはMemoSend.apkも含まれているので、Androidに転送してインストールしてください。MemoSend.apkがMemoSendのインストールパッケージです。
これをMicroSDカードに入れて究極のRX62Nボードに挿しておけば、このアプリからpコマンドでファイル転送してAndroidにインストールすることもできるでしょう。


|

« EZ-USB FX3のSlaveFIFOが遅い理由 | トップページ | RXマイコンでJTAGコントローラを作ろう »

コメント

コメントを書く



(ウェブ上には掲載しません)




« EZ-USB FX3のSlaveFIFOが遅い理由 | トップページ | RXマイコンでJTAGコントローラを作ろう »