LabVIEWのプログラムでPCとBluetooth SPP通信したいのだが、なかなかうまくいかない。
DirectCommandを使う例はよく見かけるが、これは外部から直接センサやモータを制御するみたいだ。
メモ: Communicating with LEGO NXT via Bluetooth in C#
これ面白そうなんだが、EV3側のプログラムをどう書けばいいかわからない。試行錯誤中。
・EV3 Mailbox Remote - Google Play の Android アプリ
このプログラムで、”EV3 Mailbox Remote” + Nexus7を使ってEV3側のlabVIEWプログラムとBluetooth通信できた。
次はPCだな。
Win8 PC + USB Bluetoothドングルで、EV3側のlabVIEWプログラムからのデータをSPPで受信できた!
後はここの通信フォーマットを参考にすれば何とかなるだろう。
・Sending messages from a PC application in C# to the Lego EV3
マインドストームEV3の通信コマンドの詳細はここにあった。
・Development Page for EV3 Support
マインドストーム EV3、LabVIEWのプログラムでPCとBluetooth SPPで通信するときの注意点。
ペアリングするとき、EV3側のBluetooth設定で”iPhone/iPad/iPod”のところをONしておく必要がある。
ペアリングが終わったら、OFFする。
ペアリングが終わったら、OFFしておかないと通信できない。<-これですこしはまった。
うまくペアリングできれば、PC側にCOMポートが2つ(着信用、発信用)割り当てられる。(Win8 標準のドライバでやった時)
Win8 PCで、マインドストームEV3とBluetooth SPP通信する実験。
labVIEWプログラムへテキストを送信するテストプログラムできた。
PCからEV3にBluetoothでメッセージを送る環境ができたので、今度はジャイロ ボーイ側のプログラムを改造する。
PCからEV3にBluetoothでメッセージを送ってジャイロ ボーイを操縦する実験うまくいった!
PCからEV3にBluetoothでメッセージを送って、ジャイロ ボーイを操縦するためのテストプログラム。
ジャイロ ボーイに無線LANカメラAi-Ballを搭載してみた。
EV3のUSBコネクタから電源を供給できるので便利。
PCで操縦しつつカメラ画像を見れる。
次はKinectとかLeap Motionで…
---> 一応めどはついているが、動かすのにある程度広い場所が必要なので保留。
ー以上ー
関連する記事
・LEGO Mindstorms EV3でGyro Boyを動かしてみた。(その1)
参考リンク
・LEGO Mindstorms EV3 API (source code)
・KinXT = Kinect + LEGO NXT - かおるんダイアリー