※この記事は2015年11月30日に公開した記事を再編集し、2022年2月4日に再度公開しました。
目次
今回は、前回設定したESP-WROOM-02に実際に電源を入れてwifi通信のテストをします。購入時のESP-WROOM-02にはそのままでwifi通信などのテストができるように、Arduinoのシリアルモニタなどを通じて「ATコマンド」というコマンドを使って操作をすることができます。今回は、このATコマンドを使って、接続できるアクセスポイントの一覧表示と、実際にアクセスポイントにつなぐところまで取り組んでみたいと思います。
今回の電子工作レシピ
時間目安:60分
必要なパーツ
- ESP-WROOM-02本体 http://www.microtechnica-shop.jp/shopdetail/000000000039/ct9/page1/order/
- ブレッドボード http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3DBC-TCK4
- FTDI USB・シリアル変換ケーブル(3.3v) http://akizukidenshi.com/catalog/g/gM-05840/
- ジャンパピン(2mmピッチ) http://akizukidenshi.com/catalog/g/gP-03902/
- ピンヘッダ(2.54mmピッチ、2mmピッチ) http://akizukidenshi.com/catalog/g/gC-00167/
- 低電圧レギュレーター(ROHM BA33BC0FP 1A LDO 3.3V) http://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-4MSD
ESP-WROOM-02の接続と電源投入
前回設定したESP-WROOM-02に3.3Vの電源をつないでいきます。前回も記述した通り、ESP-WROOM-02は動作するために電流を平均80mA程度消費します。ESP-WROOM-02とPCを接続する3.3VのFTDIケーブルから電源をとると、最大50mA程度しか取得することができない場合もあるので、電源は別途アダプターなどを利用して電源を確保します。
PCとの接続方法は下記のような配置となります。RXとTXはケーブルのRXとTXとそれぞれ逆につなぎますので注意してください。

写真1 ESP-WROOM-02の配線

写真2 電流を計測すると70mA程度を計測
また、FTDIケーブルは3.3Vではなく、5V版を持っている場合は、ロジックレベル変換モジュールなどを利用することで、通信信号を5Vから3.3Vに変換できるので、5Vのケーブルでも利用することができます。

写真3 ロジックレベル変換モジュール
ESP-WROOM-02をATコマンドで操作してみる
ESP-WROOM-02に電源をいれたら、動作を確認していきます。ESP-WROOM-02は購入時はATコマンドで動作を確認できるモードになっていますので、Arduinoのシリアルモニターを使って、動作を確認していきます。
今回利用するArduinoは1.6.6(11月5日時点の最新版)を利用します。
<1>はじめにArduinoを起動して「ツール」-「シリアルモニタ」を選択してシリアルモニタを表示してください。

図1 上メニューの「ツール」-「シリアルモニタ」を選択
<2>シリアルモニタを開いた状態で、ESP-WROOM-02のリセットボタンを押すと、正常に配線がされていれば、シリアルモニタに下記のように文字化けした文字列のあとに、readyが表示されれば問題ないです。ここで、何も表示されない場合は、電源がきちんと確保されているか、配線が間違っていないか確認してみてください。また、ESP-WROOM-02との通信信号のフォーマットを合わせる必要がありますので、シリアルモニタの右下から「115200bps」を選択してください。

写真4 ESP-WROOM-02のリセットボタン

図2 シリアルモニタの通信速度変更

図3 リセットボタンを押すと無事にシリアルモニタ上にESP-WROOM-02からのメッセージが表示される
<3>「ready」が表示されたら、実際にESP-WROOM-02にATコマンドを送信してみます。シリアルモニタの上の欄に「AT」と入力してEnterを押して更新をかけてください。無事に成功したら「OK」とのみメッセージが表示されます。

図4 「AT」コマンドをESP-WROOM-02に送信
<4>次に「AT+GMR」と入力してEnterを押してください。このコマンドで、現在ESP-WROOM-02のSDKやATコマンドのバージョン情報を確認することができます。

