MicroPython简介
早期 Python 在嵌入式系统中的应用并未得到广泛推广,主要受到硬件成本、运行性能、开发习惯等因素的限制。随着半导体技术和制造工艺的快速发展,芯片的升级换代速度日益加快,芯片的功能和存储器容量不断增强,成本逐渐降低,为 Python在低端嵌入式系统上的应用提供了可能性。
MicroPython由英国剑桥大学教授 Damien George(达米安·乔治)发明。MicroPython使用GNU C进行开发,实现在微控制器上 Python3 的基本功能,具备完善的解析器、编译器、虚拟机和类库等。在保留Python 语言主要特性的基础上,对嵌入式系统的底层进行了出色的封装,将常用功能都封装到库中,甚至为一些常用的传感器和硬件编写了专门的驱动。用户只需通过调用这些库和函数,就能快速控制LED小灯、舵机、多种传感器、SD卡文件系统、UART、I2C、SPI通信总线等实现各种功能,而不用再去研究底层外设模块的使用方法。这不但降低了开发难度,而且减少了重复开发工作,缩短了开发周期。
MicroPython 最早被应用在 STM32F4 微控制器平台上。随着社区开发者的不断努力,它逐渐被移植到 STM32L4、STM32F7、ESP8266、ESP32、CC3200、dsPIC33FJ256、MK20DX256、microbit、MSP432、XMC4700、RT8195、IMXRT 等众多硬件平台上。
MicroPython 系统结构 :
它是由微控制器(系统底层硬件)、MicroPython固件和用户程序三大部分组成。其中,硬件和MicroPython固件是最基础且相对不变的部分,而用户程序则可以随时变更,可以存放多个用户程序到系统中,随时调用或切换,这是使用MicroPython 的一个特色。
微控制器硬件就如同一个没有安装操作系统的计算机,只有下载了程序后才能实现其他的功能。MicroPython 的功能就像嵌入式系统的操作系统(它不同于FreeRTOS、ucOS这样的实时系统,用户程序不能单独修改,因为系统和用户程序是一体的,需要编译后运行)。只有先安装了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 ESP32 与 USB 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
发布评论请先 登录
【Banana PI Leaf S3开发板试用体验】MicroPython环境搭建
【FireBeetle 2 ESP32-S3开发板体验】使用PyCharm开发MicroPython体验
【FireBeetle 2 ESP32-S3开发板体验】测评1_搭建开发环境
浅谈ESP32-C3与ESP32-S3芯片
使用MicroPython开发ESP32(01):快速入门

合宙ESP32-S3开发板特性解读
启明去端分享| ESP32-S3如何实现tcp_client和tcp_server

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

借助ESP32-S3主控MCU、ChirpLAN?小网关搭建大网络
ESP32-S3开发板烧录小智AI系统全流程指南

评论