0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP32-S3的MicroPython开发环境搭建

jf_88434166 ? 来源:jf_88434166 ? 作者:jf_88434166 ? 2025-09-11 16:02 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

MicroPython简介

早期 Python 在嵌入式系统中的应用并未得到广泛推广,主要受到硬件成本、运行性能、开发习惯等因素的限制。随着半导体技术和制造工艺的快速发展,芯片的升级换代速度日益加快,芯片的功能和存储器容量不断增强,成本逐渐降低,为 Python在低端嵌入式系统上的应用提供了可能性。

MicroPython由英国剑桥大学教授 Damien George(达米安·乔治)发明。MicroPython使用GNU C进行开发,实现在微控制器Python3 的基本功能,具备完善的解析器、编译器、虚拟机和类库等。在保留Python 语言主要特性的基础上,对嵌入式系统的底层进行了出色的封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。用户只需通过调用这些库和函数,就能快速控制LED小灯、舵机、多种传感器、SD卡文件系统、UARTI2C、SPI通信总线等实现各种功能,而不用再去研究底层外设模块的使用方法。这不但降低了开发难度,而且减少了重复开发工作,缩短了开发周期。

MicroPython 最早被应用在 STM32F4 微控制器平台上。随着社区开发者的不断努力,它逐渐被移植到 STM32L4、STM32F7、ESP8266ESP32、CC3200、dsPIC33FJ256、MK20DX256、microbit、MSP432、XMC4700、RT8195、IMXRT 等众多硬件平台上。

MicroPython 系统结构 :
在这里插入图片描述
它是由微控制器(系统底层硬件)、MicroPython固件和用户程序三大部分组成。其中,硬件和MicroPython固件是最基础且相对不变的部分,而用户程序则可以随时变更,可以存放多个用户程序到系统中,随时调用或切换,这是使用MicroPython 的一个特色。
微控制器硬件就如同一个没有安装操作系统的计算机,只有下载了程序后才能实现其他的功能。MicroPython 的功能就像嵌入式系统的操作系统(它不同于FreeRTOSucOS这样的实时系统,用户程序不能单独修改,因为系统和用户程序是一体的,需要编译后运行)。只有先安装了MicroPython系统(固件),才能运行各种MicroPython程序。
目前 MicroPython 源代码支持不同微控制器平台,这需要开发者自己编译对应 MCU
MicroPython 固件,并将固件下载到微控制器中才能运行MicroPython。

Thonny开发软件的安装

Thonny是一款面向Python初学者的小型集成开发环境(IDE)。它的特点是轻量级,易于使用,且完全基于Python的内置图形库tkinter开发。这款IDE可以帮助初学者更快地上手 Python,避免在环境设置上浪费过多的时间。它能够让初学者更好地理解每一行代码的运行细节,并且解决了初学者可能会遇到的一些繁杂的环境问题。如果不是初学者,请选择PyDev和Pycharm等工具。

点击[Thonny]到官网下载安装
在这里插入图片描述
根据自己的电脑系统下载相应的版本,本文以Windows为例
在这里插入图片描述
下载好安装包后,双击一步步的安装,安装完成后双击桌面图表进入Thonny主界面
在这里插入图片描述

ESP32-S3的Thonny开发软件的设置

查看自己的ESP32-S3开发板上的USB转串口芯片安装好对应的驱动,常见的USB转串口芯片有,CH343、CH340、CP2102、FT232等,可到芯片官网下载。如下图中开发板使用的是CH343。
在这里插入图片描述
安装成功后可在电脑设备管理器中查看
在这里插入图片描述

Thonny软件中打开 配置解释器 选项卡
在这里插入图片描述
选择好MicroPython(ESP32)解释器和USB转串口的端口
在这里插入图片描述

下载ESP32-S3 MicroPython固件

点击[MicroPython]官网,进入ESP32-S3固件下载页面
在这里插入图片描述
在这里插入图片描述
根据自己开发板上的ESP32-S3模组型号来选择下载哪一个固件,本实验开发板使用的ESP32-S3模组与ESP32-S3-WROOM-1-N16R8兼容的,而ESP32-S3-WROOM-1-N16R8模组的PSRAM使用的是Octal
SPI,所以选择下图的固件版本。注意是.bin文件
在这里插入图片描述

