WA-MIKAN(和みかん)をGR-CITRUSから使える状態に戻す方法

　[WA-MIKANをArduino IDEでプログラミングする方法](http://qiita.com/tarosay/items/42d7bcac31d93062ffa6)について書きましたが、一度、ArduinoIDEを用いてWA-MIKANに搭載されているESP8266の中身を書き換えてしまうと、GR-CITRUSからは使えなくなってしまいます。
　再び、GR-CITRUSから使えるように元に戻したくなったときに、元に戻す方法を書きたいと思います。
　ただし、完全に元には戻りません。WA-MIKANを購入したときにESP8266に入っていたATコマンドファームもバージョンアップを続けているので、最新のATコマンドファームに書き戻すことになります。
　私の環境がWindows 7なので、Windows上で行う場合について書きたいと思います。
## ESP DOWNLOAD TOOLのダウンロード
　どうもATコマンドファームはArduinoIDEを使ってESP8266に書き込む方法が公開されていないようです(もしかしたら無理なのかもしれません・・・？)。
　そこで、ESP8266にプログラムを書き込むWindows専用のツールを[Espressifのサイト](https://espressif.com/en/support/download/other-tools?keys=&field_type_tid%5B%5D=14)からダウンロードします。Windows以外のOSの場合はPython版があるようです。

* Flash Download Tools V3.4.4 (ESP8266 & ESP32) Windows PC V3.4.4 2016.11.14

をダウンロードしました。flash_download_tools_v3.4.4.zipを解凍すると中にESPFlashDownloadTool_v3.4.4.exeがあります。これを使ってATコマンドのファームを書き込みます。
## ATコマンドの最新ファームのダウンロード
　WA-MIKANに搭載しているESP8266に入っているATコマンドのファームは「ESP8266 NONOS SDK」というようです。NONOSは Non OS ということみたいです。これを[Espressifのサイト](https://espressif.com/en/support/download/sdks-demos?keys=&field_type_tid%5B%5D=14)からダウンロードします。

* ESP8266 NONOS SDK V2.0.0 20160810 NON-OS SDK V2.0.0 2016.08.10

をダウンロードしました。ESP8266_NONOS_SDK_V2.0.0_16_08_10.zipを解凍するとその中にATコマンドのファームが入っています。
## 書き込むファームの確認
　ここからは自己責任でお願いします。私も良くわかっていませんので、書き込みによってESP8266がおかしくなって壊れてしまうことがあるかもしれません。参考サイトを参考に書き込みを行っていきたいと思います。

* 参考サイト: [ESP-WROOM-02を使ってみる2　-外付けSPIフラッシュの書き換え-](http://nemuisan.blog.bai.ne.jp/?eid=215341)

　どのアドレスに何を書き込めばいいのか、ESP8266_NONOS_SDK\bin\at\README.mdを見てみます。FLASHサイズが32Mbit-C1のようなので、そこを見てみます。

```text:README.md
### Flash size 32Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x3fc000 (optional)
    blank.bin                   0xfe000 & 0x3fe000
```
　ここに出ているアドレスにそれぞれのファイルを書き込めばいいようですが、boot_v1.2+.binを書き込んでもESP8266はうまくブートしませんでした。boot_v1.6+.binの方を書き込むとブートしましたので、ここはboot_v1.6+.binを書き込むことにします。
## ESP Flash Download Tool v3.4.4の起動と設定
　ESPFlashDownloadTool_v3.4.4.EXEを起動します。ダウンロードツールの起動メニューが出てくるので、「ESP8266 DownloadTool」を選びます。
　![37.png](https://qiita-image-store.s3.amazonaws.com/0/32065/f50c959f-c009-5fa0-0301-77f5e4b3c28a.png)
　SpiFlashConfigの設定をします。

* SPI SPEED: 40MHz
* SPI MODE: QIO
* FLASH SIZE: 32Mbit-C1

を選びます。
　![38.png](https://qiita-image-store.s3.amazonaws.com/0/32065/a81337b0-2685-7b5e-45f2-61f7b42a2bd2.png)
　設定ファイルとアドレスは、

* boot_v1.6+.bin :            0x00000
* user1.2048.new.5.bin :      0x01000
* blank.bin :                 0xfe000
* esp_init_data_default.bin : 0x3fc000
* blank.bin :                 0x3fe000

を設定します。ボーレートは230400にしましたが、エラーになるようであれば遅くしてください。COMポートはCPによって違うのでそれぞれの環境に合わせてください。
　![39.png](https://qiita-image-store.s3.amazonaws.com/0/32065/114f00c2-07e6-f599-eabe-cc4069ce21da.png)
　これで「START」を押せば書き込みが始まります。
　書き込みを行う前に、WA-MIKANのJP1をショートしてリセットボタンを押すこと忘れないでください。
　![42.png](https://qiita-image-store.s3.amazonaws.com/0/32065/b1083a15-3a98-2d47-81c8-953ffc93d3cd.png)
　書き込みが始まるとSPIフラッシュメモリの情報がDETECTED INFOに表示されます。接続しているESP8266のMACアドレスも下の欄に表示されます。
　![40.png](https://qiita-image-store.s3.amazonaws.com/0/32065/f414dd9d-1760-4112-f866-3677a41a5669.png)
　プログレスバーが終了してESP8266 DOWNLOAD TOOLの後ろに出ているコマンドプロンプトに以下のように表示されていれば書き込み成功です。

```text
Wrote 4096 bytes at 0x003fe000 in 0.2 seconds (163.8 kbit/s)...
Leaving...
com closed
```
「STOP」を押して終了してください。これでATコマンドファームが書きこまれているはずです。
## バージョンの確認
　実際にWA-MIKANをシリアルコンソールにつないでバージョンを確認してみます。JP1のショートを外してリセットしたあと、Tera Termをつないでみました。
　![41.png](https://qiita-image-store.s3.amazonaws.com/0/32065/e6aa8615-e077-28c1-979a-a5569875b4e6.png)
　AT+GMRで、AT version:1.3.0.0、SDK version:2.0.0 となっています。これで最新のATコマンドファームに書き変わっていることが確認できました。
　以上がWA-MIKANに搭載されたESP8266に元のATファームを書き込む方法です。
## 最後に
 SDカードスロットを使用するためにJ17, J18, J19, J20をショートしている場合は、元に戻すことを忘れないでください。
　![43.png](https://qiita-image-store.s3.amazonaws.com/0/32065/eb968be4-1a06-4164-5118-3dc1a4be1851.png)