什么是MicroPython?
MicroPython和常規Python非常相似,所以如果您已經知道如何用Python編寫程序,那么您已經知道如何在MicroPython中編程。
Micropython包含一小部分Python標準庫,所以不是每個標準庫中的模塊可用。但是,MicroPython確實包含訪問低級硬件的模塊,這意味著有些模塊可以輕松地與微控制器上的GPIO進行交互。
MicroPython還帶有交互式REPL(讀取 - 評估 - 打印循環),這是MicroPython經常被忽視的驚人功能。 REPL允許您連接到微控制器,快速執行代碼而無需編譯或上傳代碼。這可以立即反饋您的程序是否按預期工作。
ESP32和ESP8266是低成本的Wi- Fi模塊,非常適合DIY物聯網(IoT)項目。
兩者都帶有通用輸入/輸出引腳(GPIO),并支持各種協議,包括SPI,I2C,UART等。 ESP系列中最具吸引力的部分是它們帶有無線網絡,將它們與Arduino微控制器相媲美。總而言之,ESP系列允許您以極低的價格使用Wi-Fi輕松遠程控制/監控設備。
必需硬件
為此教程,我們將使用NodeMCU 12-E。我們將引用此板及其針對此特定教程的說明。
NodeMCU 12E ESP8266板。
材料
1 x NodeMCU 12E ESP8266主板
1 x USB to Micro USB電纜
如何下載MicroPython固件
在我們將NodeMCU板連接到PC之前,我們需要下載最新的MicroPython固件并將其加載到NodeMCU上。您可以從MicroPython下載頁面下載它。
在下載頁面上,您將有3個主要選擇:
為1024kb及以上模塊建立穩定的固件,
每日固件版本為1024kb模塊及以上,
每日固件構建512kb模塊。
如果這是您第一次使用MicroPython,建議使用穩定的固件版本。如果您是使用MicroPython的高級ESP8266用戶,您可以密切關注開發并通過測試每日構建的新功能來幫助項目。
如何將固件加載到NodeMCU上
下載固件后,就可以將其加載到NodeMCU板上了。實現此目的有兩個主要步驟:
將NodeMCU置于引導加載程序模式
跨固件復制到NodeMCU
**注意:如果您使用除NodeMCU 12E之外的任何其他類型的電路板,這些步驟高度依賴于特定電路板,您需要參考其文檔以獲取詳細信息。
要將MicroPython固件刷新到NodeMCU上,您可以選擇以下任一技術。
初學友好:NodeMCU PyFlasher
一個帶有GUI的自包含NodeMCU閃存器,它使用由MarcelSt?r開發的esptool.py和wxPython(Python GUI庫) 。使用適用于Windows(.exe),macOS(.dmg)以及運行Python的任何內容的最新版本。
一旦插入NodeMCU,您現在應該可以選擇COM它連接的端口。如果您在此列表中沒有看到它,則可能需要下載USB串行驅動程序。一旦驅動程序處于活動狀態,您就可以通過在NodeMCU PyFlasher上的下拉列表或設備管理器(在Windows上)中選擇它來確定COM端口號。
確定ModeMCU PyFlasher下拉列表中的COM端口號。
選擇設備中的COM端口管理員,如果您使用的是Windows。
現在只需從下載位置選擇下載的MicroPython固件.bin文件,選擇波特率115200(默認為NodeMCU),使用雙I/O閃存模式并單擊Flash NodeMCU。完成后,您應該看到如下所示的屏幕。
成功完成固件下載后,您將看到的窗口。
高級用戶
將MicroPython固件刷新到NodeMCU板上的另一種方法是使用esptool.py(運行于PyFlasher的背景)。下載后,您需要將MicroPython固件.bin移動到與esptool.py相同的目錄中,以使命令更容易。
在運行esptool.py之前,您需要確定端口號使用設備管理器的NodeMCU板。現在使用命令提示符或powershell(在PC上安裝Python),導航到存儲esptool.py的目錄并運行命令:
esptool.py --port write_flash -fm 0x00000 .bin
重新創建命令上方的PyFlasher示例將是:
esptool.py --port COM3 write_flash -fm DIO 0x00000 esp8266-20190125-v1.10.bin
如何訪問MicroPython REPL提示
如本文開頭所述,REPL(讀取評估打印循環)是您可以在NodeMCU上訪問的交互式MicroPython提示的名稱。使用REPL可以大大簡化并加快測試代碼和運行命令的速度。
雖然您可以通過Wi-Fi(WebREPL)訪問REPL,但本文僅介紹如何通過訪問REPL來訪問REPL。通過UART串口進行有線連接。
要通過USB-serial訪問提示,您需要使用終端仿真器程序。 PuTTY是一個開源的SSH和telnet客戶端,您可以將其用作終端仿真程序來訪問您的NodeMCU REPL,否則,Windows上有TeraTerm,Mac上的內置屏幕程序和Linux都有picocom和minicom。還有許多其他終端程序可以使用,因此請選擇您喜歡的。
首次打開PuTTY后,您需要設置設置配置以訪問NodeMCU。首先,我們選擇串行連接類型。然后,從步驟3開始,我們現在知道NodeMCU板所在的COM端口號(本例中為COM3)。從那里,我們可以設置115200的波特率,我們已準備好連接。這些設置也可以在將來使用時保存。此示例的設置如下所示。
PuTTY配置設置。
連接后,您將看到一個屏幕如下,可以測試你的代碼!
一旦你連接了,你就會受到這個屏幕的歡迎。
如何讓LED開啟
NodeMCU 12E上有連接到GPIO2的板載LED,您可以使用以下代碼打開和關閉它:
》》》 import machine
》》》 pin = machine.Pin(2, machine.Pin.OUT)
》》》 pin.on()
》》》 pin.off()
請注意pin.on()可能會關閉LED和pin.off()可能會打開LED(反之亦然),具體取決于LED在電路板上的接線方式。
使LED連接到No的代碼deMCU flash。
-
ESP8266
+關注
關注
50文章
962瀏覽量
45338 -
NODEMCU
+關注
關注
13文章
289瀏覽量
21592 -
Micropython
+關注
關注
0文章
68瀏覽量
4788
發布評論請先 登錄
相關推薦
esp32和esp8266代碼共用嗎
esp8266和esp32區別是什么
ESP8266需要燒錄固件庫嘛
esp8266不燒錄可以使用嗎
Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環境溫濕度數據及 OLED顯示
![Arduino Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 讀取 DHT11 環境溫濕度數據及 OLED顯示](https://file1.elecfans.com/web2/M00/02/62/wKgZoma7LraAIX68AAHwAf2dvXI565.png)
如何將ESP2866更新到正確的AT Command固件?
ESP8266上加載micropython,文件的MD5與閃存中的數據不匹配怎么解決?
是否可以使用ESP-NOW協議,將ESP8266板作為與其他ESP8266板之間的中繼器?
如何在ESP8266上獲取并刷寫最新固件?
ESP8266如何避免固件損壞?
請問如何在ESP8266-12E上執行AT v.20的完整固件上傳?
ESP8266 Huzzah不響應AT命令的原因?
刷新ESP13固件失敗的原因?
確定ESP8266固件下載成功的方法
![確定<b class='flag-5'>ESP8266</b><b class='flag-5'>固件</b>下載成功的方法](https://file.elecfans.com/web2/M00/40/03/pYYBAGJrSWqAb-nSAAAXmKtCFeo833.jpg)
評論