Arduino環境下開發NodeMCU(ESP8266)

無雙劍心發表於2017-09-19

Arduino環境下開發NodeMCU(ESP8266)


  以前用過ESP8266,只是一些簡單的應用。將ESP8266與微控制器相連,使用AT指令進行串列埠通訊,從而達到傳送資訊、接收資訊一些目的。由於最近專案,需要充分利用ESP8266的內部資源,所以對ESP8266的應用進行了更加深入的研究。現將學習成果,總結如下。如有遺漏或者錯誤,歡迎指出。

   目前,我所知道的ESP8266的開發方式有這幾種:

  • AT指令方式 –燒錄AT的韌體包,使用AT指令與ESP8266互動,執行相應指令,需與微控制器相連
  • NodeMCU的lua開發 –燒錄NodeMCU的韌體包,使用Lua語言開發,使用ESP內部資源。
  • Arduino IDE下的開發 –相當於直接編寫韌體,編譯之後,燒錄進ESP,使用ESP內部資源。

  這幾種方式我都有接觸過,說說我的體會。

  • AT指令開發方式:
    優點:開發簡單,資料較多。只需知道AT指令集,以及它的通訊方式即可。
    缺點:浪費資源,需要MCU與其通訊,不能獨立完成某項功能。
  • NodeMCU的lua開發:NodeMCU本質也是ESP8266,只是它的韌體是與lua指令碼語言互動。
    優點:節省資源,開發簡單,程式碼量少。
    缺點:
    1.lua直譯器執行效率較低,我最終換成ArduinoIDE開發,就是因為讀取感測器資料時,老是漏掉一個資料。2.前期準備比較麻煩。需要準備相應功能的韌體,燒錄進去,然後使用lua語言和工具與之除錯。
  • Arduino IDE下的開發方式:
    優點:集程式設計和燒錄一體,使用很方便。語言執行效率高,節省資源,開發簡單,該有的庫也都有。重要的是開發語言,對於我用微控制器的人來說,能夠很快上手。
    缺點:Arduino IDE需要寫較長的程式碼時,不是很方便,如果需要檢視底層函式或者方法,非常費勁。據說在VisualStudio 中有外掛,因為自己電腦的原因,我沒有嘗試過。

Arduino IDE下開發NodeMCU(ESP8266)步驟:


官方的GitHub倉庫:https://github.com/esp8266/Arduino

以及http://esp8266.github.io/Arduino/versions/2.0.0/doc/libraries.html#other-libraries-not-included-with-the-ide

軟體環境:Windows 7 64bit
     Arduino 1.6.7
硬體環境:NodeMCU(CH340版)
NodeMCU(CH340版)

  1. 開啟Arduino IDE,檔案–>首選項
    這裡寫圖片描述

  2. 附加開發板管理器網址:
    http://wechat.doit.am/package_esp8266com_index.json 或者
    http://arduino.esp8266.com/stable/package_esp8266com_index.json
    這裡寫圖片描述

  3. 專案 –> 載入庫 –> 管理庫,進入之後,它會自動下載庫索引,等待下載完後。(注:如果不能下載,肯定是網路的原因,我使用的是vpn)在搜尋欄輸入esp8266,點選安裝。
    這裡寫圖片描述
    這裡寫圖片描述

  4. 安裝完成之後,點選 工具 –> 開發板,會看見esp8266 模組,選擇相應的模組。之後,可以看到右下角出現了相應的資訊。
    這裡寫圖片描述

  5. 前期準備工作完成,下邊開始編寫程式碼,並且燒錄。

  6. 開啟Arduino,點選 檔案 –> 新建,點選 檔案 –> 儲存,輸入檔名,確定。
    寫入程式碼:
    void setup() {
    Serial.begin(115200);
    }

    void loop() {
    Serial.println("Hello,NodeMCU!");
    }

點選 驗證,確認沒有報錯。
這裡寫圖片描述

7.連線NodeMCU,安裝ch340驅動,點選 工具 –> 埠 –> 埠號。如果驅動安裝成功,連線上NodeMCU之後,會顯示相應的埠號。若沒有顯示,請檢查驅動或者連線問題。
這裡寫圖片描述

8.點選 上傳,先進行編譯,等待上傳。上傳完成之後,顯示上傳成功。
這裡寫圖片描述

9.點選工具 –>串列埠監視器。可以看見,在不斷的輸出 Hello,NodeMCU。

這裡寫圖片描述

相關文章