できること

第33回 Arduinoで使える小型WifiモジュールESP-WROOM-02でガジェットを作る(Wifi通信テスト編)

※この記事は2015年11月30日に公開した記事を再編集し、2022年2月4日に再度公開しました。

1-P1210061

 

目次

  1. 今回の電子工作レシピ
  2. ESP-WROOM-02の接続と電源投入
  3. ESP-WROOM-02をATコマンドで操作してみる
  4. まとめ

 

今回は、前回設定したESP-WROOM-02に実際に電源を入れてwifi通信のテストをします。購入時のESP-WROOM-02にはそのままでwifi通信などのテストができるように、Arduinoのシリアルモニタなどを通じて「ATコマンド」というコマンドを使って操作をすることができます。今回は、このATコマンドを使って、接続できるアクセスポイントの一覧表示と、実際にアクセスポイントにつなぐところまで取り組んでみたいと思います。

今回の電子工作レシピ

時間目安:60分
必要なパーツ

 

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の配線

写真1 ESP-WROOM-02の配線

写真2 電流を計測すると70mA程度を計測

写真2 電流を計測すると70mA程度を計測

 

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

写真3 ロジックレベル変換モジュール

写真3 ロジックレベル変換モジュール

 

ESP-WROOM-02をATコマンドで操作してみる

ESP-WROOM-02に電源をいれたら、動作を確認していきます。ESP-WROOM-02は購入時はATコマンドで動作を確認できるモードになっていますので、Arduinoのシリアルモニターを使って、動作を確認していきます。

今回利用するArduinoは1.6.6(11月5日時点の最新版)を利用します。

<1>はじめにArduinoを起動して「ツール」-「シリアルモニタ」を選択してシリアルモニタを表示してください。

図1 上メニューの「ツール」-「シリアルモニタ」を選択

図1 上メニューの「ツール」-「シリアルモニタ」を選択

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

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

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

 

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

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

 

図2 シリアルモニタ上にESP-WROOM-02からのメッセージが表示

図3 リセットボタンを押すと無事にシリアルモニタ上にESP-WROOM-02からのメッセージが表示される

 

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

 

図4 「AT」コマンドをESP-WROOM-02に送信

図4 「AT」コマンドをESP-WROOM-02に送信

 

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

 

図5 「AT+GMT」コマンドで設定情報を確認

図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」コマンドでアクセスポイント一覧を表示

図6 「AT+CWLAP」コマンドでアクセスポイント一覧を表示

 

無事一覧が表示されたら、「AT+CWJAP」コマンドでアクセスポイントに接続します。

コマンドの引数にSSIDとパスワードを設定することで、接続したいアクセスポイントを指定することができます。

 

図7 「AT+CWJAP="SSID","PASSWORD"」コマンドでアクセスポイントに接続

図7 「AT+CWJAP=”SSID”,”PASSWORD”」コマンドでアクセスポイントに接続

シリアルモニタに「WIFI CONNECTED , WIFI GOT IP」と表示されたら、無事アクセスポイントに接続して、IPを取得することができました。

あとは、同じアクセスポイントに接続している別のPCなどからpingコマンドなどで接続ができているか確認できればwifi接続のテストが完了です。

 

図8 別のPCからESP-WROOM-02に対して接続テスト(ping送信)

図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開発ボード

写真5 ESP-WROOM-02開発ボード

 

この連載の記事

アバター画像

電子工作や新しいデバイスをこよなく愛するエンジニア。日常生活のちょっとしたことを電子工作で作って試して、おもしろく過ごしたいと日々考えています。

NHK学生ロボコン2018