読者です 読者をやめる 読者になる 読者になる

うにの貝焼き

ただしうには食えない

安く買えるWiFiモジュールESP-WROOM-02で遊ぶ(NodeMCU書き込み編)

ESP-WROOM-02(ESP8266) 電子工作

ESP-WROOM-02(ESP8266)は技適付きWiFiモジュールとして最近売られ始めたけど割りと使える子なのでこいつで遊んでみたいと思う。一応こいつの特徴として

  • WiFiが付いている(IEE802.11 n/b/g)
  • 技適通ってる
  • 低消費電力(だいたい3.3Vで駆動して平均80mA)
  • 32bit MCU
  • SPI,UART,I2C,PWM,GPIO,ADコンなど付いているのでマイコンとして使える

ってな感じでこれ以外にもいろんな特長あったりして良い感じ。秋月とかAitendoで売ってるので手に入りやすい。見た感じではArduino IDEでプログラム書いてる人多いけど、自分は勉強がてらにNodeMCU使ってLuaで書いてみることにした。

ピンとの結線

最低限つなぐべきピンは以下のとおり。

ピン 説明
1.3V3 DC電源供給に必要。3.0~3.6Vで動作
2.EN モジュールのEnableピン。プルアップすること。
6.IO15 プルダウン必須。
8.IO0 ファームウェア書き込み時はプルダウンしなければ動作しない。通常はオープンにしておけば動作するけど不安ならプルアップしたほうがいいかも。
9.GND グランド
13.GND グランド
18.GND グランド

ファームウェア書き込み時やUART使うときは、「11.RXD」と「12.TXD」をシリアルアダプタにつなぐ必要がある。
ちなみに自分の場合はAitendoのこいつにピンソケット付けてこんな感じになったのでブレッドボード上に組みたい人はブレッドボートに組みやすい変換基板買ったほうがいいです。
f:id:Unicore32:20150921130249j:plain:w300

NodeMCUを書き込む

書き込む前に、「11.RXD」はシリアルアダプタのTXに、「12.RXD」はシリアルアダプタのRXにそれぞれ繋ぐ。自分が持っているAitendoのUSB2UART-CP2102のようにTXがRXでRXがTXって感じで逆になっているアダプタも一部あるのでその時は逆に差し替えれば動くはず。このシリアルアダプタだと電流不足で動かなかったので自分は直流電源で別途3.3V出力した。こいつだと電流不足にならないっぽい。あと、「8.IO0」をプルダウンすること。。

Windowsの場合はここからWin32Win64を選択してESP8266Flasher.exeをダウンロードする。ダウンロードが終わった実行する。Linuxの場合は(ここ)http://www.whatimade.today/flashing-the-nodemcu-firmware-on-the-esp8266-linux-guide/Macは分からないです。ググってください。 f:id:Unicore32:20150921134442p:plain COMポートが複数ある場合はWiFiモジュールと接続されているポートを選択してFlashをクリックする。上のようにモザイクかかって見えないけど本来なら、QRコードとかMACアドレスが出てくる。書き込みが終わると完了みたいな感じで表示されるので、ESP-WROOM-02の電源を落として「8.IO0」をオープンにする。

動作確認

今回はTeraTermで確認する。TeraTermで該当のCOMポートを選択して接続する。接続後にESP-WROOM-02を通電させて次のようになれば正しく書き込まれている。 f:id:Unicore32:20150921140056j:plain
表示されなくても、キー入力して文字が帰ってくれば書き込みができたはず。もし応答がない場合は、結線が間違っていることやシリアルアダプタが何かしらの影響で動作しないことが考えられるので繋ぎ直せば動作するはず。