Arduino
ESP8266
ESPr_Developer

ESPr DeveloperにESP8266 Arduino Core 2.4.0を使ってスケッチを書き込んだら不具合が起きた時の直し方

ESP8266 Arduino Core 2.4.0の不具合

ESPr DeveloperをArduinoでプログラミングする場合、通常ArduinoのボードマネージャからESP8266 Arduino Coreを使います。
ところが、つい最近(2018/1/30現在)リリースされたバージョン2.4.0をインストールした場合、このバージョンでコンパイルしたスケッチをESPr Developerに書き込んだところ、2.3.0のときまで問題なく動いていたものが正しく動かなくなりました。

不具合の事例

2.4.0を使ったらこんな不具合が起きました。

  • 電源を供給した後、明示的にESPr Developer本体のリセットボタンを押さないと起動しない。
  • WiFi.mode(WIFI_STA)のあとにint n = WiFi.scanNetworks()とした場合、アクセスポイントが見つかればn1以上になるはずなのに、常に0になってしまう。WiFi.begin()なども失敗する。

直し方

2.4.0で動きがおかしくなったときにはこうします。

  • ボードマネージャでesp8266 by ESP8266 Communityのバージョン2.4.0rc1をインストールする。
  • 当該スケッチを書き込み直す

特に2.4.0にしてからWi-Fi接続がうまくいかない場合には、いきなり以前使っていた2.3.0に戻しても症状は変わらず、2.4.0rc1にして再度スケッチを書き込むことでのみ復旧させること出来ました。
(他にesptoolでフラッシュを書き換える方法があるのかも知れませんが試していません)