本文最后更新于 2025-04-21,文章内容可能已经过时。

【ESP32+MicroPython】开发环境部署_vscode micropython esp32-CSDN博客

为什么是MicroPython

MicroPython vs Arduino: Which One Will Power Your Next Project? 🤖 - Robotic Coding

选择C/C++还是选择MicroPython来开发?(第0章-第三节) – 太极创客

4-1 MicroPython简介 – 太极创客

MicroPython 与不同语言环境的优劣对比 - Juwan - 博客园

环境配置

安装Python

确保你的计算机上安装了Python 3.7或更高版本。

  • 下载链接:Python官网

  • 安装时,确保勾选“Add Python to PATH”选项。

安装ESP32驱动程序

ESP32通常使用USB转串口芯片(如CP2102或CH340),需要安装相应的驱动程序。

下载并安装相应的驱动程序后,重启计算机。

安装esptool.py

esptool.py是一个用于与ESP32进行烧录的工具。可以通过以下命令在终端(命令提示符或PowerShell)中安装:

pip install esptool

下载MicroPython固件

访问MicroPython的ESP32固件页面下载适合你ESP32型号的最新固件(.bin文件)。

在Download界面选择对应的板子型号,例如我是esp32s3

MicroPython - Python for microcontrollers

来到对应界面后下拉到底部找到Firmware ,下载对应版本的.bin

我们的板子是乐鑫科技的ESP32-S3-WROOM-1-N16R8 ,可以从芯片上读出,数据手册为

esp32-s3-wroom-1_wroom-1u_datasheet_cn.pdf

因此我们选择下载红线标注的Firmware即可

连接Esp32

查找端口号

Windows系统要查找ESP32的串口号,你可以按照以下步骤操作:

连接ESP32:将ESP32通过USB线连接到计算机。

打开设备管理器:

右键点击“开始”按钮,选择“设备管理器”。

查找串口:

在设备管理器中,展开“端口 (COM & LPT)”部分,你应该能看到类似“COM3”或“COM4”的条目,后面的数字就是ESP32的串口号。

其他系统参考原blog

注意,板子必须插COM口而不是USB口

烧录MicroPython固件

具体文档参考:MicroPython - Python for microcontrollers

esptool文档:Basic Options - ESP32 - — esptool.py latest documentation

将ESP32连接到计算机,通过USB线连接后,确认计算机能识别到设备。

打开终端,并查找ESP32的串口号(在Windows上通常是COMx(x指数字),在Linux或macOS上是/dev/ttyUSBx或/dev/tty.wchusbserialxxxx)。

执行以下命令烧录固件(请根据你的固件路径和串口号进行修改):

esptool --port COMx erase_flash
esptool --port COMx --baud 115200 write_flash -z 0 <path_to_your_firmware.bin>

替换COMx为你的串口号,<path_to_your_firmware.bin>为下载的固件文件路径。

其中:

  • --chip esp32s3:指定芯片类型。

  • --port <串行端口>:指定连接模组的串行端口(如 /dev/ttyUSB0COM3)。

  • --baud 115200:设置波特率。

  • write_flash:烧录命令。

  • -z:压缩烧录数据。

  • 0:烧录的起始地址。

  • <path_to_your_firmware.bin>:烧录文件的路径。

配置Cursor

安装Python扩展

Cursor中,打开扩展视图(快捷键:Ctrl+Shift+X),搜索并安装“Python”扩展,以便于代码编辑和调试。

安装RT-Thread MicroPython插件

RT-Thread-连接com时候,一直卡在这个界面,无法进行后续代码运行RT-Thread问答社区 - RT-Thread

张高兴的 MicroPython 入门指南:(一)环境配置、Blink、部署 - 张高兴 - 博客园

RT-Thread MicroPython是一个VSCode插件,能够方便地与MicroPython设备进行交互。

创建项目与运行

测试样例

连接WIFI

# ESP32 WiFi连接示例
import network
import time
import gc

# WiFi配置信息
SSID = "unitree"
PASSWORD = "fxy162899"

def connect_wifi():
    # 创建WLAN站点接口
    wlan = network.WLAN(network.STA_IF)
    
    # 激活接口
    wlan.active(True)
    
    # 如果已经连接,则直接返回
    if wlan.isconnected():
        print('已连接到WiFi')
        return wlan
    
    # 连接WiFi
    print('正在连接WiFi...')
    wlan.connect(SSID, PASSWORD)
    
    # 等待连接或超时
    max_wait = 10  # 最大等待10秒
    while max_wait > 0:
        if wlan.isconnected():
            break
        max_wait -= 1
        print('等待连接...')
        time.sleep(1)
    
    # 检查是否连接成功
    if wlan.isconnected():
        print('WiFi连接成功')
        print('网络配置:', wlan.ifconfig())
        return wlan
    else:
        print('WiFi连接失败')
        return None

def main():
    # 连接WiFi
    wlan = connect_wifi()
    
    if wlan:
        # 连接成功后,这里可以添加其他功能代码
        print('已获取IP地址:', wlan.ifconfig()[0])
    else:
        # 连接失败处理
        print('无法连接WiFi,请检查网络设置')
    
    # 内存回收
    gc.collect()

if __name__ == '__main__':
    main()