下载完后我们会得到一个ESP32_GENERIC_S3-SPIRAM_OCT-20250809-v1.26.0.bin文件,然后将此文件烧录到ESP32-S3开发板中。
1.使用Thoony工具烧录
在Thonny工具中,选择“ 运行 ”菜单中的“ 配置解释器 ”选项,然后点击“ 安装或者更新microPython(esptool) ”如下图,进入固件烧录界面
在这里插入图片描述
选择加载好刚下好的固件和端口号,点击安装,等待烧录完成
在这里插入图片描述
在这里插入图片描述
关闭 Thonny选项 烧录界面,重新进入 运行 >> 配置解释器 再次进入 Thonny选项 界面选择好 MicroPython ESP32USB Single Serial @ COM218确定 并按下开发板上的复位按键,即可启动MicroPython固件了。最后,在Shell交互窗口上看到固件的信息,如下图所示,表示已成功烧录。
在这里插入图片描述
2.使用flash_download_tool工具烧录
选择下载芯片
在这里插入图片描述
选择好固件,填写好下载到芯片内的地址,并在方框里打勾,选择好串口号COM和下载波特率,点击START开始进行下载,直到下载完成,波特率设置的太高偶尔会下载不进,此时可以降低波特率下载
在这里插入图片描述

验证下载MicroPython应用程序可否在ESP32-S3上运行

下面为一个ESP32-S3的IO1引脚上LED的闪灯MicroPython应用程序

from machine import Pin
import time

"""
 * @brief       程序入口
 * @param       无
 * @retval      无
"""
if  __name__ == '__main__':
    
    # 初始化LED并输出高电平
    led = Pin(1,Pin.OUT,value = 1)
    
    while True:
        
        led.value(0)                    # 设置GPIO1输出低电平
        time.sleep_ms(500)              # 延时500ms
        led.value(1)                    # 设置GPIO1输出高电平
        time.sleep_ms(500)              # 延时500ms

打开Thonny新建一个文件,并将上述代码复制到编辑界面中,右下角选择好MicroPython(ESP32)解释器和USB转串口的端口号,就出弹出了MicroPython设备,说明Thonny和ESP32-S3开发板建立了连接,此时左边侧边栏里面出现了boot.py文件就是我们刚烧录好的MicroPython(ESP32)启动固件,然后点击运行当前脚本,LED的闪灯MicroPython应用程序就在开发板上运行了(但没有下载到ESP32-S3卡筏板中),此时可以观察到与板子连接的LED灯模块在闪烁
在这里插入图片描述
在这里插入图片描述
点击保存选项,会弹出如下图提示框,我们选择保存到MicroPython设备,文件名称任意,文件后缀为 .py 此时就会把应用程序下载到ESP32-S3开发板中了,左边侧边栏里面出现了main.py文件就是我们刚烧录好的LED的闪灯MicroPython应用程序。按一下ESP32-S3开发板的复位键,有观察到LED在闪烁,说明应用程序在执行了。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

