超详细 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秒的不断循环了。

led闪烁

小结

本文介绍了如何给 esp32 配置 MicroPython。并且介绍了 pyserial 工具的使用。希望本文对你有用。如果你觉得文章对你用,记得关注收藏。你的关注和收藏是继续更新的动力哦。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值