快速入門MicroPython開發ESP32



ESP32

搬自:https://blog.csdn.net/naisu_kun/article/details/103983140


在這里插入圖片描述

為什么使用MicroPython開發ESP32

ESP32是非常熱門的一款物聯網芯片,它的開發方式非常多樣,其中使用MicroPython的方式非常快速便捷,適合試驗測試等使用,當然如果設計合理的話也可以用於正式產品開發。

MicroPython官方首頁:
MicroPython - Python for microcontrollers
ESP32相關說明見下面文章(包含最小系統電路示例):
《ESP32概述與入門准備》

快速入門

開發板准備

入門學習使用MicroPython開發ESP32可以使用樂鑫官方的 ESP32-DevKitC開發板 ,某寶上一搜一大把。也可以使用上面鏈接文章中的最小系統,反正就是准備個能上電運行、能燒寫固件的電路模塊就成。
在這里插入圖片描述

開發工具選擇

MicroPython的開發工具選擇面非常大,通常情況下只要找個能夠啟用串口的工具就行,在Windows上常見的有putty、VScode+插件等很多選擇。在這里我推薦使用 Thonny ,這個工具是目前我認為最適合用在MicroPython開發上的,其官方網站與項目地址如下:
https://thonny.org
https://github.com/thonny/thonny/
該工具集固件燒錄、Python Shell調試、文件管理於一體,是目前用MicroPython開發最理想的工具。
在這里插入圖片描述

固件下載與燒錄

固件可以從MicroPython官網進行下載,ESP32的固件目前分為兩類,分別基於ESP-IDF v3.x和ESP-IDF v4.x開發,目前支持的功能上稍有差異。每一類又細分為 GENERIC 普通的GENERIC-SPIRAM 支持外部SPI RAM的
在這里插入圖片描述
常見的 ESP32-WROOM-32 等模塊是不帶SPI RAM的,而 ESP32-WROVER-B 等模塊是帶SPI RAM的。
在這里插入圖片描述
固件可以用上面的 Thonny 進行燒錄:
在這里插入圖片描述

程序入門

在固件燒錄完成后復位芯片程序就開始執行,默認情況下會進入Python Shell交互環境。
MicroPython For ESP32默認使用UART0進行交互,默認波特率為115200

MicroPython可以使用help函數獲得幫助:
在這里插入圖片描述
可以進行運算或輸出信息:
在這里插入圖片描述
可以控制GPIO口:
在這里插入圖片描述
上圖中先是通過 help() 查看相關說明,然后導入machine模塊中的Pin類。接着聲明一個GPIO口對象(p13),該對象綁定到芯片的GPIO13,並且設置為輸出。接下來使用 help 函數查看了p13對象的說明,最后使用 on() 讓GPIO13輸出高電平。

在IO口上接上LED,並加入延時就可以實現控制小燈閃爍了:
在這里插入圖片描述
上圖中 time.sleep(0.5) 相當於延時0.5秒,整段while語句相當於使GPIO13持續翻轉,當我敲出兩個空行時while語句開始運行。最后我按下鍵盤上 CTRL + C 結束了程序。

使用MicroPython控制ESP32連接無線網絡也非常方便:
在這里插入圖片描述
上圖中我連接了名為(SSID) AAA 、密碼是12345678的無線網絡,連上網絡后打印了IP、子網掩碼、網關等信息。

更多程序相關內容可以參考官方文檔,我也會在之后的文章中進行詳細說明:
http://docs.micropython.org/en/latest/esp32/quickref.html

通過文件運行程序

上面的程序都是在Python Shell交互環境中進行的,當然也可以將代碼保存到文件上,通過文件運行程序。MicroPython的固件會在開發板ESP32模塊的flash上創建一個文件系統,可以用來存放文件。
我們可以使用 Thonny 打開、刪除開發板上存儲的文件:
在這里插入圖片描述
Thonny 也可以將文件保存到開發板上,還可以啟動運行文件:
在這里插入圖片描述
默認情況下MicroPython會生成一個 boot.py 文件,當系統啟動完成之后會先運行該文件中的內容,該文件一般用於運行一些系統層面開機時需要啟動的功能,一般不推推薦用戶修改。在 boot.py 文件中的程序運行結束之后系統緊接着會運行 main.py 文件(如果沒有該文件則跳過)。在 main.py 文件運行結束后會則進入Python Shell調試模式:
在這里插入圖片描述
上圖中我建立了 main.py 文件,將它上傳到開發板,然后按下開發板上復位按鈕。可以看到系統復位后 main.py 文件中的內容被執行。

如果在 main.py 文件中寫個死循環,然后所有程序都寫在該循環中,那用起來就和傳統的單片機差不多了,只不過從固件變成了文件。不過如果這樣做的話就進不了Python Shell調試模式了,並且無法再次進行文件修改上傳等操作,只有重寫燒寫MicroPython固件才能恢復(或者死循環的程序中有文件系統讀寫的功能)。
在這里插入圖片描述
Thonny 可以支持文件樹狀視圖,是目前唯一一個支持以文件夾形式上傳文件的工具:
在這里插入圖片描述

總結

MicroPython和CPython一樣非常快速便捷,適合拿來直接試驗測試等使用。具體各個庫的使用將在之后的文章中進行介紹。

MicroPython的語法和標准的CPython相似,可以學習CPython語法來了解基本語法,可以參考下面教程:
https://www.liaoxuefeng.com/wiki/1016959663602400


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM