(一)ESP8266 nodeMCU 固件云構(gòu)建官網(wǎng):nodeMCU - Lua
一坤学、ESP8266剛買回來用押,需要燒錄Lua固件肢簿,才可以進(jìn)行Lua開發(fā),固件是Lua的源碼(C語言)進(jìn)行二次改造蜻拨,官網(wǎng)也提供了固件源碼開源池充,如果有興趣,可以搭建linux系統(tǒng)進(jìn)行個(gè)性化定制缎讼,再編譯成固件提供給ESP8266燒錄收夸,DIY需要對C語言、linux系統(tǒng)血崭、以及Lua源碼基礎(chǔ)咱圆。
二、作為新手功氨,我選擇官網(wǎng)的云構(gòu)建序苏,簡單的選擇幾個(gè)必備函數(shù):file、GPIO捷凄、net忱详、node、timer跺涤、UART匈睁、WiFi
簡單介紹功能:
1.file:文件操作函數(shù),當(dāng)我們需要保存新的數(shù)據(jù)(如wifi賬號桶错,wifi密碼)航唆,需要使用該函數(shù)在ESP8266內(nèi)創(chuàng)建、寫入院刁、刪除文件等操作糯钙。
2.GPIO:引腳接收、設(shè)置,作為新手任岸,我們可以先學(xué)習(xí)如何使用引腳點(diǎn)亮一個(gè)LED(包括 ESP8266的信號燈)
3.net:網(wǎng)絡(luò)模塊再榄、遠(yuǎn)程控制。用于創(chuàng)建TCP/UDP端口享潜,主要用于手機(jī)App困鸥、電腦端,接收剑按,發(fā)送數(shù)據(jù)疾就。
4.node:系統(tǒng)級功能,如睡眠艺蝴、重新啟動以及各種信息和 ID猬腰。
5.timer:分時(shí)器模塊。該模塊很重要吴趴,Lua屬于單線程漆诽,在ESP8266開發(fā)里,我們編程會使用timer 代替 while 死循環(huán)锣枝。
6.UART:串口通訊厢拭。與GPIO不同的是,這個(gè)是已經(jīng)設(shè)置好的引腳(TX - 發(fā)送 撇叁、RX - 接收)供鸠。
7.WiFi:wifi模塊。詳細(xì)介紹可以點(diǎn)擊函數(shù)后面的小圖標(biāo)進(jìn)入手冊查看陨闹。
三楞捂、不能使用QQ郵箱,我使用了163網(wǎng)易郵箱才構(gòu)建成功趋厉。
四寨闹、不能選擇過多的函數(shù)功能,由于ESP8266內(nèi)存有限君账,官網(wǎng)云構(gòu)建也會限制選擇數(shù)量繁堡。
五、如果官網(wǎng)構(gòu)建失敗乡数,這里推薦一位大佬私人搭建的云構(gòu)建平臺:云切物聯(lián)網(wǎng)工具箱-NodeMCU固件在線打包-bata1.0? ?QQ群:1139084223? 椭蹄。個(gè)人使用感覺比官網(wǎng)簡單方便。
六净赴、構(gòu)建成功后绳矩,5分鐘左右官網(wǎng)會返回一封郵件,包含了我們需要的固件文件玖翅。
七翼馆、我下載的是 第一個(gè) float-bin割以,暫時(shí)還沒研究兩個(gè)固件的區(qū)別,有懂行的可以評論區(qū)討論写妥。該鏈接官網(wǎng)有時(shí)效拳球,盡量兩個(gè)都下載审姓,這個(gè)固件一般都不需要重新構(gòu)建珍特,保存好,夠我們學(xué)習(xí)半年魔吐。
(二)ESP8266 固件燒錄工具
一扎筒、固件燒錄工具,網(wǎng)上有好幾種酬姆,我這個(gè)只拿來燒錄ESP8266嗜桌,暫時(shí)沒試過ESP32。
百度云盤鏈接:https://pan.baidu.com/s/1WLYck4X2C1DupVl2GtqyQQ? 提取碼:nsx4
二辞色、我選擇ESP8266 型號:ESP-12F 開發(fā)板進(jìn)行燒錄(主要是方便骨宠,直接插數(shù)據(jù)線即可)
三、設(shè)置固件路徑
四相满、設(shè)置參數(shù)层亿。這里比較需要注意的地方是 Flash size。以型號:ESP - 12F為例立美,SPI FLASH:32MB / 8? = 4MB匿又,所以我們設(shè)置4MB。
如果是 ESP - 01 或 ESP - 01s 那種小型的則是?SPI FLASH:8MB / 8? = 1MB建蹄。(附01/01s接線圖碌更,GPIO0接上為燒錄固件模式/拔掉為運(yùn)行模式)
五、燒錄過程會生成 AP MAC洞慎,STA MAC痛单,但是與ESP8266實(shí)際芯片的AP,STA MAC不一致劲腿,懂行的朋友可以評論區(qū)討論旭绒。這個(gè)數(shù)據(jù)我選擇不保存,以ESP8266實(shí)際為準(zhǔn)谆棱。
六快压、燒錄成功后,打開電腦端串口助手垃瞧,重啟ESP8266進(jìn)行Lua環(huán)境構(gòu)建蔫劣。
1.串口助手下載地址:https://pan.baidu.com/s/1BvPrMyQ2eYSLcu7UntYQfQ 提取碼:89ig
2.ESP8266 波特率:115200,選擇打開串口个从,點(diǎn)擊運(yùn)行模式脉幢⊥嵛郑或者點(diǎn)擊 ESP8266開發(fā)板上的 RST 啟動。
3.構(gòu)建Lua環(huán)境成功會顯示如下:
4.從這些信息里面我們可以了解到固件的信息嫌松,有個(gè)重點(diǎn):從此以后沪曙,ESP8266啟動都會去運(yùn)行一個(gè)名字為init.lua的文件。所以接下來我們就要學(xué)習(xí)燒錄Lua文件萎羔。
(二)ESP8266?nodeMCU 官網(wǎng)手冊:Lua 函數(shù)? - API
(三)ESP8266?nodeMCU 官網(wǎng)Github固件開源:nodemcu-firmware
(四)ESP8266?nodeMCU 官網(wǎng)推薦Lua燒錄工具
一液走、ESPlorer
1.這款工具是很多ESP8266 nodeMCU教程所使用的工具,但是用過它的人都知道贾陷,因?yàn)橹形淖⑨尩葐栴}缘眶,燒錄會經(jīng)常失敗。另外需要java環(huán)境髓废,nodeMCU官網(wǎng)其實(shí)也不推薦這個(gè)工具了巷懈,因?yàn)樗呀?jīng)沒有人去維護(hù)。
2.你也可以使用這款工具慌洪,因?yàn)樗薪缑娑パ啵瑢π率謥碚f,除了燒錄需要多點(diǎn)幾次冈爹,其實(shí)沒什么缺點(diǎn)涌攻。另外它還可以當(dāng)作串口助手來調(diào)試。
二犯助、NodeMCU - Tool
1.當(dāng)我受盡ESPlorer折磨后癣漆,無意中在官網(wǎng)看到了NodeMCU - Tool 工具,官網(wǎng)比較推薦使用剂买。不過它相比ESPlorer惠爽,它是屬于命令行形式,而沒有一個(gè)UI界面瞬哼。
2.我們需要一款編輯器,這里我選擇VScode坐慰。(關(guān)于VScode的教程较性,請移步)
3.我們需要node.js工具包,因?yàn)镹odeMCU-Tool使用js編寫的结胀,需要它來驅(qū)動代碼運(yùn)行赞咙。(關(guān)于Node.js的教程,請移步)
4.安裝NodeMCU-Tool:npm i -D nodemcu-tool
5.燒錄配置 COM5為USB接口,以實(shí)際為準(zhǔn)
6.多文件同時(shí)燒錄配置:"upload":"nodemcu-tool upload init.lua --port=COM5"
7.運(yùn)行 :npm run upload