NodeMCU之旅(一):構建、刷入固件,上傳代碼


揚帆起航

本系列文章將試圖實現,使用Web頁面遠程點亮led。具體包括:

  • 在NodeMCU上搭建HTTP服務器,使其可以通過Web頁面配置要接入的網絡。

  • 在配置頁面可以顯示附近中英網絡名與信號強度。

  • 使用MQTT協議與Node.js服務端的通信。

nodemcu

構建固件

Building the firmware提供了三種構建你自己固件的方式。

這里推薦使用簡單的雲構建服務NodeMCU custom builds來定制自己的固件,只需要在該網站選擇你需要的庫,留下郵箱,不一會就能收到編譯好的固件。

我選擇了這些庫:cjson,crypto,file,gpio,http,mqtt,net,node,pwm,tmr,uart,wifi

刷入固件

下載nodemcu-flasherRelease版本,注意操作系統位數。

連接NodeMCU到電腦,運行flasher

Config選項卡下,配置好自己固件的路徑。

flasher-config

然后回到Operation下,點擊Flash(F),稍等片刻即可。

flasher-flashing
flasher-finished

上傳代碼

Uploading code同樣提供了多種工具來上傳代碼與文件到NodeMCU。

推薦使用ESPlorer,需要Java環境。下載ESPlorer.zip

解壓后,運行ESPlorer.jar

在ESPlorer窗口右上部,設置端口號。

點擊Open,按下NodeMCU上的RST按鈕重啟。如果一切正常,會有這些輸出:

esplorer-open

NodeMCU會在啟動后立即運行init.lua,但是現在我們還沒有上傳這個文件。

用你喜愛的編輯器保存下面代碼為init.lua。這些代碼會使NodeMCU連接到一個AP(Access Point),通過修改第四行代碼來配置SSID和密碼。對於開放網絡,使用空文本作為密碼。

-- init.lua
print('Setting up WIFI...')
wifi.setmode(wifi.STATION)
wifi.sta.config('MY_SSID', 'MY_PASSWORD')
wifi.sta.connect()

tmr.alarm(1, 1000, tmr.ALARM_AUTO, function()
    if wifi.sta.getip() == nil then
        print('Waiting for IP ...')
    else
        print('IP is ' .. wifi.sta.getip())
    tmr.stop(1)
    end
end)

保存后,點擊ESPlorer窗口左下區域的Upload ...來上傳。如果上傳失敗,嘗試重啟NodeMCU再試。

esplorer-upload

上傳完畢后重啟NodeMCU。如果一切正常,你將看到NodeMCU成功連入你的AP。

esplorer-ok

相關資源

NodeMCU文檔

NodeMCU custom builds

nodemcu-flasher

ESPlorer.zip

你也可以在NodeMCU-Tutorial下載到本文的相關資源和代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM