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 - かおるんダイアリー
当方は先日EV3を購入し、記事を参考に勉強中です。
恐らく、「LEGO Mindstorms EV3でGyro Boyを動かしてみた。(その1)」の部分は、手順書通りにできると思います。ですが、(その2)の方は、カメラとBluetoothを使った興味深い内容なのですが、自分には難しそうです。
そこで質問させて頂きたいのですが、ブログに掲載されている「EV3 Gyro Boy Bluetooth Test」の名前のウインドウのツール(ソフト?)は、EV3のlabVIEWプログラムで作られたものでしょうか? それとも、別途で用意されたプログラミングソフトで作られたものでしょうか?
ご返答並びにご助言の程、宜しくお願いいたします。
Windows側のプログラムは、「Visual C# 2010 Express」を使って作っています。
ちなみに、これは古いのでもう入手できないと思います。
ウインドウのデザインが独特だったので、
もしかしたら、と思っていたのですが、
マイクロソフトのC#なのですね。
現在、マイクロソフトからVisual Studio
Expressというソフトがダウンロードできる
ようなので、同じようにカメラがEV3で
使えるよう、試してみたいと思います。
ありがとうございました。
日本語がつたないですがご了承ください。
当方はLEGO Mindstorms EV3でGyro Boyを動かしてみた。(その2)を読ませて頂き、LEGO Mindstorms EV3 APIを用いて、貴方様がお作りになられたEV3 Gyro Boy Bluetooth Test のような実行画面に実装したいと思い、実装している途中です。
しかし、どうしたら、貴方様のように、ボタンを押すと前進したり、旋回したりというようにプログラムを組めばよいのかが分からなくて右往左往しています。それと同時に、片方ずつのタイヤを動かすことはできるのですが、一気に両方のタイヤを動かすことができません。
お手数ですが、どのような考え方、あるいは、アルゴリズムを用いれば、ボタンを押すと前進したり、旋回したり
するようにできるのかを教えて頂きたく思います。
長文失礼致しました。ご返答並びにご助言の程、宜しくお願いいたします。
ここにモーターを2つ動かす例が動画で紹介されているので見てみては?
ちなみに私はEV3 APIを使ったことが無いのでよくわかりません。
LEGO Mindstorms EV3 API
ttp://channel9.msdn.com/coding4fun/blog/LEGO-Mindstorms-EV3-API-Windows-8-Windows-Phone-8-Desktop-and-you
ご回答頂いたURLを拝見させて頂いたところ、おかげさまで自分の思っていたように実装することが出来ました。
他にも、自分の欲しかった情報が掲載されていたので、おかげさまでとても助かっています。今後、紹介して頂いたサイトや貴方様のブログを見ながら様々な機能の実装をしていきたいと思います。
本当にありがとうございました。
今回質問させて頂くことなのですが、当方も貴方様のように、EV3から習得したwebカメラの映像を、操縦画面に映しつつ、遠隔操作したいと思い実装を行ってる途中です。
しかしながら、どのような方法でEV3から習得したwebカメラの映像を、操縦画面に埋め込んでいるか、また、どのような方法でAi-Ballと操縦画面がデータのやり取りをしているのかが分かりません。
なので、厚かましいことは承知ですが、差支えなければ、プログラムのソースコードをお見せして頂けませんでしょうか? もし、差支えがあるのでしたら、手順だけでもご教示して頂ければと思います。
自分が力不足なのは重々承知ですが、どうしても貴方様のようなシステムを完成させたいと思っていますので、お忙しい中すみませんが、どうかよろしくお願いします。
長文失礼いたします。
ttp://cyberworks.cocolog-nifty.com/blog/2011/08/wi-fics-w07g-cy.html
前回に引き続き、迅速かつ丁寧に返答していただき、本当にありがとうございます。
細かく手順がのっていたので、大変参考になりました。
この記事を参考にさせて頂きながら、作業を進めていきたいと思います。