iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 12
1
IoT

30天入門智慧家庭系列 第 12

Day12 ESP8266

ESP8266

說到 Wifi DIY 模組,不可不提的就是由樂鑫信息科技生產 Wifi 晶片、Ai-Thinker 製造的 ESP8266-01 模組,常簡稱為 ESP-01,由於其價格相當低廉(約5~7美金),自從2014年推出之後,深受 Maker 喜愛,網路上的資源相當豐富,許多人為了此開發了燒錄用工具以及編寫語言,支援的語言有 C/C++、Python、Lua 。

除了 ESP8266晶片,樂鑫信息科技也生產了 ESP32晶片,是較 ESP8266 更高一階的產品,並內建藍芽,在 Maker 市場也相當活躍。

項目 ESP8266 ESP32
MCU 02:10 500
802.11 b/g/n Wi-Fi HT20 HT40
Bluetooth x Bluetooth 4.2 / BLE
Frequency 80 MHz 160 MHz
GPIO 17 36
Price $3 - $6) 36

ESP-01推出之後受到大家喜愛,之後也推出了其他模組 ESP-01、ESP-02、ESP03......ESP-14,依照不同用途有不同的規格,詳細的比較圖可以到這裡查看。

Source: https://www.open-electronics.org/the-esp-wifi-shield-the-best-value-for-money-and-low-energy-consumption/

ESP-01

ESP-01有兩個版本,藍色版本與黑色版本,以及 ESP-01s 版本,在使用時要知道自己是哪個版本,除了出廠時的韌體版本、Flash 大小不一樣之外,其餘硬體線路相似、程式可以共用。

項目 ESP-01 Old ESP-01 New ESP-01s
PCB 藍色 黑色 黑色
Flash 512KB 1MB 1MB
Blue LED on TX on TX on GPIO2
Red LED on Power on Power x


source: https://www.electroschematics.com/the-mighty-esp-01-adapter/

Source: https://nettigo.pl/products/modul-wifi-esp8266-01s-podlacz-arduino-do-sieci-bezprzewodowej

ESP-01的接線方式

ESP-01 接腳

ESP-01拉出了 8 隻接腳,扣掉 Vcc、Gnd 等必要接腳,只剩下 GPIO 0 與 GPIO 2 兩隻腳可以使用,算是較為簡易的版本。如果有其他接腳的需求,可以考慮將 ESP8266 的 17 隻接腳全拉出的 ESP12 模組。
ESP-01 可承受的電壓為 3.0 ~ 3.6 (V),一般我們會接到 3.3V,要注意的是不能接到 5V 會造成 ESP9266 過熱燒毀。

接腳 說明 接腳 說明
RXD Uart的Rx接腳、GPIO3 Vcc 3.3V 電源
GPIO0 GPIO0 RST Reset、接地時 reset。
GPIO2 GPIO2 CH_PD Chip Select、使用時要接 3.3V,否則 ESP8266 不會動作。
GND 接地 TXD Uart的Tx接腳、GPIO1


Source: https://circuits4you.com/2016/12/14/esp8266-pin-diagram/

ESP-01 一般模式

ESP8266 UART
VCC 3.3 V
CH_PD 3.3 V
RXD TXD
TXD RXD

ESP-01 燒錄模式

ESP8266 UART
VCC 3.3 V
CH_PD 3.3 V
RXD TXD
TXD RXD
GPIO0 Gnd
GPIO2 3.3 V

備註:GPIO2 預設有上拉電阻接到 3.3 V,理論上可以不接。如果燒錄時,顯示抓不到板子,可以嘗試接到 3.3 V。

ESP01 燒錄韌體

燒錄 ESP8266 的方式很多種。這裡我們使用 USB 轉 TTL 的模組連接到 ESP8266 再使用 Arduino IDE 燒錄我們想要的韌體。

  1. 準備好需要設備,並依照 ESP-01 燒錄模式接線。
    注意:
    • USB 轉 TTL 的晶片有很多種,常見的有 PL2303HX、CH340、CP210x...等,而 PL2303HX 仿製品很多,安裝驅動的時候原廠驅動會鎖仿製的晶片,最好是選擇其他晶片較為保險。
    • 燒錄時,ESP8266 所需的電流較大,若直接使用 USB 轉 TTL 上的 3.3V 會造成燒錄失敗,需要另外接電源。
  2. 打開 Arduino IDE,菜單 / 偏好設定,額外的開發板管理員網址打上:https://arduino.esp8266.com/stable/package_esp8266com_index.json
    https://ithelp.ithome.com.tw/upload/images/20190928/20120058J9MrrmsjkR.jpg
  3. 工具 / 開發板 / 開發板管理員,打上 ESP8266,並安裝。
    https://ithelp.ithome.com.tw/upload/images/20190928/20120058rA4p5bzs5e.jpg
  4. 檔案 / 範例 / ESP8266 / Blink,這裡我們找到最簡單的範例,先測試看看是否正常燒錄。
    https://ithelp.ithome.com.tw/upload/images/20190928/20120058VvvhDHxOUg.jpg
  5. 工具 / 開發板 / 選擇 Generic ESP8266 Module。序列埠選擇 USB 轉 TTL 的 Com Port。
    https://ithelp.ithome.com.tw/upload/images/20190928/20120058h06DDgtDCv.jpg
  6. 按下上傳,就完成囉。要測試時,需要將接線接回一般模式,並重新上電或是Reset。
    https://ithelp.ithome.com.tw/upload/images/20190928/201200584GPcqPyPeH.jpg

小結

今天介紹了一個 Maker 常用的 Wifi 模組 ESP8266,之後我們將拿它來製造一個簡易的智慧開關,並連接上 Home Assistant。


上一篇
Day 11 Home Assistant 架構
下一篇
Day13 MQTT
系列文
30天入門智慧家庭15

尚未有邦友留言

立即登入留言