【ESP-WROOM-02】【電子工作】ATコマンドを使うまで
ESP-WROOM-02を買いまして。
使えるようにセットアップします。
1.そもそもESP-WROOM-02とは?
まぁ、こちらを御覧ください。
親指サイズでWiFi通信を実現し、クライアントとしてはもちろん、Webサーバとして動かすこともできる優れものとのこと。
例えば、人感センサと組み合わせて外に設置し、訪問者があればWiFi通信で部屋の中のサーバを介してツイートできる、とかいろいろできるようになります。
何よりの魅力は1000円以下で購入できるということです。
2.準備するもの
-
ブレッドボード
-
ジャンパーコード(オスーオス)
-
抵抗(10kΩ)
- ピンヘッダ
- ハンダごて
3.接続
※いつもどおりFritzingで作ろうと思ったものの、パーツが見つからず・・・。写真と文章で残します。
私が買ったものはスイッチサイエンスさんのESP-WROOM-02ピッチ変換済みモジュール《フル版》 でして、これにはまずピンがついていないため、ピンヘッダのハンダ付けが必要になります。(※初ハンダ付け)
ハンダ付けが問題なく終われば、次はブレッドボードによる接続です。
先人たちのものを参考にしたものの、ピン配置には苦戦しました。
それでもポイントとなるものがいくつか有りまして、
- ESP-WROOM-02にはファームウェアへの書き込みモード(UART Download Mode)と実行モード(Flash Boot Mode)がある。
- モード変更の鍵をにぎるのは「IO15」「IO2」「IO0」の3つ
- 2のそれぞれには10kΩの抵抗を挟み、Pull Up、Pull Down接続をさせなければならない
- 「EN」もPull Upで接続しなればならない(10kΩの抵抗を挟む)。
ピンアウトについては、ESP-WROOM-02を使ってみる : Eleclog.さんで図で整理されているため、こちらが参考になります。
というわけで、下手くそですが私が設定した配線は以下のとおりです。
なお、USBシリアル変換アダプタは3.3Vでジャンパピンを設定しておきましょう。
USBシリアル変換アダプタ <-- --> ESP-WROOM-02
---------------------------------------------------------------------------
VCC <-- --> 3.3V
VCC <-- 抵抗(10kΩ) --> EN
TX <-- --> RXD
RX <-- --> TXD
GND <-- 抵抗(10kΩ) --> IO15
VCC <-- 抵抗(10kΩ) --> IO2
VCC <-- 抵抗(10kΩ) --> IO0
※上記のIO0をVCCに繋げれば実行モード。GNDに繋げれば書き込みモードになります。写真はVCCに繋げているので実行モードで動きます。
なお、Arduinoマイコンとしても使える小型WifiモジュールESP-WROOM-02を使ってみる(準備編) | Device Plus - デバプラで紹介されているように、ジャンパピンで制御できる形のものが販売されていますので、その場合は配線が上記と異なります。
※USBシリアル変換アダプタは、何もしていないとUSBをWindowsに接続しても認識されないため、ドライバを入れる必要があります。以下を参照。
FTDIのUSBシリアル変換器のドライバのインストール法(1) - しなぷすのハード製作記
3.Arduino IDEの設定
こちらのサイトを参考に。
技適済み格安高性能Wi-FiモジュールESP8266をArduinoIDEを使ってIoT開発する為の環境準備を10分でやる方法 - Qiita
ボード設定は、「Generic ESP8266 Module」を選択していれば問題ないと思います(たぶん)。
4.Arduino IDEのシリアルモニタでATコマンドを実行してみる
シリアルモニタを起動してATコマンドを実行します。
なお、ATコマンドはピン設定が実行モード(Flash Boot Mode)になっていないと実行できません。
AT、AT+GMRとコマンドを打ってみます。
ただし、右下の改行設定とビットレートをそれぞれ「CRおよびLF」、「115200bps」にしないと正常に動きません。
配線が問題なければ、上記のように応答が返ってきます!
5.ファームウェアのアップデート
4の画像を見ればわかりますが、ATバージョンが0.25、SDKバージョンも1.1.1となっていることから、現行バージョンより若干古いです。
ので、アップデートをします。
アップデートの際には書き込みモード(UART Download Mode)に変更し忘れないように。
参考サイト:ねむいさんのぶろぐ | ESP-WROOM-02を使ってみる2 -外付けSPIフラッシュの書き換え-
以下のサイトから必要なモノを取得してきます。
FLASH_DOWNLOAD_TOOLS_v2.4_150924.rar:http://bbs.espressif.com/viewtopic.php?f=5&t=433
esp_iot_sdk_v1.4.0_15_09_18.zip:http://bbs.espressif.com/viewtopic.php?f=46&t=1124(ファイルは下の方)
FLASH_DOWNLOAD_TOOLSを実行すると以下の様な画面になるため、参考サイトを見ながら設定を行います。で、実行
bin\boot_v1.4(b1).bin:0x0
bin\at\1024+1024\user1.2048.new.5.bin:0x1000
bin\blank.bin:0xFE000
bin\esp_init_data_default.bin:0x3FC000
bin\blank.bin:0x3FE000
書き込み中はコンソールで以下のように表示されます。
Erasing flash...
head: 1 ;total: 1
erase size : 4096
Writing at 0x00000800... (0 %)
Leaving...
Erasing flash...
head: 15 ;total: 69
erase size : 221184
Writing at 0x00045000... (95 %)
Leaving...
Erasing flash...
head: 1 ;total: 1
erase size : 4096
Writing at 0x000fec00... (97 %)
Leaving...
Erasing flash...
head: 1 ;total: 1
erase size : 4096
Writing at 0x003fc000... (97 %)
Leaving...
Erasing flash...
head: 1 ;total: 1
erase size : 4096
Writing at 0x003fec00... (98 %)
Leaving...
com closed
正常に書き込みが完了すれば「Finish」と表示されます。
再度、ATコマンド実行のため、実行モード(Flash Boot Mode)にピンを変更し、シリアルモニタからコマンドを実行します。
AT、SDKともにバージョンがアップされました!