2015年8月25日

ESP-WROOM-02を使ってみる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

たいへん出遅れました!
今更ながらESP-WROOM-02をゲットできたので、先人の日本語による資料の恩恵を受けながら、サクッと使ってみます。

ちなみに、aitendoで買いました。2個パックが1100円(税別)。
秋月電子だとbreakout boardが売って無くてつらいのですが、aitendoだと1個120円で売ってます。
スイッチサイエンスだとモジュールが1個あたり864円、ピッチ変換が162円なので、たぶんネットで買える店の中ではaitendoが最安っぽいです。10個以上買うと秋月の方が安くなりますが。(2015年8月25日現在)
#スイッチサイエンスさんは学校とかで買いやすいので、研究などで買うときは使ってます。

aitendo
Wi-Fiモジュール(技適マック付き/2PCS) [ESP-WROOM-02P] 1100円(税別)
WiFiモジュール変換基板(A) [IFB1518-A] 120円(税別)
WiFiモジュール変換基板(B) [IFB1518-B] 120円(税別)

秋月電子通商
Wi-Fiモジュール ESP-WROOM-02 [ESP-WROOM-02] 550円(税込)

スイッチサイエンス
ESP-WROOM-02 Wi-Fiモジュール 864円(税込)
ESP-WROOM-02ピッチ変換済みモジュール《フル版》 ボードのみ 162円(税込)
ESP-WROOM-02ピッチ変換済みモジュール《シンプル版》 ボードのみ 162円(税込)

さて、注文して届いたモジュールをbreakout board(ピッチ変換基板)にハンダ付けします。
今回はaitendoの変換基板(A)と(B)を1個ずつ買ったので、どっちも付けて比較。
温調ハンダごてだと引きハンダで綺麗に付けやすい。


ブレッドボードに刺すときは2枚を跨がせるか、基板の下をジャンパワイヤーで配線すれば良し。


上の写真では、LED(GPIO4)と気圧センサーLPS25H(SDA=GPIO12, SCL=GPIO14)を接続しています。
ボタンの青がRST、黄色がGPIO0に繋がっているので、黄色を押しながら青を押すとUART Download Modeに入ります。

あとは、先人たちの資料を読みながら、今回はArduino IDEでプログラムを書いていきます。

ググれば色々出てきますが、この辺りが参考になりました。
「ESP-WROOM-02」をArduinoで開発 - おかゆ日和
ESP8266 - ESP-WROOM-02 の Arduino 環境で I2C 制御 - Qiita
ねむいさんのぶろぐ | 技適マーク付きESP8266モジュール ESP-WROOM-02 を使ってみる

LEDのON/OFFをブラウザから操作するのは、サンプルのESP8266WiFi → WiFiWebServerで実現できました。
気圧計は、通常のArduino向けに書かれたコードと、WiFiWebServerを組み合わせて簡単に作れます。

気圧計LPS25HをArduinoで読み取るコードは以下が使えると思います。
Arduinoで遊ぶページ | 大気圧・温度センサモジュールの実験

Raspberry Piで読み取るコードを以前Pythonで書いていたので、これも処理の流れの参考にできるかな。
9SQ/raspi_lps25h.py | Raspberry PiとLPS25Hで気圧取得

ちなみに、I2CはSCLをGPIO14にすればSDAはどのピンでも良いみたいです。
上記Qiita投稿ではSDAをGPIO4に繋げてるみたいですが、私はGPIO12でも動きました。
データシートではGPIO2がSDAになってるんですが、ここは起動時にプルアップしないといけないので、使わなくていいなら使わない方が楽。

GPIOについては、4, 5, 12, 13, 14, 16が使えるよーっという投稿をどこかで見かけた気がしますが、実際には0, 2, 15, 1(U0TXD), 3(U0RXD)も使えます。
ただし、これらのピンは起動時、プログラミング時に使用するピンなので使う際は工夫が必要です。

というわけで、そういうのを踏まえてESP-WROOM-02用のPINOUT DIAGRAMを作ってみました。

PDF版ダウンロード (893KB)

修正ポイントがあったら、記事へのコメントなどで教えてください。
ライセンスはCC0です。(いろんな所で使いやすいように)
著者表記・バックリンク不要ですが、してくれたらそれはそれで嬉しいのでお好みでどうぞ。
※PDFへの直リンクはダメです。

続き→ ESP-WROOM-02でIoTデバイスっぽいものを作る(1)
続き2→ ESP8266のSSL clientについて
続き3→ ESP-WROOM-02でYoを送るボタンを作ってみた

1 件のコメント:

  1. PINOUT DIAGRAM、重宝しております。
    I2Cについてですが、SCLにも特に制約がないように思います。
    Wire.begin(SDA,SCL);で指定しますが、引数無しのWire.begin();とした場合、
    SDA=4, SCL=5 となり、そして問題なく動作しました。
    データシートには確かに14がSCLと書いてあるのでどうも解せません。何かご存知ないでしょうか。

    返信削除

記事へのコメントはいつも確認している訳ではないので、お返事が遅れる場合があります。
ご質問やご意見は twitter@9SQ へお送り頂けると早くお返事できると思います。