前言
雖然ESP8266提供了sdk,但對于大多數人來說,弄個linux,交叉編譯,c語言接口顯然不夠友好,這不出現了很多腳本語言的外殼項目,可以用腳本語言控制硬件! 牛! NodeMCU用的是Lua語言。
默認的ESP8266上電后用的是 AT指令進行控制,這個在上一節已經有了介紹。這一屆要刷入NodeMCU。
編譯和下載NodeMCU
有個比較有用的網站 https://nodemcu-build.com/ , 可以自選模塊進行編譯,這樣即便是Flash最小的 ESP8266-01 也可以滿足應用需求,畢竟一個應用不會用到所有的模塊。。
我選擇了 file, gpio, net, node, tmr, uart, wifi. 這幾個接口,輸入了自己的郵箱,開始了編譯,大概5分鐘后,發來一封郵件,有下載地址。
下載到一個bin文件, 391K, 很小吧?? 512KB的Flash也可以。 我買的板子是 8Mbits ,就是 1MB的Flash。(怎么看? 你串口執行 AT-RST ,就能看到)
燒寫
燒寫有個條件, 就是要講GPIO0 拉低。那怎么拉低呢?直接將GPIO0和GND連接起來。我買的USB轉串口的板子沒這個功能(有帶這個功能的板子,可以直接買),只要動錫焊,喊上了兩個插針,
如下圖。 平常用的時候,不插。燒寫時查到一條線上就好。另外我還將GPIO2 也引出了。 這個板子就只有GPIO0和GPIO2能用。
接線完成后, 使用專用燒寫工具, 就開始燒寫了。 如果接線不正確,就會一直不往前走。燒寫工具下載地址
https://raw.githubusercontent.com/nodemcu/nodemcu-flasher/master/Win64/Release/ESP8266Flasher.exe
這里只填一行就行。。。 地址為0, 可以看到日志
Note:Detect serial port changed.
Note:Auto MAP serial port.Port-->COM4
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Note:Set base address success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Program flash success.
Note:Serial port disconnected.
Note:Detect serial port changed.
補充一句,波特率低,真坑啊 太慢了。 所以在刷之前,先把波特率 調高一點再說。。。
點擊Flash按鈕進度就會慢慢往后走,最后刷完了能看到上面的日志。 這時候拔下先,重啟就好了。
刷完后默認的波特率是 115200 。
測試一下,輸入一個print試一試,完美。
刷機完成。