最近更新: 2019-06-26

NodeMCU 韌體與軟體更新工具

NodeMCU

NodeMCU,是一個開源的物聯網平台。它使用Lua手稿語言編程。該平台基於 eLua 開源專案, 底層使用ESP8266 sdk 0.9.5版本。

NodeMCU - 維基百科

NodeMCU 使用工具

  • python - 建議 Python3 。執行 esptool 所需。
  • esptool - 韌體更新工具。
  • OpenJDK - 7 或以上版本。建議 OpenJDK 8 。執行 ESPlorer 所需。
  • ESPlorer - IDE 工具。

簡單來說, esptool 用於寫入 NodeMCU 的韌體或任何 ESP8266 的 binary 內容。而 ESPlorer 則是讓 lua 開發者上傳 lua 程式檔。 兩個各自負責不同的內容。

韌體來源

NodeMCU custom builds 網站,建立客製化的韌體。大概 10 分鐘就可以搞定。

請填有效的電子郵件信箱,因為它會用這信箱通知你韌體建立完成和下載網址。

lua 開發者必須選擇下方的 LFS 選項。才有儲存 lua 程式的檔案區。

esptool

esptool 用於寫入韌體,已在 pypi 登記。故用 pip 即可安裝。如下:

$ pip3 install esptool

$ esptool.py version
esptool.py v2.6

Windows 用戶注意,如果你是單獨下載 Python3 for Windows 安裝包, pip3.exe 所在目錄可能沒有被加進 PATH 環境變數。建議加入。

兩個常用指令,一是清空 NodeMCU flash 。二是寫入新的韌體。詳細指令可看 專案說明

清空 flash

指令參數 erase_flash

$ esptool.py --port 埠名 erase_flash

常用於韌體寫入失敗,或者先前當成 Arduino 使用,現在想用 NodeMCU 韌體。

如果你的 NodeMCU 通電後, LED 會不停快速閃爍,通常就表示韌體有問題。你需要先清空它,才能再寫入。

寫入韌體

指令參數 write_flash

$ esptool.py --port 埠名 --baud 115200 write_flash -fm dio 0x00000 nodemcu-master-????.bin

ESPlorer

ESPlorer 是俄國人開發的 Java 軟體。正式網站是俄文內容,我看不懂。但軟體本身提供英文使用介面,使用沒問題。

它主要是針對 lua 開發者的 IDE 工具。但你也可以用其他程式編輯器編寫程式碼,如 VS Code 。單純把 ESPlorer 當上傳 lua 程式的工具,。

Windows 用戶注意,有好幾個社群為 OpenJDK8 提供 Windows 安裝包,但相容性不一。 ESPlorer 會挑。我試了幾種,最後選擇的是 ojdkbuild 的安裝包。

Zulu OpenJDK 64bit 執行 ESPlorer 時, console 畫面會輸出 AWT 例外訊息,但不至於終止程式。至於 32bit 版本則完全正常。 AdoptOpenJDK 64bit 執行 ESPlorer 時,會因 Swing 例外而終止程式。