ESP8266 NodeMCU 韌體設計 Lua Script
而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"。
沒有留言 :
張貼留言