Bluetooth接続について

232 views
Skip to first unread message

keijiro

unread,
Jan 3, 2011, 12:28:59 AM1/3/11
to Mindset-tech
茶国 様

ブログの方いつも楽しく拝見しております。

現在、自分はMindsetとマイコンの一種;Arduinoを利用したBCIを試みています。
下記のサイト↓で、複数のBluetooth機器をドライバ経由で動作しようとするとエラーが起こる、とおっしゃっていますが、
http://d.hatena.ne.jp/chakoku/20100417
複数のbluetooth接続を実現するためにはどのようにしたらよいか、ご存知でしょうか。

また、マイコンに積んでいるのはBlueSMiRFというモデムなのですが、これをPCが認識してくれません。
mindsetとモデムとの通信はとれていますが、PC上でTeraTermを使用して具体的な脳波情報を取得したいと考えています。

もしご存知でしたら、BluetoothモデムとPCの認識方法も合わせてお教えいただきたく存じます。
東芝のBluetooth認識ドライバを使用しています。

よろしくお願いします。

dune.geek

unread,
Jan 3, 2011, 1:15:45 AM1/3/11
to mindse...@googlegroups.com
keijiro様

こんにちは。

> 現在、自分はMindsetとマイコンの一種;Arduinoを利用したBCIを試みています。

[MindSet]----bluetooth---[BT IF][driver]---[Arduino]

という形態の接続でしょうかね。

> 下記のサイト↓で、複数のBluetooth機器をドライバ経由で動作しようとすると


エラーが起こる、とおっしゃっていますが、
> http://d.hatena.ne.jp/chakoku/20100417
> 複数のbluetooth接続を実現するためにはどのようにしたらよいか、ご存知でしょうか。

自分の想像ですが、、bluetooth接続が一対一が基本だとすると、下記のように
Bluetoothの接続を二股にして2つの端末で一度にデータを取るというのは
無理ではないかと思います。(bluetoothの仕様をちゃんと勉強していないので
推測です)

[MindSet] ---+--- [BT IF(その1)]
+---- [BT IF(その2)]

また、PC内でデータを二股にする場合、MindSet関連のアプリは
BlueToothドライバ(Bluetoothトングルのドライバ)が提供する仮想シリアルに
接続して動作する形態なので、BrainWave Bisualizer等を動かしてしまうと
それがシリアルポートを占有するので、ほかのMindSet関連アプリは動作
しませんでした。 (=シリアルポートのレベルで二股にはできない)

2箇所でデータを取りたいということだけで回答するなら、MDTの
ThinkGearConnecorを動かせば、TCP接続になりますので、
複数のクライアントから接続してデータを取ることが可能です。
ただし、、取れる情報は、α、β等の周波数分割された強度のみで
変換前の素のデータは取れません。

もしデータを複数箇所で取るというのなら、素直にやると、、
PC上でMindSetが提供するBlueToothのシリアルで接続して
アプリを書いてデータを分配させるのが良いのではと思います。

自分のノウハウの限度としまして、、
MindSetの開発キット(Mindset Development Tools)を使った開発なら
多少は分かりますが、NeuroSky社が提供する以外のbluetooth機器で
受けるのはどうやったらいいのか分かりません。すみません。
(確かにPCを使わずマイコンで波形を受けたらもっとシンプルな
 デモができるのにと思うことはよくあります。オリジナルBTIFで
 波形を受けるというのは技術的に興味はありますね。。
 (が、、セット自体はNPOに返却したので今はすぐに試せないの
 でした。すみません))

> また、マイコンに積んでいるのはBlueSMiRFというモデムなのですが、これを
> PCが認識してくれません。

接続形態がよく分かりませんが、、BlueSMiRFはBluetooth<-->Serialの
ブリッジのように見受けられ、、以下のようにつなごうとして
おられるのでしょうか?

[MindSet]----bluetooth---[BT IF(BlueSMiRF)]---serial---[PC]

あるいは、、PCが認識しないということなので、、以下でしょうか?

??? ---serial---[BT IF(BlueSMiRF)]---bluetooth---[(BT IF) PC]

> mindsetとモデムとの通信はとれていますが、PC上でTeraTermを使用して
> 具体的な脳波情報を取得したいと考えています。

上記、TeraTermを使う場合とは、、以下の形態でいいのでしょうか?

[MindSet]---bluetooth---[BT Tongle][(driver) PC]

上記であれば、、MindSetについてくるBT Tongleを使えば、、
BTの仮想シリアルでデータを抜けると思います。
(TeraTermのシリアル設定をBT Tongleの仮想シリアルに向けてつなぐ)
手元にMindSetがないので、MDTのマニュアル等からの
推測です。すみません。


> もしご存知でしたら、BluetoothモデムとPCの認識方法も合わせて
お教えいただきたく存じます。

