什么是MicroPython?
MicroPython和常規(guī)Python非常相似,所以如果您已經(jīng)知道如何用Python編寫程序,那么您已經(jīng)知道如何在MicroPython中編程。
Micropython包含一小部分Python標(biāo)準(zhǔn)庫(kù),所以不是每個(gè)標(biāo)準(zhǔn)庫(kù)中的模塊可用。但是,MicroPython確實(shí)包含訪問低級(jí)硬件的模塊,這意味著有些模塊可以輕松地與微控制器上的GPIO進(jìn)行交互。
MicroPython還帶有交互式REPL(讀取 - 評(píng)估 - 打印循環(huán)),這是MicroPython經(jīng)常被忽視的驚人功能。 REPL允許您連接到微控制器,快速執(zhí)行代碼而無需編譯或上傳代碼。這可以立即反饋您的程序是否按預(yù)期工作。
ESP32和ESP8266是低成本的Wi- Fi模塊,非常適合DIY物聯(lián)網(wǎng)(IoT)項(xiàng)目。
兩者都帶有通用輸入/輸出引腳(GPIO),并支持各種協(xié)議,包括SPI,I2C,UART等。 ESP系列中最具吸引力的部分是它們帶有無線網(wǎng)絡(luò),將它們與Arduino微控制器相媲美。總而言之,ESP系列允許您以極低的價(jià)格使用Wi-Fi輕松遠(yuǎn)程控制/監(jiān)控設(shè)備。
必需硬件
為此教程,我們將使用NodeMCU 12-E。我們將引用此板及其針對(duì)此特定教程的說明。
NodeMCU 12E ESP8266板。
材料
1 x NodeMCU 12E ESP8266主板
1 x USB to Micro USB電纜
如何下載MicroPython固件
在我們將NodeMCU板連接到PC之前,我們需要下載最新的MicroPython固件并將其加載到NodeMCU上。您可以從MicroPython下載頁(yè)面下載它。
在下載頁(yè)面上,您將有3個(gè)主要選擇:
為1024kb及以上模塊建立穩(wěn)定的固件,
每日固件版本為1024kb模塊及以上,
每日固件構(gòu)建512kb模塊。
如果這是您第一次使用MicroPython,建議使用穩(wěn)定的固件版本。如果您是使用MicroPython的高級(jí)ESP8266用戶,您可以密切關(guān)注開發(fā)并通過測(cè)試每日構(gòu)建的新功能來幫助項(xiàng)目。
如何將固件加載到NodeMCU上
下載固件后,就可以將其加載到NodeMCU板上了。實(shí)現(xiàn)此目的有兩個(gè)主要步驟:
將NodeMCU置于引導(dǎo)加載程序模式
跨固件復(fù)制到NodeMCU
**注意:如果您使用除NodeMCU 12E之外的任何其他類型的電路板,這些步驟高度依賴于特定電路板,您需要參考其文檔以獲取詳細(xì)信息。
要將MicroPython固件刷新到NodeMCU上,您可以選擇以下任一技術(shù)。
初學(xué)友好:NodeMCU PyFlasher
一個(gè)帶有GUI的自包含NodeMCU閃存器,它使用由MarcelSt?r開發(fā)的esptool.py和wxPython(Python GUI庫(kù)) 。使用適用于Windows(.exe),macOS(.dmg)以及運(yùn)行Python的任何內(nèi)容的最新版本。
一旦插入NodeMCU,您現(xiàn)在應(yīng)該可以選擇COM它連接的端口。如果您在此列表中沒有看到它,則可能需要下載USB串行驅(qū)動(dòng)程序。一旦驅(qū)動(dòng)程序處于活動(dòng)狀態(tài),您就可以通過在NodeMCU PyFlasher上的下拉列表或設(shè)備管理器(在Windows上)中選擇它來確定COM端口號(hào)。
確定ModeMCU PyFlasher下拉列表中的COM端口號(hào)。
選擇設(shè)備中的COM端口管理員,如果您使用的是Windows。
現(xiàn)在只需從下載位置選擇下載的MicroPython固件.bin文件,選擇波特率115200(默認(rèn)為NodeMCU),使用雙I/O閃存模式并單擊Flash NodeMCU。完成后,您應(yīng)該看到如下所示的屏幕。
成功完成固件下載后,您將看到的窗口。
高級(jí)用戶
將MicroPython固件刷新到NodeMCU板上的另一種方法是使用esptool.py(運(yùn)行于PyFlasher的背景)。下載后,您需要將MicroPython固件.bin移動(dòng)到與esptool.py相同的目錄中,以使命令更容易。
在運(yùn)行esptool.py之前,您需要確定端口號(hào)使用設(shè)備管理器的NodeMCU板。現(xiàn)在使用命令提示符或powershell(在PC上安裝Python),導(dǎo)航到存儲(chǔ)esptool.py的目錄并運(yùn)行命令:
esptool.py --port write_flash -fm 0x00000 .bin
重新創(chuàng)建命令上方的PyFlasher示例將是:
esptool.py --port COM3 write_flash -fm DIO 0x00000 esp8266-20190125-v1.10.bin
如何訪問MicroPython REPL提示
如本文開頭所述,REPL(讀取評(píng)估打印循環(huán))是您可以在NodeMCU上訪問的交互式MicroPython提示的名稱。使用REPL可以大大簡(jiǎn)化并加快測(cè)試代碼和運(yùn)行命令的速度。
雖然您可以通過Wi-Fi(WebREPL)訪問REPL,但本文僅介紹如何通過訪問REPL來訪問REPL。通過UART串口進(jìn)行有線連接。
要通過USB-serial訪問提示,您需要使用終端仿真器程序。 PuTTY是一個(gè)開源的SSH和telnet客戶端,您可以將其用作終端仿真程序來訪問您的NodeMCU REPL,否則,Windows上有TeraTerm,Mac上的內(nèi)置屏幕程序和Linux都有picocom和minicom。還有許多其他終端程序可以使用,因此請(qǐng)選擇您喜歡的。
首次打開PuTTY后,您需要設(shè)置設(shè)置配置以訪問NodeMCU。首先,我們選擇串行連接類型。然后,從步驟3開始,我們現(xiàn)在知道NodeMCU板所在的COM端口號(hào)(本例中為COM3)。從那里,我們可以設(shè)置115200的波特率,我們已準(zhǔn)備好連接。這些設(shè)置也可以在將來使用時(shí)保存。此示例的設(shè)置如下所示。
PuTTY配置設(shè)置。
連接后,您將看到一個(gè)屏幕如下,可以測(cè)試你的代碼!
一旦你連接了,你就會(huì)受到這個(gè)屏幕的歡迎。
如何讓LED開啟
NodeMCU 12E上有連接到GPIO2的板載LED,您可以使用以下代碼打開和關(guān)閉它:
》》》 import machine
》》》 pin = machine.Pin(2, machine.Pin.OUT)
》》》 pin.on()
》》》 pin.off()
請(qǐng)注意pin.on()可能會(huì)關(guān)閉LED和pin.off()可能會(huì)打開LED(反之亦然),具體取決于LED在電路板上的接線方式。
使LED連接到No的代碼deMCU flash。
-
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
44964 -
NODEMCU
+關(guān)注
關(guān)注
13文章
289瀏覽量
21388 -
Micropython
+關(guān)注
關(guān)注
0文章
68瀏覽量
4731
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論