ESP8266 開発備忘録
昨年末に買ったESP8266 ESP-01モジュール(3個で$10)をやっと触ってみました。当初ESP-01モジュールはATコマンドベースでArduinoとシリアル通信してIoT(Webサーバ)を実現していましたが、今年の3月にはArduino IDEがこのマイコンに対応、またLuaインタプリターを内蔵したファームウェア NodeMCUも出ました。
ESP-01モジュールはFlash512Kと小さめだけど、80MHzで動作。RTOSなども実装できるみたいで将来のCDIシステムのプラットフォームによいかも。それにしても$3台は安いです。これ一個と単三電池2本でWebサーバができちゃうのですから。
この3つの環境で動作確認ができたので、備忘録。
⓪USB-TTL変換でパソコンと接続
①ファームウェアupdate (Windows)
②ATコマンド
③Arduino IDE for ESP8266
④NodeMCU
ESP-01モジュールはFlash512Kと小さめだけど、80MHzで動作。RTOSなども実装できるみたいで将来のCDIシステムのプラットフォームによいかも。それにしても$3台は安いです。これ一個と単三電池2本でWebサーバができちゃうのですから。
この3つの環境で動作確認ができたので、備忘録。
⓪USB-TTL変換でパソコンと接続
- ESP8266は3.3V仕様なのでV5かけると壊れるので注意が必要です。私の使っているUSB-TTL変換器もジャンパーで5V⇔3.3V切り替えができるのだけど、なんせ疑わしい中華製なのでTx信号が5V出てるかも?なので、3.3VZener Diodeで保護しておきました。
①ファームウェアupdate (Windows)
- GPIO0をLowにしてESPを起動
- esptool (Python2.7, Pyserial)で動作OK。下の画面はesptoolを使ってESP-01モジュールのMACアドレスを取得したところ。
- esp8266flasherで動作OK
- NodeMCUについてくるFlasher(64ビット)だけは通信いくのだけど、flash終了せず。(NG)
②ATコマンド
- 出荷時のファームウェアでは動作せず。
- ファームウェアを”AI-v0.9.5.0 AT Firmware.bin” (AI-Thinker製)にしたらOK。
- ATコマンドで自宅ルーターの設定を入れたら、外部との接続もOK。
③Arduino IDE for ESP8266
- Arduino IDE1.6.5にESP8266のボードを追加。外部のWEBに接続してデータを取得する サンプルプログラムも一発動作OK
- コンパイルしたプログラムはIDEでダウンロード可能。だけど、これでオリジナルのファームウェアを上書きしてしまうんです。もとに戻したい(いまさらATコマンドベースを使う人はいないかもしれないけど) 場合は、AT-Thinker製などのファームウェアをflashする必要あります。
④NodeMCU
- 最新版の0.9.6-devのファームウェアを導入して動作OK。
- GPIO0にLEDを接続して、WebからON/OFFできました。
- それにしてもLuaインタプリターがよくわからない。。。
別のUSB-TTL(FTDI232)を使用。
コメント