山姆的編程實作分享。。。

Sam Blog, Sam Sharing, Sam Studio

2020年3月5日

[Arduino][ESP8266] ESP8266 開發指南 – 硬體篇


[Arduino][ESP8266]
ESP8266 開發指南 – 硬體篇

ESP8266EX SoC

不管你拿到的ESP8266的控制板是哪家板廠做的,都有一個共同點,就是他板子上的主晶片都是下圖的
ESP8266EX 這顆 WiFi integrated SoC,所以要了解ESP8266的硬體組成,從ESP8266EX SoC 下手為佳。
Above figure is ESP8266EX Wi-Fi SoC Pin Layout which is from Espressif data sheet
Above figure is ESP8266EX Functional Block Diagram which is from Espressif data sheet


ESP8266EX硬體的主要參數


  • 802.11 b/g/n support 802.11 n support (2.4 GHz), up to 72.2 Mbps
  • Wi-Fi Mode:STA (Station) / AP (SoftAP)
  • Security:WPA/WPA2
  • Encryption:WEP/TKIP/AES
  • CPU:Tensilica L106 32-bit processor
  • Peripheral I/F:UART/SDIO/SPI/I2C/I2S/IR/GPIO/ADC/PWM
  • Operating Voltage:2.5 V ~ 3.6 V, Typical 3.3V
  • Operating Current Average value:80 mA
  • I/O  IMax: 12mA

WiFi mod, Encryption和 Security 事實上是軟體參數,因這顆SoC主推WiFi,所以我一併列上。
針對硬體的主要參數,我標註了3點。

第一點是32-bit processor,它是顆整合 WiFi 的SoC,
再加上32-bit processor運算能力比一般8-bit/16-bit processor快上不少,如此的兩項優點,
也就造就了高性價比,讓這顆SoC做的控制板在IoT的市場如此火熱。
第二項標註就是它的工作電壓 2.5V ~ 3.6V,也就說它的運作邏輯是CMOS不是 TTL,
而市面上的Arduino 模組卻大都是TTL的工作邏輯,使用ESP8266控制板也就少不了要做
電壓位準的轉換了,否則,輕則驅動不了TTL模組,運作不正常,重則燒壞IC腳位。
第三項標註就是它的I/O腳位輸出電流最大是12mA,請不要直接去驅動”類馬達”,
”需要大電流”的元件,會立馬燒給你聞香的!


ESP8266 Boards

了解了ESP8266EX SoC,接著就來看市面上容易取得的ESP8266的控制板。
市面上的控制板,基本上不外乎以下兩種控制板
個人不建議初學者使用ESP12這樣的板子,除非你的專案已經有雛形了,需要它面積小的優點,
否則建議你買”類NodeMCU”的板子,除了引出的接腳多,擴充性佳外,
最重要的是板上有顆3.3V的LDO,電壓穩定性佳;否則計畫初期,軟體還在建構中,
硬體不穩再來攪和,絕對會讓你痛不欲生。

ESP8266 NodeMCU  的主要參數以及腳位

我手邊的ESP8266 控制板就是 NodeMCU,在賣場上絕大多數也是這塊,所以就容我以這塊板子為例,
來解說ESP8266 控制板的主要參數以及腳位。
以下就是NodeMCU 在Arduino IDE Board Manager 要設定的參數

  • Board: “NodeMCU 1.0(ESP-12E Module)
  • Upload Speed: “115200”
  • CPU Frequency: “80MHz”
  • Flash Size: “4M (no SPIFFS)
  • Debug port: “Disabled”
  • Debug Level: “None”
  • IWIP Variant: “v2 Lower Memory”
  • VTables : “Flash”
  • Exceptions: “Disabled”
  • Erase Flash: “Only Sketch”

以下就是NodeMCU腳位配置
有了上面這張腳位配置圖,我覺得不夠,例如PWM腳位,每根GPIO都有支援? 中斷腳位呢 ?
所以,下面這張表就可與上圖相輔相成了
以上就是ESP8266 控制板硬體的主要特性。


感謝閱讀,文章若對你有幫助,請點個讚,謝謝!


延伸閱讀

[Arduino][ESP32][ESP8266] ESP32/ESP8266 support WiFi-Direct?
[Arduino][ESP8266] ESP8266 開發指南 – 開發環境設定篇
[Arduino][ESP8266] ESP8266 開發指南 – 軟體架構篇
[Arduino][ESP8266] ESP8266 開發指南 – 軟體架構篇


熱門文章