0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣將MicroPython固件刷新到ESP8266 并在NodeMCU板上測試代碼

454398 ? 來源:工程師吳畏 ? 2019-07-31 11:23 ? 次閱讀

什么是MicroPython?

MicroPython和常規(guī)Python非常相似,所以如果您已經(jīng)知道如何用Python編寫程序,那么您已經(jīng)知道如何在MicroPython中編程。

Micropython包含一小部分Python標(biāo)準(zhǔn)庫,所以不是每個標(biāo)準(zhǔn)庫中的模塊可用。但是,MicroPython確實包含訪問低級硬件的模塊,這意味著有些模塊可以輕松地與微控制器上的GPIO進行交互。

MicroPython還帶有交互式REPL(讀取 - 評估 - 打印循環(huán)),這是MicroPython經(jīng)常被忽視的驚人功能。 REPL允許您連接到微控制器,快速執(zhí)行代碼而無需編譯或上傳代碼。這可以立即反饋您的程序是否按預(yù)期工作。

什么是ESP32/ESP8266?

ESP32和ESP8266是低成本的Wi- Fi模塊,非常適合DIY物聯(lián)網(wǎng)IoT)項目。

兩者都帶有通用輸入/輸出引腳(GPIO),并支持各種協(xié)議,包括SPI,I2CUART等。 ESP系列中最具吸引力的部分是它們帶有無線網(wǎng)絡(luò),將它們與Arduino微控制器相媲美??偠灾?,ESP系列允許您以極低的價格使用Wi-Fi輕松遠程控制/監(jiān)控設(shè)備。

必需硬件

為此教程,我們將使用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及以上模塊建立穩(wěn)定的固件,

每日固件版本為1024kb模塊及以上,

每日固件構(gòu)建512kb模塊。

如果這是您第一次使用MicroPython,建議使用穩(wěn)定的固件版本。如果您是使用MicroPython的高級ESP8266用戶,您可以密切關(guān)注開發(fā)并通過測試每日構(gòu)建的新功能來幫助項目。

如何將固件加載到NodeMCU上

下載固件后,就可以將其加載到NodeMCU板上了。實現(xiàn)此目的有兩個主要步驟:

將NodeMCU置于引導(dǎo)加載程序模式

跨固件復(fù)制到NodeMCU

**注意:如果您使用除NodeMCU 12E之外的任何其他類型的電路板,這些步驟高度依賴于特定電路板,您需要參考其文檔以獲取詳細信息。

要將MicroPython固件刷新到NodeMCU上,您可以選擇以下任一技術(shù)。

初學(xué)友好:NodeMCU PyFlasher

一個帶有GUI的自包含NodeMCU閃存器,它使用由MarcelSt?r開發(fā)的esptool.py和wxPython(Python GUI庫) 。使用適用于Windows(.exe),macOS(.dmg)以及運行Python的任何內(nèi)容的最新版本。

一旦插入NodeMCU,您現(xiàn)在應(yīng)該可以選擇COM它連接的端口。如果您在此列表中沒有看到它,則可能需要下載USB串行驅(qū)動程序。一旦驅(qū)動程序處于活動狀態(tài),您就可以通過在NodeMCU PyFlasher上的下拉列表或設(shè)備管理器(在Windows上)中選擇它來確定COM端口號。

確定ModeMCU PyFlasher下拉列表中的COM端口號。

選擇設(shè)備中的COM端口管理員,如果您使用的是Windows。

現(xiàn)在只需從下載位置選擇下載的MicroPython固件.bin文件,選擇波特率115200(默認為NodeMCU),使用雙I/O閃存模式并單擊Flash NodeMCU。完成后,您應(yīng)該看到如下所示的屏幕。

成功完成固件下載后,您將看到的窗口。

高級用戶

將MicroPython固件刷新到NodeMCU板上的另一種方法是使用esptool.py(運行于PyFlasher的背景)。下載后,您需要將MicroPython固件.bin移動到與esptool.py相同的目錄中,以使命令更容易。

在運行esptool.py之前,您需要確定端口號使用設(shè)備管理器的NodeMCU板?,F(xiàn)在使用命令提示符或powershell(在PC上安裝Python),導(dǎo)航到存儲esptool.py的目錄并運行命令:

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(讀取評估打印循環(huán))是您可以在NodeMCU上訪問的交互式MicroPython提示的名稱。使用REPL可以大大簡化并加快測試代碼和運行命令的速度。

雖然您可以通過Wi-Fi(WebREPL)訪問REPL,但本文僅介紹如何通過訪問REPL來訪問REPL。通過UART串口進行有線連接。

要通過USB-serial訪問提示,您需要使用終端仿真器程序。 PuTTY是一個開源的SSH和telnet客戶端,您可以將其用作終端仿真程序來訪問您的NodeMCU REPL,否則,Windows上有TeraTerm,Mac上的內(nèi)置屏幕程序和Linux都有picocom和minicom。還有許多其他終端程序可以使用,因此請選擇您喜歡的。

