上一篇《保姆級超詳細 ESP8266 MicroPython 部署攻略》介紹了如何為 ESP8266 配置 MicroPython ,本文将繼續介紹另一款開發闆 ESP32 的 MicroPython 的部署。ESP32 的部署配置方法和 ESP8266 大緻相同,隻是在刷固件的時候有少許差異,以下将介紹詳細步驟。
固件下載下傳
MicroPython - Python for microcontrollers
我們可以在官網上下載下傳固件,這裡我們可以選擇 v4.x 或者 3.x,根據官網上介紹,如果不清楚需求,可以直接下載下傳 v4.x 固件使用。這裡我們可以挑穩定版,也就是沒有 unstale 的固件使用。
刷固件
我們需要一個交
esptool
的工具來幫助我們刷固件,可以使用
pip
來安裝。
pip install esptool
安裝完成後,我們把開發闆接入電腦,通過
read_mac
指令來擷取開發闆的資訊以及序列槽的位置。
# 這裡如果是 linux 或者 macOS, 使用 esptool.py
esptool.exe read_mac
>
esptool.py v3.0
Found 2 serial ports
Serial port COM4
Connecting........_____.
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:c4:**:44
Uploading stub...
Running stub...
Stub running...
MAC: 24:6f:28:c4:**:44
Hard resetting via RTS pin...
可以看到已經擷取到開發闆的資訊,這裡可以看到開發闆的序列槽在
COM4
。
接下來就可以開始刷固件了。
# 清除原來的固件
esptool -p COM3 erase_flash
>
esptool.py v3.0
Serial port COM4
Connecting........_
Detecting chip type... ESP32
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:c4:**:44
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 8.4s
Hard resetting via RTS pin...
# 刷固件
esptool --chip esp32 --port COM4 write_flash -z 0x1000 esp32-20210418-v1.15.bin
>
esptool.py v3.0
Serial port COM4
Connecting........_
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:6f:28:c4:97:44
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Compressed 1469216 bytes to 953244...
Wrote 1469216 bytes (953244 compressed) at 0x00001000 in 84.8 seconds (effective 138.7 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
這樣,我們的 MicroPython 已經刷好固件了。
REPL 測試
我們可以使用 PuTTY 來進行端口連接配接,可以進入 REPL 模式進行互動。這裡再介紹一個指令行工具
pyserial
。我們可以通過
pip
來安裝。
pip install pyserial
安裝完成後,我們可以使用
pyserial-miniterm.exe
指令行工具來進行調試。這裡我們需要添加一個參數
-f direct
,不然在輸入
Backspace
鍵的時候會出現亂碼。
pyserial-miniterm.exe -f direct
>
--- Available ports:
--- 1: COM1 '通信端口 (COM1)'
--- 2: COM4 'Silicon Labs CP210x USB to UART Bridge (COM4)'
--- Enter port index or full name:
# 這裡我們選擇我們的端口 輸入 COM4
>
--- Enter port index or full name: COM4
--- Miniterm on COM4 9600,8,N,1 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
# 由于我們沒有設定波特率,預設使用的是9600,我們需要修改成 115200
# 我們輸入 Ctrl+T+b 進入設定波特率菜單
# 輸入115200 即可
>
--- Baudrate: 115200
--- Settings: COM4 115200,8,N,1
--- RTS: active DTR: active BREAK: inactive
--- CTS: inactive DSR: inactive RI: inactive CD: inactive
--- software flow control: inactive
--- hardware flow control: inactive
--- serial input encoding: UTF-8
--- serial output encoding: UTF-8
--- EOL: CRLF
--- filters: direct
>>> print('Hello ESP32')
Hello ESP32
這樣,我們的的配置就完成了。
使用AMPY上傳代碼
首先我們需要安裝
adafruit-ampy
工具,可以使用
pip
進行安裝
pip install adafruit-ampy
安裝完成後,可以使用
ampy --help
來檢視可用指令。下面我們先來檢視一下目前開發闆上的檔案:
ampy.exe -p COM4 ls
>
/boot.py
我們來編寫一段循環led燈閃爍的代碼,因為我的這塊開發闆并沒有闆載的led燈,是以需要自己在 GIOP2 口和 GND 上接上線連接配接一個 led 燈。然後控制代碼如下:
import machine
import time
led = machine.Pin(2, machine.Pin.OUT)
while True:
time.sleep(1)
led.on()
time.sleep(3)
led.off()
接下來将我們剛剛寫好的
main.py
上傳到開發闆上
ampy.exe -p COM4 put .\main.py
ampy.exe -p COM4 ls
>
/boot.py
/main.py
這樣,我們就把代碼上傳到開發闆上了。
接下來我們需要重新開機一下開發闆,按一下開發闆上的 RESET 按鈕,我們就可以看到開發闆上的LED燈出現亮1秒熄3秒的不斷循環了。

小結
本文介紹了如何給 esp32 配置 MicroPython。并且介紹了 pyserial 工具的使用。希望本文對你有用。如果你覺得文章對你用,記得關注收藏。你的關注和收藏是繼續更新的動力哦。