Bluetooth SMiRF関連(コマンドモードについて)
Bluetooth SMiRFに関して、ブログにまとめておくことにします。
昨日、Bluetooth SMiRFを繋げてみたとき、うまいことコマンドモードにならなくて困ってましたが、ユーザーガイドを読んで、なぜ、うまくいかない原因がわかりましたので、ちょろっと書いておきます
Bluetooth SMiRFには、CONFIGURATION TIMEというのがありまして、デフォルトでは60秒になっています。これがうまくいかない原因で、電源を入れてから60秒以内に、コマンドモードにしないとダメだったのです
Bluetooth SMiRFは、ローカルでも、リモートでもコマンドモードに入れます。ローカル(PCと繋ぐ)では試していませんが、リモート(無線で)でコマンドモードに入れることを確認できました。
$$$を入力し、Dコマンドで設定を表示させた時のスクリーンショット(※LynxTermを使っていますが、ハイパーターミナルでも当然できます)
《コマンドモードに入る》
- Bluetooth SMiRFの電源を入れる。つまり、MR-C3024の電源を入れる
- ターミナルでBluetooth SMiRFと接続
- 電源を入れてから60秒以内に
$$$
と入力するとすぐ
CMD
と返事が返ってきてコマンドモードになります。
※リモートの場合は、$$$だけで、コマンドモードになれます。
《CONFIGURATION TIMEを変更する》
CONFIGURATION TIMEは、コマンドモードに入って
ST,<num>
という書式のコマンドで変更できます。
<num>
0 CONFIGURATIONできなくする
1-252 この数値の秒数以内ならCONFIGURATION可
253 ローカルのみCONFIGURATION可、時間制限なし
254 リモートのみCONFIGURATION可、時間制限なし
255 ローカル、リモート両方CONFIGURATION可、時間制限なし
私は、いつでも変更できるように、ST,255に設定しました。
《プログラム転送時に役立ちそうなコマンド》
U,<rate>,<E,O,N>
というプログラム転送時に役立ちそうなコマンドがありました(まだ試していません)。baudrateとparityを変更し、コマンドモードを抜けるというコマンドです。
例えば、
U,115K,N
とすると、baudrate=115200bps, parity=noneに変更されます。
プログラムの転送時、途中で9600bpsから115200bpsに変更されるため、Bluetooth SMiRFでプログラムの転送に対応できる可能性があります。
《その他》
もしプログラムの転送もBluetooth SMiRFでうまくいくならば、ETX/ERXでBluetooth SMiRFを使うのではなく、オーディオプラグの方で使った方がいいかもしれません。ETX/ERXでは、プログラムの転送ができないので、基本的にはロボットのコントロールしかできませんが、オーディオプラグならロボットのコントロールだってできるからです。
----------------
にほんブログ村
| 固定リンク
「無線(BlueSMiRF)」カテゴリの記事
- 手持ちのBTモジュールでロボゼロを動かしてみた(6):回路編2(2012.09.10)
- 手持ちのBTモジュールでロボゼロを動かしてみた(5):BlueSMiRF編(2012.09.04)
- BlueSMiRF関連(オーディオプラグに繋ぐには6)(2008.04.30)
- BlueSMiRF関連(オーディオプラグに繋ぐには5)(2008.04.29)
この記事へのコメントは終了しました。
コメント
miconoさん、こんばんわ!
Bluetoothのコントロールうまくいっているようですね。VV(^O^)VV
価格もPCでコントロールするのであれば、PC用のBluetoothアダプタが使えれば、ZigBee2個と同等か安くつきますね。
ううぅ、早まったかな(笑)
ちなみに「ETX/ERXでは、プログラムの転送ができないので、」とあるのは、ROBOZAK内のファームフェア(roboBASICのプログラムを解析実行するプログラム)が対応してないという意味ですか?それともハード的にETX/ERXピンからのデータではEEPROMへの書込みは不可能という意味でしょうか?
とうのは、私は最終的にはETX/ERXピン接続で、プログラム転送実行を考えています。(一番コンパクトな実装に出来そうなので)
投稿: Robock | 2008年4月16日 (水) 21時50分
忙しくて、お返事遅くなりました。
MR-C3024にプログラム転送を用のプログラムを用意しておいて、それを利用して、プログラムをPCからMR-C3024にプログラムを送ることは可能かと思います。
けど、普通にroboBASICを使ってETX/ERXのポートを指定して、プログラムの転送できるのでしょうか?
勝手にそう思っているだけで試した訳じゃないんですけど。。。
投稿: micono | 2008年4月17日 (木) 20時57分