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通信ケーブルの配線の役割は
- 赤色: +5V
- 黒色: GND
- 白色: RxD
- 緑:色 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の通信モジュールに接続してみるも失敗。二度目無事に接続。
その後パソコン、スマホから文字を送り受信できるかテストしました。
ディスカッション
コメント一覧
まだ、コメントがありません