認識 ESP8266 開發板


ESP8266 是以 WiFi 為基礎的開發板,在介紹 ESP8266 之前,我們先來了解一下什麼是 WiFi。
WiFi 依循 IEEE 802.11 的規範,第一個版本發表於 1997 年,它定義了存取控制和實體層。
802.11,只使用 2.4 GHz,最快 2 Mbit/s
802.11b,只使用 2.4 GHz,最快 11 Mbit/s
802.11g/a,分別使用 2.4 GHz 和 5 GHz,最快 54 Mbit/s
802.11n,可使用 2.4 GHz 或 5 GHz,最快 72 和 150 Mbit/s

ESP8266 開發板的種類非常多,有 ESP-01S、ESP-07S、ESP-12E、ESP-12F、ESP-12S、WROOM-02、NodeMCU、D1 R2、D1 Mini等…,要如何選擇呢?


Q1.有無金屬屏蔽罩?

若是設計成品販售,選擇有金屬屏蔽罩的(如 ESP-07S、ESP-12E、ESP-12F、ESP-12S),且已經通過 FCC CE 認證,是比較方便的,不用自己再去認證。


Q2.天線的款式

  • 內建天線,印刷電路板(PCB)佈線來實現的天線(如 ESP-01S、ESP-12S)。
  • 自行換替天線,預留 IPEX 天線座(如 ESP-07S)。

Q3.GPIO 腳位數

  • ESP8266 提供的 GPIO 腳位最多 13 個,分別是 GPIO0~5 /9/10/12~16,消失的 GPIO 6~8/11 是 SPI 腳位,用於外接 512KB、1MB、4MB 的 Flash。
  • ESP-01S 開發板有 2 個 GPIO 腳位引出。
  • ESP8266 D1 Mini 開發板有 11 個 GPIO 腳位引出。
  • NodeMCU 開發板有 13 個 GPIO 腳位引出。

Q4.Flash 的容量

ESP8266 晶片沒有儲存韌體的空間,必須外接一個 SPI 介面的 Flash 來儲存。如果不更新韌體,或只是用 UART的方式和 ESP8266 作通訊,就不需要在意 Flash 的容量。若有更新韌體的需求,或是直接把 ESP8266 當作 MCU使用,請選擇 Flash 容量大的,以便未來有修改、擴充的空間。


ESP8266 的開發方式有 4 種:

(1)AT 指令:透過 UART 直接下達 AT 指令進行操作。比較常見的像是以 Arduino 為主要核心,透過 Rx/Tx 控制ESP8266 進而擴展其無線連網能力。
(2)NodeMCU:使用 LUA 語言進行開發,並且直接將程式燒錄在 Flash 中,這樣的好處是完全不用依賴 Arduino、8051 等這類的單晶片。
(3)Arduino IDE:將原生的 SDK 重新改寫支援 Arduino IDE 環境, 就像在寫 Arduino 一樣。因為核心都是 C/C++,但重新包裝並提供多樣的 API 讓原本就會撰寫 Arduino 的人可以無痛轉移到 ESP8266。同樣是將程式直接燒錄在 Flash 中,不用依賴其他的單晶片。
(4)原生的 SDK:由上海樂鑫提供的 SDK,透過 C/C++ 直接撰寫。這個難度最高級。