Arduino IDEでWA-MIKAN(和みかん)のESP8266をプログラミングする　環境インストール編

　ESP8266搭載のWiFi基板WA-MIKANはGR-CITRUS用のWiFi基板として売られていますが、WA-MIKAN単独でもArduino IDEを用いて単独で開発できるように設計されています。そこでWA-MIKANをArduino IDEのESP8266開発環境を用いてプログラミングする方法について説明します。主に開発環境のインストールの話になります。ただし、OSはWindows 7です。
　最初に使用するツールを書いておきます。

1. gitが使える環境用意してください。
1. python 2.7 を使います。Pythonを使わなくてもESP8266開発環境をインストールできるのですが、Pythonをインストールしておいた方が後々便利のような気がするのでインストールします。

 インストールのステップは、

1. Arduino IDE 1.6.13のインストール
2. Python 2.7のインストール
3. ESP8266ボードマネジャのインストール
4. Arduino IDEへのESP8266ボード設定
 
という順番になります。説明が長くなりますので、[Arduino IDEからWA-MIKANにプログラムを書き込む説明](http://qiita.com/tarosay/items/42d7bcac31d93062ffa6)は別解説にしたいと思います。
## WA-MIKAN(和みかん)とは
　WA-MIKANはESP8266搭載のWiFi基板です。[WA-MIKAN(和みかん)の説明](https://github.com/wakayamarb/wa-mikan)はgithubにまとめています。
## WA-MIKANとPCの接続
　WA-MIKANとUSBシリアル変換基板を接続するには、下の写真のように端面の6ピンに端子を付けると市販のものが直接接続できるようになります。ただし、電源電圧が3.3Vになっているので、5Vが供給されるUSBシリアル変換基板は接続できません。
　どうしても接続したい場合は、[WA-MIKAN(和みかん)とUSBシリアル変換キットを接続する方法](http://qiita.com/tarosay/items/0744055468cd0248def3)を参照してください。
![26.png](https://qiita-image-store.s3.amazonaws.com/0/32065/809abed5-7a70-3adb-8733-3570c3e302b4.png)
## Arduino IDEのインストール
　まずはArduino IDEをWindows7にインストールします。

* 参考サイト : [Arduino IDE に Staging(Stable)版ESP8266 ボードをインストールする方法](https://www.mgo-tec.com/esp8266-board-install01-html)

　[Arduinoのサイト](https://www.arduino.cc/en/Main/Software)に行って、arduino-1.6.13-windows.exeをダウンロードします。Aduino IDE 1.6.13でWA-MIKANのESP8266への書き込みは出来ました。
　arduino-1.6.13-windows.exeを実行します。「I Agree」します。
　![01.png](https://qiita-image-store.s3.amazonaws.com/0/32065/ab66c8d4-ceeb-cb55-cb88-c499fb63ad9c.png)
　とりあえず、全てインストールします。
　![02.png](https://qiita-image-store.s3.amazonaws.com/0/32065/5036ede1-a226-c74c-3189-6477a64b05a7.png)
　インストール場所ですが、「C:\Program Files (x86)」にインストールすると後々面倒なことになりそうなので、自分で作成した「C:\User_Install_Programs」というフォルダ内にインストールしました。
　![20.png](https://qiita-image-store.s3.amazonaws.com/0/32065/e31f945f-d38f-f093-8098-0f03128b3513.png)
　それ以外は、特に何も変更しないでインストールしました。Windowsセキュリティが、何回かUSBドライバをインストールするかどうか聞いていたので、今後使うかもしれないので全て「インストール」にしました。
## Arduino IDEの起動
インストールが終わったのでArduino IDE 1.6.13を起動してみます。Windowsセキュリティがファイヤーウォールを許可するか聞いてくるので許可しました。どこかで使うのでしょう。
　![08.png](https://qiita-image-store.s3.amazonaws.com/0/32065/601a165a-61f3-3955-be31-ac9f436bba4f.png)
　無事Arduino IDE 1.6.13が起動しました。
　![09.png](https://qiita-image-store.s3.amazonaws.com/0/32065/cc28b009-865c-e863-c5f7-d9f951ea9080.png)
## Python 2.7のインストール
　Python2.7をインストールします。

* 参考サイト[http://www5f.biglobe.ne.jp/~nobml/ninix/2_python.html](http://www5f.biglobe.ne.jp/~nobml/ninix/2_python.html)

　[pythonのサイト](https://www.python.org/downloads/)に行って、python-2.7.12.msi をダウンロードします。ダウンロードが終了したら、python-2.7.12.msi を実行します。今回は、特に何も変更しないでインストールしました。
　![10.png](https://qiita-image-store.s3.amazonaws.com/0/32065/12f03ce5-8023-1dad-48d3-1a8adf8fde56.png)
　Nextで進みます。
　![11.png](https://qiita-image-store.s3.amazonaws.com/0/32065/caa9404a-30aa-968e-8c84-337e958877d0.png)
　Nextで進みます。
　![12.png](https://qiita-image-store.s3.amazonaws.com/0/32065/13f1ab27-868a-615e-0c0f-72d18b218346.png)
　Nextでインストールが始まります。
　![14.png](https://qiita-image-store.s3.amazonaws.com/0/32065/ad52ed87-f24e-0bdd-d817-b1e3eca4e3f1.png)
　インストールが終わるとFinishと出ます。
## Pythonを使うためのWindows環境変数設定
　Windowsのシステムプロパティの環境変数を設定します。
　![15.png](https://qiita-image-store.s3.amazonaws.com/0/32065/a19be051-8119-4766-8b3c-5e05e159b81b.png)
　PathにC:\Python27;を追加します。
　![16.png](https://qiita-image-store.s3.amazonaws.com/0/32065/5a25c35b-fc81-50bd-6675-4fd78fef0c09.png)
　環境変数「PYTHONPATH」を作成します。
　![19.png](https://qiita-image-store.s3.amazonaws.com/0/32065/1552a3d7-f34b-41db-e32d-eada324f6ecd.png)
　PYTHONPATH に、C:\Python27\Lib\site-packages をセットする。 
　![18.png](https://qiita-image-store.s3.amazonaws.com/0/32065/5b58e43b-132a-ac93-e260-c0b0d8fae336.png)
　これでPython 2.7のインストールは終了です。試しにコマンドプロンプトからPythonのバージョンを見てみましょう。以下のようになると思います。

```
$ python --version
Python 2.7.12

$
```

## Arduino IDEにESP8266開発環境のインストール
　次にArduino IDEにESP8266のボードマネジャをインストールします。[ESP8266の開発関係一式](https://github.com/esp8266/Arduino)はgithubにあります。ここの[README](https://github.com/esp8266/Arduino/blob/master/README.md)に従ってインストールしていきます。このときにgitとPythonを使います。
　gitが使えるコマンドプロンプトを立ち上げます。そして、先にインストールしたArduinoの開発ツールのC:\c\User_Install_Programs\Arduino\hardware フォルダに移動して、esp8266comフォルダを作成して移動します。

```
$ pwd
/c/User_Install_Programs/Arduino/hardware

$ mkdir esp8266com

$ cd esp8266com
```
　Arduino.git を esp8266としてcloneします。

```
$ git clone https://github.com/esp8266/Arduino.git esp8266
Cloning into 'esp8266'...
remote: Counting objects: 13788, done.
remote: Total 13788 (delta 0), reused 0 (delta 0), pack-reused 13788
Receiving objects: 100% (13788/13788), 34.52 MiB | 1.24 MiB/s, done.
Resolving deltas: 100% (7936/7936), done.
Checking connectivity... done.
```
　次にPythonを使ってesptoolなど一式を取ってきます。esp8266/toolsフォルダに移動して、get.pyを実行します。

```
$ cd esp8266/tools

$ python get.py
Platform: i686-mingw32
Downloading esptool-0.4.9-win32.zip
Done
Extracting dist/esptool-0.4.9-win32.zip
Renaming esptool-0.4.9-win32/ to esptool
Downloading win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
Done
Extracting dist/win32-xtensa-lx106-elf-gb404fb9-2.tar.gz
Downloading mkspiffs-0.1.2-windows.zip
Done
Extracting dist/mkspiffs-0.1.2-windows.zip
Renaming mkspiffs-0.1.2-windows/ to mkspiffs

$
```
　これでArduino IDEのESP8266開発環境のインストールが終了しました。
## Arduino IDEの設定
　最後に、Arduino IDEの環境をESP8266用に設定する必要があります。まずはボードに「Generic ESP8266 Module」を選びます。
　![22.png](https://qiita-image-store.s3.amazonaws.com/0/32065/9324215c-8a51-5d5a-67f3-c50ec609190d.png)
　ボード以下のパラメータは下図のように設定しました。
　![27.png](https://qiita-image-store.s3.amazonaws.com/0/32065/86fa8ba5-ecdb-97ea-33e8-9dbf90dedae4.png)

* Flash Mode: "QIO"
* Flash Frequency: "80MHz"
* CPU Frequency: "160MHz"
* Flash Size: "4M (3M SPIFFS)"
* Debug port: Disabled"
* Debug Level: "なし"
* Reset Method: "ck"
* Upload Speed: "256000"
* シリアルポート: "COM15"

　Upload Speedは、921600でも512000でも書きこみ出来ますが、よく失敗するので256000にしています。これでも失敗する場合は115200などに落としてください。
　また、シリアルポートはお使いのPC環境によって違います。
　これで、開発環境のインストール作業は全て終了しました。