chakokuのブログ(rev4)

日々のごった煮ブログです

microbridgeでtcp:4567による接続テスト

前回はmicrobridgeのlogcatを使って動作確認を行った。今回は、tcp:4567ポートを使ってAndroid側アプリと、ARM側ファームを繋いでみる。ARM側はサンプルのDemoアプリを流用。下記の様に、tcp:4567を指定して接続要求を出しています。Android側はServoControlのDemoのアプリをそのまま利用


// Open an ADB stream to the phone's shell. Auto-reconnect
connection = ADB_addConnection("tcp:4567", true, adbEventHandler_tcp);
Android側のソースをちゃんと読んでないので理解不十分ですが、ServoControlにはServerアプリとClientアプリが同梱されている??


これまで、ARM側を動かしただけだと、Android側にはtcp:4567のLISTENが作られなかったのだけど、Android側のアプリも動かしたおかげか、機器間が正しく接続され動作した。左はARMデバッガ側のConsole出力画面。自分で勝手に書き換えているのでオリジナル通りではありませんが、まぁRead/Writeはできたようだ。ちょっとやる気を萎えさせるのは、通信確立に1分以上かかるということ。なんですぐに繋がらないのか。

正しく接続確認した後、Android側でConsoleを走らせてnetstatを実行したところ。たしかに、4567ポートでListenしている。が、、ServoControlの実行を終えても4567ポートは残っている。なぜか。。4567ポートを提供しているアプリは、ServoControlなのか、microbridgeなのか。。

まあとにかくARMとAndroid間の通信はできたので、通信内容を設計すれば、いろんな目的に応用できる。といいつつ、今回は、マイコンAndroidの接続テストが目的だったので、次にこれを使ってやりたいことはすぐにないのであった。。目的と手段を取り違えているかも。言ってみればPCとAndroidはやれることは基本的に同じなので、PCでできることをわざわざAndroidで実装する必要はなく、携帯端末ならではの応用を考えたいとは思います。無難なところとしては、タッチによるUIや各種内蔵センサーの応用、フィールドでのネットワーク接続、マイコン側スイッチ、AD/DAコンバータとの連携といったあたりでしょうか。

■追記 111002
Android(携帯端末)のアドバンテージとは。。とりえあず以下だろうか
・すぐに起動できる(PCだったらブート必要)
・サイズがコンパクト、人に寄り添う、体に密着できる(ポケットに入れたり持ち歩いたり。自分が端末に向かうのではなくて、端末が体の一部である)
・優れたUI(タッチパネルやバイブレーション)
・各種センサー(加速度、方位、GPS
Googleクラウドとの親和性(これはかなり情緒的な話)