2022年8月23日 星期二

NodeMCU簡介

 

介紹

NodeMCU 是為 ESP8266 wifi 芯片開發的基於LUA的開源固件。通過探索 ESP8266 芯片的功能,NodeMCU 固件隨附 ESP8266 開發板/套件,即 NodeMCU 開發板。

NodeMCU 開發板/套件 v0.9

NodeMCU 開發板/套件 v0.9 (Version1)

由於 NodeMCU 是一個開源平台,它的硬件設計是開放的,可以編輯/修改/構建。

NodeMCU 開發套件/板由支持 ESP8266 wifi 的芯片組成。ESP8266是樂鑫開發的  一款低成本的 Wi-Fi 芯片,採用 TCP/IP 協議。有關 ESP8266 的更多信息,您可以參考 ESP8266 WiFi 模塊

NodeMCU 開發套件有 Version2 (V2),即NodeMCU Development Board v1.0 (Version2),通常採用黑色 PCB。

NodeMCU 開發板 v1.0

NodeMCU 開發板/套件 v1.0 (Version2)

 

有關市場上可用的 NodeMCU 板的更多信息,請參閱 NodeMCU 開發板

NodeMCU 開發套件在其板上具有類似 Arduino 的模擬(即 A0)和數字(D0-D8)引腳。

它支持串行通信協議,即UART、SPI、I2C等。 

使用此類串行協議,我們可以將其與支持 I2C 的 LCD 顯示器、磁力計 HMC5883、MPU-6050 陀螺儀 + 加速度計、RTC 芯片、GPS 模塊、觸摸屏顯示器、SD 卡等串行設備連接。

如何開始使用 NodeMCU?

NodeMCU 開發板具有 wifi 功能、模擬引腳、數字引腳和串行通信協議。

要開始將 NodeMCU 用於 IoT 應用程序,我們首先需要了解如何在 NodeMCU 開發板中編寫/下載 NodeMCU 固件。在此之前,此 NodeMCU 固件將根據我們的要求獲得。

有可用的在線 NodeMCU 定製版本,我們可以根據我們的要求輕鬆獲得我們的定制 NodeMCU 固件。

要了解有關如何在線構建自定義 NodeMCU 固件和下載的更多信息,請參閱 NodeMCU 入門

如何為 NodeMCU 編寫代碼?

用 Node-MCU 固件設置好 ESP8266 後,我們來看看 NodeMCU 開發所需的 IDE(Integrated Development Environment)。

帶有 ESPlorer IDE 的 NodeMCU

Lua腳本通常用於對 NodeMCU 進行編碼。Lua 是一種建立在 C 編程語言之上的開源、輕量級、可嵌入的腳本語言。

有關如何為 NodeMCU 編寫 Lua 腳本的更多信息,請參閱 使用 ESPlorerIDE 開始使用 NodeMCU

帶有 Arduino IDE 的 NodeMCU

這是使用眾所周知的 IDE(即 Arduino IDE)開發 NodeMCU 的另一種方法。我們還可以使用 Arduino 開發環境在 NodeMCU 上開發應用程序。這使得 Arduino 開發人員比學習 NodeMCU 的新語言和 IDE 更容易。

有關如何為 NodeMCU 編寫 Arduino 草圖的更多信息,請參閱 使用 ArduinoIDE 開始使用 NodeMCU

 

使用 ESPlorer 和 Arduino IDE 的區別

好吧,在使用 ESPlorer IDE 和 Arduino IDE 開發 NodeMCU 應用程序時,我們可以說編程語言存在差異。

如果我們使用 Arduino IDE 開發 NodeMCU 應用程序,我們需要使用 C\C++ 編程語言進行編碼,如果我們使用的是 ESPlorer IDE,則需要使用 Lua 語言。

NodeMCU 基本上就是 Lua 解釋器,所以它可以很容易地理解 Lua 腳本。當我們為 NodeMCU 編寫 Lua 腳本並將其發送/上傳到 NodeMCU 時,它們將按順序執行。它不會為 NodeMCU 編寫代碼的二進制固件文件。它將按原樣發送 Lua 腳本到 NodeMCU 以執行。

在 Arduino IDE 中,當我們編寫和編譯代碼時,後台的 ESP8266 工具鏈會創建我們編寫的代碼的二進制固件文件。當我們將它上傳到 NodeMCU 時,它將使用新生成的二進制固件代碼刷新所有 NodeMCU 固件。事實上,它編寫了完整的固件。

這就是為什麼 NodeMCU 在被 Arduino IDE 刷新後不接受進一步的 Lua 腳本/代碼的原因。在被 Arduino 草圖/代碼刷新後,它將不再是 Lua 解釋器,如果我們嘗試上傳 Lua 腳本,則會出現錯誤。要再次使用 Lua 腳本,我們需要使用 NodeMCU 固件對其進行刷新。

由於 Arduino IDE 編譯和上傳/寫入完整的固件,它比 ESPlorer IDE 需要更多的時間。


資料來源:https://www.electronicwings.com/nodemcu/introduction-to-nodemcu

沒有留言: