Android端末で動かすLCXXのリモコンアプリができた。
通信でスロットル情報がモーター制御側にまでまわることを組立中の
零號機で確認。モーターを回すとうるさいので週末まで実機動作確認
は待ち。今週末は晴れるといいな。
![433641715[1]](http://blog-imgs-49.fc2.com/v/a/g/vagabondworks/20111027043914eb7.jpg)
画面の上下方向でタッチした所でLCXXのスロットル情報Bluetoothでパカパカ送るだけ。
指を離すとスロットルオフになって、通信遮断すると本体側で自動的にスロットルを戻す
ようになってる。送ってるのは目標値で、追従は本体側でゆっくりやってる。
モーター的には一瞬で加速できるけれど、人間が振り落とされるのでかなり加減速はゆっくり。
そのため急には止まれない。
日曜日の夜に開発環境をインストールしてから、javaを知らない素人が
ググったりググったりググったりしながら3~4日 一日1~2時間作業すれば
タダでできちゃうんだから、なんとも恐ろしい時代になったものだ。
買った本は写真の一冊だけ。夏休みのときに泊まりで海に行ったときに夜に
読むために買ったけど、わかりやすくてこの本は良かった。
ハマったポイントをせっかくなので書いておくと。
まず、作成したアプリを実機に焼く adb -s installコマンドだけど、
これを実行するのは環境変数でPATHを /android-sdk/tools に通せと本とか
ググッて出てくるサイトには書いてある。
でも、最新のSDKではadbは /android-sdk/platform-tools に移籍している。
しばらく adb コマンドが通らず、なんでかなっと思って toolsフォルダを
確認したら
adb_has_moved.txt
ってファイルがあった。。。ちくしょー!!!
あと、androidのOSの挙動を把握しとかないとハマるっというかハマった。
onStart(), onPause(), onStop() とか。
ハマったといっても実機で検証しながら進められるのでせいぜい15分位で
抜けて次にいける感じ。
javaは本すら読んだことがないけど、まぁWindowsでVC++とかつかった
ことあれば、ヘッダのないc++ くらいの感覚でコーディングできる
んじゃないかという印象。とにかくググればいくらでも情報がでてくる。
Android App : LCXX Driver は、当初はスクラッチから書いていたけど、
途中eclipsのウィザードで
サンプルのBluetoothChatが丸ごと生成できちゃう
ことを発見して、結局そこからのコード書換での実装になった。
BluetoothChatの詳細な解説は、株式会社ブライトシステムさんが
Androidアプリ開発 ~Bluetooth SPP による無線通信~でしてくれていて、これをちゃんと読めばサルでも理解できちゃう。
ただし、
onResume()で BluetoothChatService の start() メソッドを呼び出したときに落ちるってのは、ウチでは発生しなかった。
確認してる端末は、Nexus Sと HTC Aria(どっちもSIMナシ)。
実際、BluetoothChatをゴリゴリ改造していくと、コードはそれ以前に
何度も読んで勉強させてもらっていたこともあって、@hrdakinori さんの
公開しているコードに近くなった。
というかほとんど表示内容とタイマの処理以外はほぼ一緒。
非常に参考になった。ありがとうございます。
- 2011/10/27(木) 04:35:16|
- LCXX進捗
-
-
| コメント:0