天天看點

超詳細 ESP32 MicroPython 部署攻略

上一篇《保姆級超詳細 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 部署攻略

小結

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

繼續閱讀