すみません。パーツ単体でBT モデムを使ったことがなく分かりません。
アドバイスできるとしたら、、販売サイトのFAQとか型番でググルのは
どうですかね。自分がBTモデムの持っていたら試して報告したいですが、
そこまでテクニカルに突っ込んでやっていないので。。情報提供できず
すみません。

マイコンだけならAVRとかSH2とか遊びで触っているので多少は
情報出せますが、さすがに、MindSet ---[BT IF]--[Arduino]は
最強のネタ(技術課題が多いという意味で)で、自分でも情報は
持っていません。すみません。逆に、、

>「mindsetとモデムとの通信はとれていますが」

これは、、

[MindSet]----bluetooth---[BT IF(BlueSMiRF)]---serial-

上記までは動かせたということでしょうかね?? だったら
serialをPCで受ければいいので、ゴールは目前と思えるのですが。。
(手抜きでよければ、Serial/USB変換ケーブルを使うとか etc)

dune

unread,
Jan 3, 2011, 11:03:16 PM1/3/11
to Mindset-tech
keijiro様
こんにちは。

少し調べたらMindsetとArduionoをつなぐ方法がPDFに出ていました。
以下の形態でつなぐようです。(すでに実現されていたらすみません)

[MindSet]---Bluetooth--[BT/Serial]--serial--[AVR]

これが可能なので、コンパクトな制御システムが
作れそうですね。(PDFをgoolge groupのファイル置き場に
アップしておきました)

で、質問に戻って、、、
(自分はBluetooth周りがよく分かっておらず
 あまりお助けできませんが、もし回答いただける
 のなら。。)

>マイコンに積んでいるのはBlueSMiRFというモデムなのですが、
>これをPCが認識してくれません。
>mindsetとモデムとの通信はとれていますが、PC上でTeraTermを
>使用して具体的な脳波情報を取得したいと考えています。
>BluetoothモデムとPCの認識方法も合わせてお教え
>いただきたく存じます。
>東芝のBluetooth認識ドライバを使用しています。

上記接続形態が良く分からず、、以下のどの形態でしょうか??
BlueSMiRFとPC間をシリアルでつなごうとされているのか
Bluetoothでつなごうとされているのか。。

【接続その1】

[???]--serial---[BT/Serial(*)]---Bluetooth---[PC] ??

【接続その2】

[MindSet]--bluetooth--[BT/Serial(*)]---serial---[PC] ??

*:BlueSMiRF

以上よろしくお願いします。

keijiro

unread,
Jan 4, 2011, 7:34:13 AM1/4/11
to Mindset-tech
茶国 様(dune 様、でしょうか?)

ご返信ありがとうございます。大変ご親切な回答に嬉しく思い、驚いております。
さて、接続方法ですが、
> 【接続その2】
>
> [MindSet]--bluetooth--[BT/Serial(*)]---serial---[PC] ??
>
で実現したいと思っております。
茶国様がアップロードされたNeurosky社のpdfを参考にしています。

Mindsetからの脳波データをBluetooth接続でBlueSMiRFが受け取り、Arduinoがデータを入力信号として処理します。
データの記録は、ArduinoからUSBケーブル接続により(シリアルで)TeraTerm上でログを取っています。
しかしArduinoをスタンドアロンとして動作させたいので、無線でデータを取りたいのです。

mindset → Arduino → モータ回転

現在は、MindsetのeSenseアルゴリズムによる集中力・弛緩度評価を入力信号として、モータ回転をPWM制御で行っています。
モータのデューティ比はeSenseの割合に応答するようにプログラムを組んでいます。
要は、Arduino搭載のラジコン動作を被験者に視覚フィードバックさせて感情評価を行う、というシステムです。

データの受け取り場所がBTSMiRFですので、そこからまたBluetoothによりPCに接続、という形にしたいと思ったのですが、動作しなかった
ことはご存じのとおりです。
茶国様に二度手間になるような説明を強いることになるかもしれませんが、自分は接続方法に関して素人ですので、できればより詳しい説明をお聞きしたいで
す。

dune

unread,
Jan 5, 2011, 5:03:12 AM1/5/11
to Mindset-tech
keijiro様 こんにちは。

>しかしArduinoをスタンドアロンとして動作させたいので、
>無線でデータを取りたいのです。
>
>mindset → Arduino → モータ回転
>
>
>データの受け取り場所がBTSMiRFですので、そこからまたBluetoothにより
>PCに接続、という形にしたいと思ったのですが、動作しなかった
>ことはご存じのとおりです。


上記情報を自分なりに解釈しますと、
機器構成は以下の形態で接続となりますでしょうか?

