ESP-WROOM-02を使ってみよう

Last-modified: 2015-10-23 (金) 00:00:42

ことのおこり

1000円程度の格安WiFiモジュール。

用意するもの

[[]]

接続と設定

ハードウェアの接続は以下のとおり。USBシリアル変換モジュールの出力電圧はTTLレベル(RS232Cレベル=±12V ではない)

FT232RLESP-WROOM-02
GNDGND
TXDRX
RXDTX

FT232RLモジュールは3.3VをVccとして出力できるが、ESP-WROOM-02は送信時(電源投入時も?)電流を食うらしいので、念のために外部電源を使用する。今回は3.3V1AのACアダプタを使用している。

ESP-WROOM-02

VCC3.3V ACアダプタ
ENHIGH
/RSTHIGH
IO15LOW
IO0HIGH
IO2HIGH

{IO0, IO2, IO15} でモードの設定をする。

IO0IO2IO15用途
GNDHIGHGNDFlaah書き込み

IO0がGNDでないと書き込めない。

また、書き込む前に、nRSTか EN をいったん GND にしてからでないと書き込みに失敗する。
nRSTは、物理的にタクトスイッチをつける。
ENは書き込み器 FT232RL に接続して、HIGH/LOW を制御したいところであるが、arduino IDE を使う前提だとFT232RLのGPIOの制御が難しそう。

なので。取り敢えずはリセットボタンをいったん押してから、arduino IDE の書き込みボタンを押す。

毎回コンパイルが走るのはいかがなものか。

調歩同期通信の設定

data8bit
paritynone
stop bit1
bps115200

ターミナルの設定

改行コードCR+LF

 通信テスト

ESP-WROOM-02で使えるATコマンドはこちら

使用例:
接続できているかの確認。

AT
OK

ファームウェアのバージョンを表示。

AT+GMR
AT version:0.25.0.0(Jun 24 2015 18:02:27)
SDK version:1.1.2
compile time:Jun 24 2015 18:15:29
OK

再起動(リセット)。

AT+RST
OK
ets Jan  8 2013,rst cause:1, boot mode:(3,0)
load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0
2nd boot version : 1.4(b1)
 SPI Speed      : 40MHz
 SPI Mode       : QIO
 SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000
ru・
ready

WiFi の設定

うまくいっているみたいなので、WiFiの設定に入る。(SSIDとパスワードは実際の値を入力する)

AT+CWMODE=1
OK

MODE

1staitionモード
2APモード
3softAP+stationモード
AT+CWJAP="WiFiルータのSSID","パスワード"
WIFI CONNECTED
WIFI GOT IP
OK

WiFiルータから割り振られたIPを表示。(IPとMACの値はWeb表示用のダミー)

AT+CIFSR
+CIFSR:STAIP,"192.168.100.100"
+CIFSR:STAMAC,"12:34:56:78:9a:bc"
OK

 ファームウェアのアップデート

間違えてファームウェアを壊したときに復旧することも考え、アップデート方法の調査。

ねむいさんの記事。多謝。

AT+GMR で、ATバージョンが0.25から0.50に更新できたことを確認した。

ファームウェアを更新した直後だと、アクセスポイント AP のIP設定できていたが、クライアント(station)のIPは設定されていなかった。(当然か)。
AT+CWJAP コマンドで、自宅のWiFiルータのSSIDとパスワードを設定したところ、stationとしてのIPが設定されていることを AT+CIFSR コマンドで確認できた。