リモートコントローラー JAico

基本、ロボット足郎のRaspberryPIにsshでログインして、ロボットを制御していたが、cosmで書かれた制御プログラムを、パソコンで編集して、それを足郎に転送して、とかいう作業が面倒になった。
そこで、パソコンから足郎のRaspberryPIで動かしている制御ソフトAicoを制御した方が楽だと思って、Aicoにサーバー機能を持たせ、それに接続するパソコン上のクライアントJAicoをJAVAで作成した。面倒なことを言ったようだが、ロボットにsshしても制御できるし、パソコンからも直接制御できるようにしたということだ。
Aicoの主要な機能をJAicoからもできるようになった。
さらに、パソコンからの制御の大きなメリットは、JAVAのグラフィックインターフェイスを使えることだ。そのうち、センサーの動きもパソコン側にグラフィカルに表示させることができるようになるだろう。
この過程で、JAVAのソケット機能でサーバー、クライアントをプログラミングしたが、もう、なんどもなんども、この辺りのプログラムは書いてきたのに、色々、詰まった。例えば、サーバーがデータを送ったのか、まだバッファリングしているのかがわからずに、tcpdumpでパケットの送付状況を確認するようなことも、久しぶりにやった。しかし、まあ、無事動いてよかった。