本系列文章將試圖實現,使用Web頁面遠程點亮led。具體包括:node
在NodeMCU上搭建HTTP服務器,使其能夠經過Web頁面配置要接入的網絡。git
在配置頁面能夠顯示附近中英網絡名與信號強度。github
使用MQTT協議與Node.js服務端的通訊。json
Building the firmware提供了三種構建你本身固件的方式。服務器
這裏推薦使用簡單的雲構建服務NodeMCU custom builds來定製本身的固件,只須要在該網站選擇你須要的庫,留下郵箱,不一會就能收到編譯好的固件。網絡
我選擇了這些庫:cjson,crypto,file,gpio,http,mqtt,net,node,pwm,tmr,uart,wifi編輯器
下載nodemcu-flasher的Release版本,注意操做系統位數。工具
鏈接NodeMCU到電腦,運行flasher。網站
在Config選項卡下,配置好本身固件的路徑。ui
而後回到Operation下,點擊Flash(F),稍等片刻便可。
Uploading code一樣提供了多種工具來上傳代碼與文件到NodeMCU。
推薦使用ESPlorer,須要Java環境。下載ESPlorer.zip。
解壓後,運行ESPlorer.jar。
在ESPlorer窗口右上部,設置端口號。
點擊Open,按下NodeMCU上的RST按鈕重啓。若是一切正常,會有這些輸出:
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再試。
上傳完畢後重啓NodeMCU。若是一切正常,你將看到NodeMCU成功連入你的AP。
你也能夠在NodeMCU-Tutorial下載到本文的相關資源和代碼。