通过搭建Thonny IDE开发环境,我们了解了如何给ESP32-S3烧录MircoPython固件和MircoPython应用程序。更多的内容请点击参考MicroPython开发文档

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5166

    文章

    19888

    浏览量

    321542
  • 开发板
    +关注

    关注

    25

    文章

    5885

    浏览量

    108128
  • Micropython
    +关注

    关注

    0

    文章

    69

    浏览量

    5456
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【FireBeetle 2 ESP32-S3开发板测评】Arduino IDE快速开发体验

    【FireBeetle 2 ESP32-S3开发板测评】Arduino IDE快速开发体验
    的头像 发表于 07-23 09:03 ?3861次阅读
    【FireBeetle 2  <b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发</b>板测评】Arduino IDE快速<b class='flag-5'>开发</b>体验

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验

    【FireBeetle 2 ESP32-S3开发板测评】MicroPython开发体验
    的头像 发表于 07-23 09:02 ?2869次阅读
    【FireBeetle 2 <b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发</b>板测评】<b class='flag-5'>MicroPython</b><b class='flag-5'>开发</b>体验

    【Banana PI Leaf S3开发板试用体验】MicroPython环境搭建

    ESPPSRAM芯片焊接来拓展运行RAM(PS:若要在MPY环境下运行LVGL是必须使用外挂PSRAM的)。在ESP32-S3 的子界面中可以在Firmware 中选择两个版本。Releases是发行版
    发表于 11-06 21:22

    【FireBeetle 2 ESP32-S3开发板体验】使用PyCharm开发MicroPython体验

    ;) time.sleep(0.5) 2、烧录运行 3、观察开发板 1、点击开发板复位按钮,观察开发板LED闪烁和串口打印LED状态 Mi
    发表于 07-28 11:43

    【FireBeetle 2 ESP32-S3开发板体验】测评1_搭建开发环境

    第1章 开发板开箱以及开发环境搭建 感谢电子发烧友社区提供的测评机会,参加DFRobot 的FireBeetle 2 ESP32-S3
    发表于 07-29 21:40

    浅谈ESP32-C3ESP32-S3芯片

    ESP32-C3ESP32-S3的发布,不仅为IOT行业提供了高性价比、稳定、好用、安全的通讯层,支持AI加速,同时在显示层应用也将占有一席之地。
    发表于 04-28 10:37 ?2w次阅读

    使用MicroPython开发ESP32(01):快速入门

    文章目录为什么使用MicroPython开发ESP32快速入门开发板准备开发工具选择固件下载与烧录我的总结为什么使用
    发表于 12-29 18:49 ?25次下载
    使用<b class='flag-5'>MicroPython</b><b class='flag-5'>开发</b><b class='flag-5'>ESP32</b>(01):快速入门

    合宙ESP32-S3开发板特性解读

    穿越万水千山,奔赴与工程师朋友的约定——合宙ESP32-S3超值MCU开发板,来了! 1 合宙ESP32-S3开发板简介 合宙CORE-ESP32S
    的头像 发表于 01-11 18:45 ?1.2w次阅读

    启明去端分享| ESP32-S3如何实现tcp_client和tcp_server

    /get-started/index.html#get-started-set-up-env硬件需求:Esp32-s3开发ESP32-S3TCP介绍传输控制协议(TCP
    的头像 发表于 09-07 18:53 ?6944次阅读
    启明去端分享| <b class='flag-5'>ESP32-S3</b>如何实现tcp_client和tcp_server

    新品上市 | 合宙ESP32-S3开发

    穿越万水千山,奔赴与工程师朋友的约定——合宙ESP32-S3超值MCU开发板,来了!1合宙ESP32-S3开发板简介合宙CORE-ESP32S3
    的头像 发表于 01-13 15:53 ?4495次阅读
    新品上市 | 合宙<b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发</b>板

    基于ESP32-S3的高性能开发板介绍

    FireBeetle 2 ESP32-S3是一款基于ESP32-S3-WROOM-1-N16R8模组设计的主控板。ESP32-S3-WROOM-1-N16R8模组拥有16MB Flash和8MB
    的头像 发表于 09-05 11:33 ?1.5w次阅读
    基于<b class='flag-5'>ESP32-S3</b>的高性能<b class='flag-5'>开发</b>板介绍

    使用ESP32-S3搭建网络摄像头

    本篇博文使用ESP32-S3搭建网络摄像头,相比较局域网摄像头,本篇博文将分享如何搭建外网可以访问的网络摄像头。
    的头像 发表于 09-06 12:48 ?8641次阅读
    使用<b class='flag-5'>ESP32-S3</b><b class='flag-5'>搭建</b>网络摄像头

    Banana Pi 开源硬件基于ESP32-S3开发的物联网开发板系列

    Banana Pi 开源硬件基于ESP32-S3开发的物联网开发板系列
    的头像 发表于 09-28 16:21 ?2540次阅读
    Banana Pi 开源硬件基于<b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发</b>的物联网<b class='flag-5'>开发</b>板系列

    借助ESP32-S3主控MCU、ChirpLAN?小网关搭建大网络

    借助先进的ESP32-S3主控MCU,ChirpLAN?小网关为您带来前所未有的网络体验。
    的头像 发表于 03-14 10:02 ?1687次阅读

    ESP32-S3开发板烧录小智AI系统全流程指南

    在AI语音交互领域不断发展的今天,开发者们对于功能强大、开源灵活的开发板需求日益增长。今天,我们就来详细了解一下ESP32AgentDevKit烧录小智的全流程,这款搭载乐鑫科技ESP32-S
    的头像 发表于 06-16 18:01 ?3706次阅读
    <b class='flag-5'>ESP32-S3</b><b class='flag-5'>开发</b>板烧录小智AI系统全流程指南