2015年10月28日 星期三

ESP8266 NodeMCU 使用 ESPLorer 寫入 Lua Script

ESP8266 NodeMCU 韌體設計 Lua Script

上一篇文章中有提到刷新 ESP8266 韌體的做法,這次說明的是使用開發工具 ESPlorer 來寫入Lua Script 進去ESP8266(NodeMCU)的做法。
而nodeMCU所提供了API查詢網頁可以查詢其中所支援的 API 與其定義。

ESPlorer

ESPLorer 是一款用 java 寫的開發工具(for ESP8266)。在 mac os x 或 Linux 底下需先安裝 JDK 套件之後才能執行它。打開 command line 之後,跑到 ESPLorer 的目錄底下鍵入:
$> java -jar ESPlorer.jar
之後就會出現ESPlorer的使用者介面如下:

和 ESP8266 連線

ESP8266 連線時的 pin 腳連線設置有兩個模式,一個是燒錄模式,另一個是一般模式。

燒錄模式接線接法

  • CH_PD --> 3.3v
  • VCC --> 3.3V
  • UTXD --> RXD (白色線)
  • URXD --> TXD (綠色線)
  • GPIO0 --> GND <重點>
  • GND --> GND

一般模式接線接法

  • CH_PD --> 3.3v
  • VCC --> 3.3V
  • UTXD --> RXD (USB-TTL 轉接線:白色線)
  • URXD --> TXD (USB-TTL 轉接線:綠色線)
  • GPIO0 --> 不要接 <重點>
  • GND --> GND
在燒錄 lua script 進去 ESP8266 的時候是使用一般模式的接線法。pin 設置做好之後就可以準備開始和 ESP8266 連線了。
nodeMCU 預設連線的UART設定是 9600,8,N,1 ,使用 ESPlorer 的時候要設定畫面右半邊的連線區域上的 Baudrate 選項設定為 9600 ,然後指定連線設備為 "/dev/tty.usbserial" (在 Linux 系統上應該是 "/dev/ttyUSB0")
設置完按下 "Open" 按鍵就開始連線。這時如果把ESP8266重新上電的話應該會看到類似下面的訊息:
NodeMCU custom build by frightanic.com
branch: master
commit: bb9dd62882b89d40f5d0df2c009c972f64b7f965
SSL: false
modules: node,file,gpio,wifi,net,tmr,uart
built on: 2015-09-18 02:26
powered by Lua 5.1.4

編輯 Lua Script 檔 & 燒錄 Lua Script

開發工具的左半邊是 Lua script 的程式碼編輯區,在此區編輯要燒入ESP8266模組的Lua script檔。要在連線的狀態之下才能燒入 Lua Script。
假設我們先寫了一個印出 "hello world" 的程式碼:
print("hello world")
然後按下編輯區下方的 "Send to ESP" 按鈕,會看到開發工具會把該行程式碼傳送給ESP後馬上執行。如果有程式碼不只一行的話會看到,傳一行執行一行,結束後才執行下一行的動作狀況。
開發工具也支援將lua script 用檔案的形式儲存在晶片之中,之後再呼叫出來運行的方式。做法是先在編輯區之中把程式碼打好,然後按上面的 "Save" -> 指定存檔檔名(副檔名要為.lua)。最後再按下下方的 "Save to ESP" 按鈕,就會看到開發工具會用 lua 的 file open 的方式來把程式碼檔案寫入晶片之中的檔案系統,並且用剛剛存檔的檔名。之後就可以使用 lua 的 dofile("檔名") 來執行已存在晶片之中的 lua script檔。
dofile("script.lua")

開機後執行的第一個lua script檔

nodeMCU的韌體預設在晶片開機的時候,會先自動呼叫 "init.lua" 這個檔案來執行。 如果要有開機後執行初始化設定的需求的時候,就把初始化動作寫好之後存指定檔名為 "init.lua" 之後,再按 "Save to ESP"。

沒有留言 :

張貼留言