首次打開PuTTY后,您需要設(shè)置設(shè)置配置以訪問NodeMCU。首先,我們選擇串行連接類型。然后,從步驟3開始,我們現(xiàn)在知道NodeMCU板所在的COM端口號(本例中為COM3)。從那里,我們可以設(shè)置115200的波特率,我們已準(zhǔn)備好連接。這些設(shè)置也可以在將來使用時保存。此示例的設(shè)置如下所示。

PuTTY配置設(shè)置。

連接后,您將看到一個屏幕如下,可以測試你的代碼!

一旦你連接了,你就會受到這個屏幕的歡迎。

如何讓LED開啟

NodeMCU 12E上有連接到GPIO2的板載LED,您可以使用以下代碼打開和關(guān)閉它:

》》》 import machine

》》》 pin = machine.Pin(2, machine.Pin.OUT)

》》》 pin.on()

》》》 pin.off()

請注意pin.on()可能會關(guān)閉LED和pin.off()可能會打開LED(反之亦然),具體取決于LED在電路板上的接線方式。

使LED連接到No的代碼deMCU flash。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    959

    瀏覽量

    44545
  • NODEMCU
    +關(guān)注

    關(guān)注

    13

    文章

    289

    瀏覽量

    21187
  • Micropython
    +關(guān)注

    關(guān)注

    0

    文章

    68

    瀏覽量

    4681
收藏 人收藏

    評論

    相關(guān)推薦

    esp32和esp8266代碼共用嗎

    本文介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進入我們的生活。其中,
    的頭像 發(fā)表于 08-19 18:23 ?613次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?1444次閱讀

    ESP8266需要燒錄固件庫嘛

    的步驟。 一、固件庫的作用 固件庫是一組預(yù)先編寫好的程序代碼,用于實現(xiàn)ESP8266模塊的特定功能。這些代碼通常由經(jīng)驗豐富的開發(fā)者編寫,經(jīng)過
    的頭像 發(fā)表于 08-19 17:30 ?289次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項目中。然而,如果不進行燒錄,ESP8266無法正常工作。 1. ESP8266簡介
    的頭像 發(fā)表于 08-19 17:28 ?358次閱讀

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?617次閱讀
    Arduino Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    如何ESP2866更新到正確的AT Command固件

    /mega-wifi-r3-atmega2560-esp8266-flash-32mb-usb-ttl-ch340g-micro-usb.html 在通電時,它會創(chuàng)建一個 WiFi AP,而不會被告知這樣做(Arduino 草圖什么都不做)。 我猜它在ESP8266
    發(fā)表于 07-19 08:37

    ESP8266加載micropython,文件的MD5與閃存中的數(shù)據(jù)不匹配怎么解決?

    ESP8266 加載 micropython,文件的 MD5 與閃存中的數(shù)據(jù)不匹配!
    發(fā)表于 07-19 08:08

    請問如何在ESP8266-12E執(zhí)行AT v.20的完整固件上傳?

    我有一個 NodeMCU DevKit v1.0 開發(fā)。它上面有一個 ESP8266-12E,之前運行的是 NodeMCU 固件。我想嘗試
    發(fā)表于 07-16 07:25

    ESP8266 Huzzah不響應(yīng)AT命令的原因?

    我的 esp8266 Huzzah 分線板最近使用 esp 閃存工具,使用 NONOS SDK v2.0.0 重新刷新。我認為這將允許 esp 在通過 arduino 串行監(jiān)視器發(fā)送
    發(fā)表于 07-11 08:21

    刷新ESP13固件失敗的原因?

    正在嘗試 Doit 固件刷新到最新版本的 ESP8266_NONOS_SDK 中包含的 AT 固件。 I get \"Chip sync
    發(fā)表于 07-10 07:43

    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對比差異

    ESP8266ESP8285對比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)多加了1/2MB Flash,
    的頭像 發(fā)表于 05-17 11:44 ?903次閱讀
    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對比差異

    確定ESP8266固件下載成功的方法

    在物聯(lián)網(wǎng)設(shè)備的開發(fā)過程中,確定esp8266固件是否成功下載至設(shè)備十分關(guān)鍵。以下是一種簡單有效的確認方法:機智云物聯(lián)網(wǎng)平臺首先,確保你的ESP8266模塊已經(jīng)正確連接至計算機,并通過串口調(diào)試助手進行
    的頭像 發(fā)表于 05-16 08:10 ?324次閱讀
    確定<b class='flag-5'>ESP8266</b><b class='flag-5'>固件</b>下載成功的方法

    ESP8266使用MicroPython怎么查看無線信號強度?

    ESP8266使用MicroPython怎么查看無線信號強度
    發(fā)表于 11-10 07:40

    esp8266microPython如何調(diào)用Arduino庫?

    esp8266microPython如何簡單的調(diào)用Arduino庫,本人C++不是太熟練,想把ATmega328p的一個LCD屏驅(qū)動移植到esp8266 microPython ,不
    發(fā)表于 10-30 07:42

    nodemcuesp8266是什么關(guān)系?

    nodemcuesp8266是什么關(guān)系 nodemcuesp8266是什么關(guān)系?通俗理解就是nodemcu是一個開發(fā)
    的頭像 發(fā)表于 10-20 14:53 ?3317次閱讀
    <b class='flag-5'>nodemcu</b>和<b class='flag-5'>esp8266</b>是什么關(guān)系?