Bluetoothモジュールを使ってみる-1 (HC-05のATコマンドモード)

Bluetoothモジュールを使ってみる-1 (HC-05のATコマンドモード)

ArduinoとRaspberryPiでWiFi遊びをしましたので、今度はBluetoothを使ってみたくなりました。先ずはATモードに設定する方法から。
2018/9/17:詳細ATモードの記述などを変更しました。

今回使用した物

  • HC-05ワイヤレス RS232 ブルートゥースモジュール
  • USB-シリアル変換モジュール FT232RL 3.3V/5V
  • PC Windows10

PCとの接続:(詳しくはnetで”HC-05 Bluetooth Module Usrs Manual” を検索)

PCのUSB -> USB-シリアル変換モジュール(ジャンパーを3.3Vに切り替え)-> HC-05(USB-シリアル変換モジュールから電源を供給し、TxとRxはクロスして接続)

ENとSTATEピンは使用していませんが、ENピンはボタンスイッチを押したままにする代わりに、その時だけジャンパー線でVccに接続しました。

HC-05をATモードにする:

こちらもnetを探すと”HC-03/05 Embedded Bluetooth Serial Communication Module AT command set”というマニュアルが見つかり、次のように書かれていました。

1.How to get to the AT mode.
Way 1:
Step 1: Input low level to PIN34.
Step 2: Supply power to the module.
Step 3: Input high level to the PIN34. Then the module will enter to AT mode. The baud rate is as same as the communication time, such as 9600 etc.
Way 2:
Step 1: Connect PIN34 to the power supply PIN.
Step 2: Supply power to module (the PIN34 is also supplied with high level since the PIN34 is connected with power supply PIN). Then the module will enter to AT module. But at this time, the baud rate is 38400. In this way, user should change the baud rate at the AT mode, if they forget the communication baud rate.

How to get to the communication mode:
Step 1: Input low level to PIN34.
Step 2:Supply power to the module. Then the module will enter to communication mode. It can be used for pairing.

同マニュアルには次のようにも書かれていました。
3. Notes.
(3) When PIN34 keeps high level, all commands can be used. Otherwise, only some of them can be used.

”PIN34”はHC-05モジュールで”KEY”と呼ばれているピンのようですが、私の入手したHC-05搭載ボードにはこのピンをハイレベルにするための押し釦スイッチが付いていて、”EN”という名称になっています。前述のWay1とWay2、およびNotes(3)を試してみた結果、どれも問題なくATモードで動作し、それぞれの方法は概ね次のように理解しました。

ATモードにする方法-1:
PIN34をローレベル(押し釦スイッチを押さない)にして電源を入れてからPIN34を一旦ハイレベル(押し釦スイッチを一回押す)にするとATモードになり、シリアルインターフェースの通信速度(ボーレート)はコミュニケーションモードの時と同じ9600bps(初期値)など設定した値になる。

ATモードにする方法-2:
PIN34をハイレベル(押し釦スイッチを押したまま)にして電源を入れ、後にPIN34をローレベル(押し釦スイッチを離す)にするとATモードになり、この時はシリアルインターフェースの通信速度(ボーレート)は38400bpsに固定。コミュニケーションモードのボーレートを失念したらこの方法で立ち上げる。

詳細ATモードにする方法:
PIN34をハイレベルにしている間(押し釦スイッチを押したまま)は詳細ATモードになり、この時はシリアルインターフェースの通信速度(ボーレート)は38400bpsに固定。

ATモードの動作試験にはTera Termを使用し、次のように設定しました。

Ter Term起動時 新しい接続:シリアル ポートCOMn(nはPCに接続するUSB Serial Portにより異なります)
設定ー端末: 改行コード(受信・送信共にCR+LF) ローカルエコー(有り)
設定ーシリアルポート: ATモードに合わせて、38400bpsまたは9600bps

以下、動作試験をした時のTera Termの設定画面、ATコマンド動作確認画面例、およびHC-05のRxとTxの信号状態のハードコピーです。

ここで使用した測定器は過去記事”Kyutech Arduino Scope”で作成したものです。