……という夢を見よう。
なんかいまいちATコマンドが使えたり使えなかったりするようなので、ファームウェアを更新してみたいものの、念のため購入時のファームウェアを引っこ抜いて保全しておきたい。
electrodragon.com の ESP Flash Download Tool の画面を見る限り、焼きこむことしかできなさそうなので、ESPToolを見てみると、 read_flash というコマンドがあって、これで引っこ抜けそうな感じなので、やってみる。
配線
ファームをやりとりするには、GPIO0 を GND に落としておく。
RST を GND にちょいっと落とすことでESPToolのコマンドを受け付けるようになる。
ESPToolで引っこ抜く
- pythonランタイムをpython.orgから入手してインストールしておく。
- easy_install pyserial とやって pyserialライブラリを取得しておく。
- ESPTool をダウンロードする。
- こんな感じで引っこ抜く:
esptool.py -p COM6 -b 9600 read_flash 0x000000 0x88ff original.bin
サイズは適当。0x88ffというのは、後述するファームのサイズよりちょっと多めの値。
中身は?
AT+GMR の応答が 0018000902-AI03
という文字列だったので、きっと ai-thinker firmware にある "ESP8266_AT_V00180902_04 (0018000902-AI03)_unconfirm version.bin" だろう、と思ってバイナリ比較してみたら、完全に一致する。
これで何かあっても元に戻せるね。