図5 「AT+GMT」コマンドで設定情報を確認
これで、一通りESP-WROOM-02の動作確認が完了です。
ATコマンドとは?
最初にも記述した通り、購入したばかりのESP-WROOM-02はATコマンドというコマンドで操作ができるようなファームウェアが入った状態になっています。このATコマンドでできることの一例になります。
コマンド名 | 処理内容 | 説明 |
---|---|---|
AT | コマンド確認 | ATコマンドが実行可能かどうか知ることができます |
AT+GMR | ファームウェアバージョンの確認 | SDKやATコマンドなどのファームウェアバージョンの確認ができます |
AT+RST | 再起動 | ESP-WROOM-02を再起動します |
AT+GSLP | deep sleep modeへの切り替え | deep sleep modeに切り替えることができます |
ATE | コマンドのエコー設定 | ATコマンドに対する返信の表示・非表示を設定できます ATE0:無効 / ATE1:有効 |
AT+CWMODE | wifiモードの設定 | wifiモードを設定します。 モードはstation / softAP / station+softAPの3つのモードがあります。 |
AT+CWJAP | wifiへの接続 | wifiのアクセスポイントに接続します。引数にSSID / PASSWORDを設定します。 |
AT+CWLAP | アクセスポイントの一覧表示 | 接続可能なアクセスポイントの一覧を表示します。 |
AT+CWQAP | wifiの切断 | 接続中のwifiを切断します。 |
AT+CWSAP | wifiの詳細設定 | softAP時の詳細パラメータを設定します。 |
AT+CWLIF | 接続端末の表示 | ESP-WROOM-02に接続している端末のIP一覧を表示します。 |
ESP-WROOM-02でwifi接続をしてみる
上記のATコマンドを使って、実際にwifi接続をしてみます。はじめに接続できるアクセスポイント一覧を表示します。
「AT+CWLAP」コマンドをシリアルモニタに入力すると、アクセス可能なアクセスポイントの一覧が表示されます。

図6 「AT+CWLAP」コマンドでアクセスポイント一覧を表示
無事一覧が表示されたら、「AT+CWJAP」コマンドでアクセスポイントに接続します。
コマンドの引数にSSIDとパスワードを設定することで、接続したいアクセスポイントを指定することができます。

図7 「AT+CWJAP=”SSID”,”PASSWORD”」コマンドでアクセスポイントに接続
シリアルモニタに「WIFI CONNECTED , WIFI GOT IP」と表示されたら、無事アクセスポイントに接続して、IPを取得することができました。
あとは、同じアクセスポイントに接続している別のPCなどからpingコマンドなどで接続ができているか確認できればwifi接続のテストが完了です。

図8 別のPCからESP-WROOM-02に対して接続テスト(ping送信)
まとめ
wifi通信のテストも終わり、これで実装の準備が整いましたね!次回からは、いよいよESP-WROOM-02を使ってArduinoプログラムを書き込んでデバイスの作成を行っていきます。
また、前回と今回に分けてESP-WROOM-02の準備をいろいろとしてきましたが、この準備は置いておいて早くESP-WROOM-02を使ってArduinoを動かしたい!という方もいらっしゃるかもしれません(私もその一人です)。そんな要望が多い中、10月23日にスイッチサイエンスさんからUSB接続が可能でシリアル変換モジュールも搭載されているESP-WROOM-02の開発ボードが販売されました。手軽にESP-WROOM-02で開発を試してみたいという方は、是非手に取って試してみてください。

写真5 ESP-WROOM-02開発ボード
この連載の記事
- 第32回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(準備編)(このページの記事)
- 第33回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Wifi通信テスト編)
- 第34回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Arduino利用編)
- 第35回 Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(Arduinoでwifi利用編)
- 第36回 Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(IFTTTで手軽にIoT編)