ESP8266 Arduino 開発環境


## ESP8266開発環境の設定

[Arduino IDEのバージョンが2.3.3の場合を追記します。](#ide232の場合)- 20250301
[ESP8266記事一覧](https://www.webmidiaudio.com/npage321.html)

### ハードウェア

- 秋月電商にて以下のモジュールを購入しました。<br>
[Wi-Fiモジュール ESP-WR00M-02](http://akizukidenshi.com/catalog/g/gM-09607/)
- Wi-Fi モジュールを取り付ける基板は昨年Maker Faire で購入しました。<br>
[Universal ESPduino](http://ghz2000.com/wordpress/?p=878)
- USB変換モジュール（FT232RLチップ使用）<br>
[DEV-09873](https://www.switch-science.com/catalog/343/)

### 半田付け & 実装
ESP-WR00M-02をESPduinoに半田付けすします。ESPduinoには、USB変換モジュールを接続するピンが装備されていますので、そこにDEV-09873を差込ます。
何枚か写真を提示します。<br><br>
![IMG_2813.JPG](https://qiita-image-store.s3.amazonaws.com/0/58417/91501490-38f9-c775-5fb0-d738149050e1.jpeg)<br>
![IMG_2817.JPG](https://qiita-image-store.s3.amazonaws.com/0/58417/3f9b0aeb-c592-94f9-8853-b45fad05cc43.jpeg)<br>
![IMG_2819.JPG](https://qiita-image-store.s3.amazonaws.com/0/58417/048c77e0-84f6-4b7d-ee38-0c69af7b5409.jpeg)<br>
<br>

### Arduino IDEにボードを追加
Arduino IDE はVer 1.8.2 を使っています。1.0.x ではボードの追加のメニューができないようです。「ファイルメニュー」から「環境設定」を選択、<b>追加のボードマネージャ</b>に以下のURLをコピーします。その後OKを押します。

http://arduino.esp8266.com/stable/package_esp8266com_index.json

![環境設定.jpg](https://qiita-image-store.s3.amazonaws.com/0/58417/62685db2-1340-78a2-cbd2-4c7e0c5d9767.jpeg)

「ツールメニュー」⇒「ボード」を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58417/ae1f9b31-e51e-1046-3a83-ef881b5fdf56.png)

esp8266 を探して、バージョンを選択⇒~~2.2.0~~ 3.0
インストールを押します。

- 2019/1/21 現在、version 2.5.0 -beta2 というバージョンをダウンロードしました。
- 2021/7/29 現在、version 3.0 というバージョンをダウンロードしました。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/58417/9a73bdc5-b048-073e-9346-b7ef0fd67638.png)


最後に「ツールメニュー」⇒「ボード」から"Generic ESP8226 Module"を選択すればOKです。

![ボード.jpg](https://qiita-image-store.s3.amazonaws.com/0/58417/6fc52eca-36c0-26ba-3458-48a48a7ad344.jpeg)

### ドライバーのインストール
USB変換モジュールを使うためにドライバー（VCP Driver）をインストールします。

[VCP Driver](http://www.ftdichip.com/Drivers/VCP.htm)
私の環境では、Windows X86(32bit) 2.12.26 というドライバーでした。インストーラが付いて無いので、手動インストールが必要です。

### テストプログラム
GPIO0,1,2,3,4,5 をトグル動作をさせるプログラムを以下に示します。

```javascript:blink.ino
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
    pinMode(0, OUTPUT);
    pinMode(1, OUTPUT);
    pinMode(2, OUTPUT);
    pinMode(3, OUTPUT);
    pinMode(4, OUTPUT);
    pinMode(5, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(0, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(1, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(5, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(10);                       // wait for a second
  digitalWrite(0, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(1, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(5, LOW);    // turn the LED off by making the voltage LOW
  delay(10);                       // wait for a second
}
```

### スケッチの書き込みとリセット
- 書き込みの時にはディップスイッチが、HHLH です。
- リセットの時にはディップスイッチを、HLHH としてからリセットボタンを押します。

## IDE2.3.2の場合

ボードマネージャー（BOARDS MANAGER)を使うことで、各種ボードがインストールできます。

<img src ="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58417/4164f7c1-9e37-4943-b6ea-3f8e268868d7.png" width="240">

Board選択のメニューにesp8266が追加されます。いくつかのボード名が表示されます。ここでは、Genetec ESP8266 Moduleを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/58417/07959380-0916-451b-8773-883a7a2a4bc1.png)