Skip to content

SparkFunのBluetoothモジュールのコマンドモードへの接続手順です。

by dietposter on 3月 6th, 2011

SparkFunのBluetoothモジュールは、電源投入時にデフォルトで60秒間赤色LEDが高速点滅する状態になります。これはコマンドモードへ移行する待ち時間で、この高速点滅する間に接続すると、コマンドモードに入ります。

赤色LEDが点滅する

接続されると、緑色LEDが点灯します。この間コマンドモードで通信が可能になります。

緑色LEDが点灯しコマンドモードに入っている

電源投入後60秒待って接続するとデータ転送モードに入ります。Blurtooth経由でSerial.read()やSerial.print()を使ってプログラムから操作しようと思ったら60秒待たないとダメです。

これに気付くのに1ヶ月近くかかりました。60秒経つと、赤色LEDがゆっくりと点滅します。このタイミングでAndroid端末からBluetooth接続するとちゃんとAndyを操縦できます。

コマンドモードの待ち時間を15秒程度に設定するとデバッグ・テストが素早くできるようになります。またSPP(シリアル接続プロファイル)による通信の通信速度を9600bpsに設定してArduino側とやりとりできるようにする必要もあります。というわけで、接続をやってみましょう。

  1. BTモジュールの電源を投入します。
  2. TeraTermを起動して下さい。
  3. ペアリング設定したCOMポートを指定して接続します
  4. 赤いLEDが高速点滅している間に「$$$」とキーインします(※)。
  5. すると、「CMD」という表示が返ってきます。これでATコマンドモードになりました。
  6. 赤いLEDは消灯し、緑のLEDが点灯します。

※キーインした文字が表示されず不安な人は「ローカルエコー」をオンにしておくといいでしょう。

デフォルトではコマンドモードの待ち時間は60秒ありますので余裕がありますが、待ち時間を15秒などにすると、タイミングが短くなってデータ転送モードに移行してしまいます。あせらずに設定してください。

$$$と打ってCMDと表示されたら、もうドキュメントにあるコマンドを打てます。終了したければ「—」と打って改行するとコマンドモードから抜けます。

まずは、設定を表示する「D」コマンドを打ちます。以下にTeraTermの表示を示します。

$$$CMD
D
***Settings***
BTA=00066604D6B0
BTName=FireFly-D6B0
Baudrt(SW4)=115K
Parity=None
Mode  =Slav
Authen=0
Encryp=0
PinCod=1234
Bonded=0
Rem=NONE SET
---END

上記は「$$$」「d[Enter]」「—」とキー入力した状態です。GETコマンドであるdによって基本設定が表示されました。ボーレートが115kbpsであるのがわかります。これを9,600bpsに変更し、コマンドモードの待機時間(Config Timer)も15秒に変更します。

もう一度、接続して以下のコマンドを投入してください。

$$$CMD
SU,96
ST,15
D
***Settings***
BTA=00066604D6B0
BTName=FireFly-D6B0
Baudrt=9600
Parity=None
Mode  =Slav
Authen=0
Encryp=0
PinCod=1234
Bonded=0
Rem=NONE SET
---END

うまくいけば、ボーレート(Baudrt)が9600になっているはずです。

これで、BluetoothモジュールはArduinoと接続できるようになりました!

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS