在 Arduino IDE 環境安裝 ESP8266 開發外掛

參考來源:
1. https://github.com/esp8266/Arduino
2. https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-arduino-ide
3. http://www.wemos.cc/wiki/doku.php?id=en:arduino_get_started

1.請先下載 Arduino 開發環境
下載點:https://www.arduino.cc/en/Main/Software

2.設定ESP8266外加板之安裝資訊
工具列 -> 檔案 -> 偏好設定 -> Additional Boards Manager URLs
貼上:http://arduino.esp8266.com/stable/package_esp8266com_index.json

3.安裝外掛
工具列 -> 工具 -> 板子 -> Boards Manager
搜尋:ESP8266
選擇 esp8266 by ESP8266 Community 並安裝

4.設定板子及通訊埠
nodeMCU:工具列 -> 工具 -> 板子 -> NodeMCU 1.0 (ESP-12E Module)
ESP-01:工具列 -> 工具 -> 板子 -> Generic ESP8266 Module (通用型)
通訊埠:工具列 -> 工具 -> 序列埠 -> COMXX

5.編寫測試程式
NodeMCU
NodeMCU

void setup() {
  pinMode(2, OUTPUT);
}

void loop() {
  digitalWrite(2, HIGH);
  delay(500);
  digitalWrite(2, LOW);
  delay(500);
}

6.上傳程式碼
步驟一:先切正常/燒寫模式。
正常模式 => GPIO0 = 1或空接
燒寫模式 => GPIO0 = 0

步驟二:重置(RESET)或電源重啟
RESET為低電位動作

控制時序:
t0:RESET=1、GPIO0 = 1或浮接 // 常態
t1:RESET=1、GPIO0 = 0    // 切換燒寫模式
t2:RESET=0、GPIO0 = 0    // 重置
t3:RESET=1、GPIO0 = 1或浮接 // 回到常態
按下【上傳】鍵,開始編譯並上傳

請注意,觀察t1、t2感覺上直接將RESET、GPIO0同時為0,應可切換到燒寫模式。
但實際上卻無法辦到,必須GPIO0先設為0,再將RESET設為0。
若要同一個控制訊號控制,也可搭配電阻(10K)、電容(0.1u)延遲電路。

有關這類研究文章可參考:
Adafruit HUZZAH ESP8266 (ESP-12)
ESP8266 Reset and CH_PD pins for FTDI auto reset