Bluetoothモジュール HC-05 ATコマンドモードの設定方法(自分向け)

Bluetooth HC-05 通信モジュールなんて、数年に一度触るか触らないかのため、ATコマンドの設定方法など完全に忘れてしまいます?今回また触る機会があったので忘れないように記載?。

Bluetooth HC-05 通信モジュールってなに?

イヤホンやマウスなど無線規格のBluetoothってありますよね。その無線(Bluetooth)を使ってマイコンでおなじみのシリアル通信を行うためのBluetooth通信モジュールが上記ものになります。

私の場合、自作ECUとパソコンとの通信は初期型は「USB-シリアル通信の有線」で行っていますが、2型以降はBluetoothの無線を使って通信させています。

Bluetooth通信モジュールを「ATコマンドモード」に移行させる理由

ATコマンドモードに移行させる理由はシリアル通信速度の変更を行うためです。

当方がプログラムしたマイコンのシリアル通信速度は38400bpsなんですが、この手のBluetoothモジュールの標準速度は9600bpsに設定されているためそのままでは通信できません。

そのためATコマンドモードに移行させてATコマンドを実行し、38400bpsにシリアル通信速度変更しなければなりません。

ATコマンドモードに移行させるのは単純ですが、ATコマンドを実行するには、通信電圧レベル3.3V(TTLレベル)のシリアル通信が必要です。現在USB-シリアルTTL通信ケーブルなど激安で売っているので(Win10で通常起動するものは少ないですが)激安品を使用してATコマンドを実行します。

激安USB-シリアルTTL通信ケーブルでATコマンドを実行

まずUSB-シリアル通信ケーブルをUSBに接続して、最適なドライバーをインストールし(Win10で起動するものは少ないですが)、COMポートとして使用できるようにしておいてください。USBに認識された後は一度USBケーブルを外しておいてください。

PL2303 デバイスドライバー(windows xp, vista, win7など )

PL2303 windws10 32/64bit用 ドライバー

きちんとドライバーかつUSBが認識されると「ポート(COM&LPT)の一覧」にデバイスドライバーのProlific USB-to-Serial Comm Portと表示されます。ここに書いてあるCOM?の番号を覚えておくこと。

激安USB-シリアルTTL通信ケーブルの配線の役割は

  1. 赤色: +5V
  2. 黒色: GND
  3. 白色: RxD
  4. 緑:色 TxD

上記4本の配線で構成されています。

この4種類の配線をBluetoothモジュールの端子に接続します。

上記画像のようにBluetoothモジュールと配線を接続させます。

次にATコマンドモードに移行させるため、USBに接続する前に、Bluetoothモジュールのスイッチを押した状態のまま、USB-シリアルTTL通信ケーブルをUSBに差し込みます。

そうするとBluetoothモジュールの赤色LEDがゆっくり点滅します(これがATコマンドモードに移行された証です、通常は速く点滅します)。

ターミナル・エミュレータソフトでATコマンド実行

定番のターミナル・エミュレータ「Tera Term」を使ってATコマンドを実行します。

Tera Termソフトのダウンロード先はこちら

Tera Termをインストールしたら、ファイル>新しい接続から「シリアルを選択」し、一覧から上記デバイスドライバーで表示されていたCOM番号を選びOKを押します。

次に設定>シリアルポートを選択します。

赤い矢印の通信スピードは標準9600bpsになっていますが、それを38400に変更し「現在の接続を再設定」のボタンを押します。ATコマンドモードはAT+UART値に関係なく38400bpsに固定されています。

最後に設定>端末を選択します。

赤い矢印通り、改行コードの受信・送信をCR+LFに変更、ローカルエコーにチェックを入れて、OKボタンを押します。

ATコマンドの実行

現在の設定状態を知るために、まずATと打ち込みEnterキーを押します。そうするとOKと反応が返ってきますので、Bluetooth通信モジュールはATコマンドを受け付けるアクティブな状態と知ることができました。

続いて、AT+UART?と打ち込みEnterキーを押すと、+UART=384000,0,0と返ってきます(通信速度38400、ストップビット「1ビット」0、パリティ「無し」0)。無設定の初期は+UART=9600,0,0と返ってきます。

AT+NAME?と打ち込みEnterキーを押すと、+NAME=OpenECU(無設定の初期はHC-05)と返ってきます。

設定情報がわかったので端末名、シリアル通信速度を設定します。

AT+NAME=OpenECUと書き込みEnterキーを押す(OK返ってくれば設定完了)

AT+UART=38400,0,0と書き込みEnterキーを押す(OK返ってくれば設定完了)

ATコマンドの一覧(ATコマンドセット)は外部サイトのこちらで見る事ができます。

通信測度設定後、パソコン⇔スマホ間を無線Bluetoothを利用しシリアル通信してみる

スマホは内蔵Bluetoothを使用、パソコンはBluetooth通信モジュール(HC-05)を使用し、無線Bluetoothを使いシリアル通信を行っています。スマホからHC-05の通信モジュールに接続してみるも失敗。二度目無事に接続。

その後パソコン、スマホから文字を送り受信できるかテストしました。