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開發文檔
審核編輯 黃宇
-
嵌入式
+關注
關注
5198文章
20442瀏覽量
333963 -
開發板
+關注
關注
26文章
6289瀏覽量
118041 -
Micropython
+關注
關注
1文章
69瀏覽量
5833
發布評論請先 登錄
【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的MicroPython開發環境搭建
評論