[Mindset]
|
|
<BlueTooth>
|
|
([TB/Seiral]-s-[Arduiono]-s-[Serial/TB]) ... ワンボード
|
+----------------------------+
|
<BlueTooth>
|
|
[BT Dongle(USBアダプタ)] .... BlueTooth受信部
|
<USB>
|
[PC]


図中、
-s-はシリアル接続

|
<USB>はUSB接続
|

|
<BlueTooth>はBlueTooth接続
|


TB/Serialの装置を時分割で使わない限り、多分、上記の
図のように、TB/Serialの回路(BlueSMiRF)は2つ必要と
思いますがどうでしょうか?
でないと信号が混信するというか。。
(BlueToothの詳細わかっておらず間違っていたらすみません。)

あと、PC側でドライバを認識しないとのことですが、
PC側ではBluetooth内蔵PCか、あるいは、Bluetoothを
受けるDongle(Bluetooth USBアダプタ)が必要と思いますが、
これはあるのでしょうか?

PCで認識しないというのは、Dongleを認識しないと
いうことですかね?

dune

unread,
Jan 5, 2011, 5:32:46 AM1/5/11
to Mindset-tech
図を補足します。

ASCIIの絵が桁ずれて分かりにくくなってしまいましたが、
TB/Serialの変換を行なうBlueSMiRFが2つあって、
一つはMindSetとつながって、もう一つはPCと繋がるという
イメージです。


[Mindset]
|
|
<BlueTooth>
|
|
([TB/Seiral]-s-[Arduiono]-s-[Serial/TB]) ... ワンボード
                      |
 +-------------+
 |
 |

keiji watarai

unread,
Mar 27, 2011, 11:10:41 AM3/27/11
to mindse...@googlegroups.com
お久しぶりです。

Mindsetの操作については、お世話になりました。
卒業研究発表および高専シンポジウム、北陸学生発表会など、やり遂げることができました。

つきましては、今後も個人的に茶国さんと交流を続けたいと思いメールした次第です。
gmailはサブとして利用しておりましたが、iphone乗り換えにともない、クラウドを意識した利用を試む所存です

ところで、茶国さんはプログラミングを学ぶコツをご存知でしょうか?
わたしは、理系に所属しているにもかかわらずプログラミングが苦手です(基本情報にも2度落ちています…)
勉強の必要性は感じているのですが、継続することができません。
楽しみながら、継続して学習できる方法、書籍などご存知でしたらお教えいただきたく存じます。

keiji watarai

unread,
Mar 27, 2011, 11:13:02 AM3/27/11
to mindse...@googlegroups.com
すみません、追加で、学習言語対象はC言語です

2011年3月28日0:10 keiji watarai <shin....@gmail.com>:

dune

unread,
Mar 28, 2011, 6:45:27 AM3/28/11
to Mindset-tech
こんにちは。

>>Mindsetの操作については、お世話になりました。

いえいえ何もお力になれず。。

>>卒業研究発表および高専シンポジウム、
>>北陸学生発表会など、やり遂げることができました。

当初の目標がやり遂げられてよかったですね。
もし可能なら、発表資料を見せてもらえると
ありがたいですが。。(もし可能ならでいいです)

MindSetで何ができるのか、他の方々は
どんなことをやっているのか非常に興味が
あります。


>>>学習言語対象はC言語です

はぁなるほど。。学習言語はCですか。。

ご質問の内容ですが、、C言語を学ぶ方法なのか、
それともプログラミングスキルを身に付ける
方法なのか。。どっちでしょうかね?
言葉どおりに受け取ると、C言語をどうやったら
身に付けられるのか?ということでしょうか。

>>楽しみながら、継続して学習できる方法

継続できない、楽しみながらとありますが、学習の目的が
はっきりしないとなかなか難しいのではないでしょうか。
それに、、勉強ってのは本来はやりたくないけど知的な
立場から、これはやるべきだと自分に言い聞かせて
取り組むことなので、続かないですよね。

プログラミングや言語は本来は目的達成のための
手段なので、最初に何か猛烈に実現したいアプリや
コンセプトあって、それを実現するためにプログラミングを
行なうと思うのです。
だから、、作りたくてしょうがないものがあれば
それが原動力になり、必然的に道具としての
プログラミングが必要になり、あれこれ試行錯誤して
いくうちにスキルが身に付くのではないかと思います。

まずは、、これはメチャクチャ面白い!なんとしても
作ってみたいという対象を探すのがいいのでは
ないでしょうか??

dune

unread,
Mar 28, 2011, 6:49:26 AM3/28/11
to Mindset-tech
ところで、、

最初のコンセプト?であった、、

MindSet--BT+AVR 構想は

うまく行きましたでしょうか??

ちなみに自分は

PC--BT+AVR

で小物を作っています。
Reply all
Reply to author
Forward
Message has been deleted
0 new messages