NXT 走行体のデータを取得する方法が、nxtOSEK/JSP には備わっている。

この Bluetooth 接続で データロギングするという、NXT GamePad を入れてみた。

まず、 説明の通りに WindowsXP にNXT GamePad をインストール。

次に、NXT に Bluetooth を使ったプログラムを転送して、実行させる。
(nxtOSEK 付属の nxtOSEK/samples_c/datalogging を使ったみた。)

NXT のプログラム実行中に、WindowsXP で;
コントロールパネル>プリンタとその他のハードウェア>Bluetooth デバイス>デバイス 追加

ここで、NXT が Blutooth デバイスとして見つかったら、パスキーの設定を行う。

ってここで、つまずく。

パスキー入れても、どうしてもつながらないので、「パスキーを使用しない」を選ぶと一見うまくいくようだが、NXT の液晶画面に出るはずの「BT」と言う表示がでない!

そのまま、WindowsXP の NXT GamePad.exe を実行して、COMポートを適当に選ぶと Connect したかのように表示される。
でも、データロギングはうまくいかない。

さんざん悩んだところ、こちらのページを見て、
やっとパスキーを分かってなかったと気づいた

dataloggig.c では
ecrot_init_bt_slave("LEJOS-OSEK")
となっているんで、パスキーは LEJOS-OSEK
と入力しなければいけなかったのだ!

おまけに、勝手に "LEJOS-OSEK" から、" で囲わないでただの数字に書換えていたので、パスキーにその数字を入力してもダメだったのだった

ECRobot C API リファレンス」を見ると;

ecrobot_init_bt_slave(const CHAR *pin)
と書いてありました。


分かってしまえば、Bluetooth で接続確立でき、データロギングも出来るようになりました。

で、NXT の走行プログラムに組込んでも(nxtJSPでも)大丈夫

ちなみに、WindowsXP は MacBook の VMware Fusion 上で動かしています。MacBook 内蔵の Bluetooth で接続できました。

(VMware Fusion 上の WindowsXP では、 Blutooth は最初は使えないです。この記事を参考に。)


あと、これをやっている過程で、NXT のデータロギングソフトを他にも見つけました
NxtLogger
NXTモニタリングシステム