ESP8266のWebサーバ。
動いてくれたのは良いんだけど、一定間隔でExceptionが出るのが気持ち悪い。
参考にしたスケッチはmDNS_Web_ServerとAdvancedWebServerだけど
詳しく調べてみるとmDNS_Web_Serverの方は使わないので参考にしても意味がなかった。
というわけで、見直して不要なところを削ってみた。
・・・けど状況変わらず。
Arduino IDEにボードの情報を登録するときに、スイッチサイエンスの手順に沿って
古いバージョン(Ver.2)を入れた。
バージョンが古いのが原因かと思って、嫌々ながら最新版(2.7.2)を入れてみた。
コンパイルしてボードに送ったら、今までは出てこなかったメッセージが出てきた。
最大1044464バイトのフラッシュメモリのうち、スケッチが321488バイト(30%)を使っています。
最大81920バイトのRAMのうち、グローバル変数が35828バイト(43%)を使っていて、ローカル変数で46092バイト使うことができます。
esptool.py v2.8
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
File "C:\Users\※ユーザ※\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2/tools/upload.py", line 65, in <module>
esptool.main(cmdline)
File "C:/Users/※ユーザ※/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.2/tools/esptool\esptool.py", line 2890, in main
esp.connect(args.before)
File "C:/Users/※ユーザ※/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.2/tools/esptool\esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
最大81920バイトのRAMのうち、グローバル変数が35828バイト(43%)を使っていて、ローカル変数で46092バイト使うことができます。
esptool.py v2.8
Serial port COM5
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
File "C:\Users\※ユーザ※\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.2/tools/upload.py", line 65, in <module>
esptool.main(cmdline)
File "C:/Users/※ユーザ※/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.2/tools/esptool\esptool.py", line 2890, in main
esp.connect(args.before)
File "C:/Users/※ユーザ※/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.2/tools/esptool\esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
なんかコンソールに出てくる情報が全然違うし、
そもそもFatalError出てるし!
でも動いてるな。謎すぎる。
ログ(シリアルモニタ)にスケッチ内で出力させている情報が出てこない。
何故だ・・・。
やっぱり2.0に戻そう ということでESP8266関係のデータをアンインストールしてから
再び2.0をインストールする。
どっかにキャッシュを持っているようで、初回とは比べものにならないぐらいすぐに終わった。
同じスケッチをそのままコンパイルしてボードに送る。
問題なく転送完了。
しばらく放っておいたけど、定期的に出ていたExceptionが何故か出なくなった。
気持ち悪いけどま、良っか!