--
準備工具
根據晶片以及開發板情況不同,可能需要 3.3V 供電的 USB to TTL,另一種 4 pin 就只提供 5V 供電,使用上要注意
--
DataSheet
Hoyo 使用的 ESP32 模組是包含 Ethernet 的 WT32-ETH01 ,沒有內建 USB to TTL,ESP8266 則是產品化因此無法使用 NodeMCU 這類有內建 USB to TTL 的開發板。
有關如何燒錄上傳 DataSheet 其實都有說明,網路上 Google 的資料大多數都是不合用,例如使用了多餘的腳位控制,或是需要額外的控制電路,有可能是使用場景不同導致。
至少看 Hoyo 的資料可以保障可執行以及線路都是最精簡的
--
ESP-12F (ESP8266MOD) 燒錄硬體準備
- 3.3V 供電
- 接地
- RX -> TX
- TX -> RX
- IO0 -> 接地
- TTL USB 接上 USB
- RST 短接地
- 開始燒錄上傳
正常使用,IO0 斷開,RST 短接地重啟
--
ESP32 燒錄硬體準備
- 5V 供電
- 接地
- RX -> TX
- TX -> RX
- IO0 -> 接地
- EN 短接地
- 開始燒錄上傳
正常使用,IO0 斷開,EN 短接地重啟
--
ESP-12F (ESP8266MOD) 燒錄軟體
圖形介面
ESPTool.py 指令介面
- 安裝 Python 3 (Download Python | Python.org)
- 安裝 pip
- 安裝 serial module
- 安裝 pyserial module
安裝 pip
下載 get-pip.py (https://bootstrap.pypa.io/get-pip.py)
1 |
>python get-pip.py |
安裝 serial & pyserial module
1 2 |
>python -m pip install serial >python -m pip install pyserial |
--
ESPTool.py
上傳
1 |
>python esptool\esptool.py --port COM13 --baud 512000 write_flash -fm dio -fs 32m 0x0 led.ino.bin |
下載
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
>python esptool\esptool.py --port COM13 --baud 512000 read_flash 0x0 0x3fffff backup.bin esptool.py v2.8 Serial port COM13 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 2c:f4:32:70:ee:5b Uploading stub... Running stub... Stub running... Changing baud rate to 512000 Changed. 4194303 (100 %) 4194303 (100 %) Read 4194303 bytes at 0x0 in 88.1 seconds (380.9 kbit/s)... Hard resetting via RTS pin... |
Arduino 的上傳
1 |
python3 upload.py --chip esp8266 --port COM27 --baud 512000 --before default_reset --after hard_reset write_flash 0x0 led.ino.bin |
ESP-12F 和 ESP32 在使用 esptool.py 上並沒有很大的差異
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
>python esptool.py –-port COM4 --baud 921600 erase_flash esptool.py v2.8 Serial port COM14 Connecting........____ Detecting chip type... ESP32 Chip is ESP32D0WDQ5 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: a8:03:2a:62:67:84 Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Erasing flash (this may take a while)... Chip erase completed successfully in 13.9s Hard resetting via RTS pin... |
讀取 MAC Address
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
>python esptool.py --port COM13 --baud 512000 read_mac esptool.py v2.8 Serial port COM13 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Crystal is 26MHz MAC: 84:f3:eb:5a:7b:94 Uploading stub... Running stub... Stub running... Changing baud rate to 512000 Changed. MAC: 84:f3:eb:5a:7b:94 Hard resetting via RTS pin... |
--
其他參考資源
- 具有 Reset & Flash 的線路 Milling a Breakout/Flash Board for an ESP-12-F (ESP8266)
Data
1 2 3 4 5 6 7 |
[LittleFS] upload : C:\Users\toshiba\AppData\Local\Temp\arduino_build_842033/MQTT2_SSL_RS485_WEB.mklittlefs.bin [LittleFS] address : 0x300000 [LittleFS] reset : --before default_reset --after hard_reset [LittleFS] port : COM27 [LittleFS] speed : 512000 [LittleFS] python : C:\Users\toshiba\AppData\Local\Arduino15\packages\esp8266\tools\python3\3.7.2-post1\python3.exe [LittleFS] uploader : C:\Users\toshiba\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.3\tools\upload.py |
--
4,224 total views, 1 views today