首頁(yè) > 評(píng)測(cè) > 讓W(xué)IFI開發(fā)變得更簡(jiǎn)單—Adafruit ESP8266開發(fā)板上手
讓W(xué)IFI開發(fā)變得更簡(jiǎn)單—Adafruit ESP8266開發(fā)板上手
- [導(dǎo)讀]
- 此次評(píng)測(cè)帶來(lái)的是Adafruit推出的Feather系列中的ESP8266開發(fā)板。本文中使用VSC加Arduino拓展來(lái)實(shí)現(xiàn)8266的開發(fā),其中用到了Arduino的庫(kù)中一個(gè)很有意思的組件——aREST庫(kù)。
不過(guò)說(shuō)實(shí)話,Arduino這個(gè)IDE用著實(shí)在蛋疼!所以還是使用更好用的VSCODE來(lái)進(jìn)行吧,使用VSCODE來(lái)開發(fā)ARDUINO程序的話,先要安裝VSCODE-ARDUINO這個(gè)擴(kuò)展(插件),安裝過(guò)程就不詳述了,參考官方說(shuō)明即可。
不過(guò)VSCODE也蛋疼,新版的VSCODE默認(rèn)對(duì)C/CPP的頭文件處理模式使用的不再是Tag Parser,而是所謂的Default模式。這樣智能感知及頭文件搜尋就有點(diǎn)小問(wèn)題,所以在VSCODE中還要對(duì)USER SETTINGS文件作如下修改
即將默認(rèn)的模式改為Tag Parser模式。
萬(wàn)事俱備,只差一段代碼了。
這段代碼就是點(diǎn)個(gè)燈,有點(diǎn)簡(jiǎn)單,不過(guò)作為測(cè)試VSCODE配置是否正確而言足夠了。
按組合鍵CTRL+ALT+U,將編譯并上傳代碼到開發(fā)板,然后看到開發(fā)板上的紅色LED開始閃爍。
補(bǔ)充一點(diǎn),在VSCODE中選擇開發(fā)板類型及串口參數(shù),參考下圖
接下來(lái)再寫一段簡(jiǎn)單的代碼測(cè)試WIFI功能,將開發(fā)板設(shè)置成STATION模式,從上級(jí)路由中獲取IP地址,通過(guò)串口顯示
使用WIFI對(duì)象來(lái)配置開發(fā)板,只需要兩個(gè)參數(shù),一個(gè)是SSID,另一個(gè)是WPA密碼,修改這兩個(gè)值,與實(shí)際的路由器匹配即可。
注意下面的輸出窗口,這是使用ESPTOOL上傳代碼到開發(fā)板的過(guò)程。
接下打開串口輸出窗口,可以看到輸出的信息如下
看到開發(fā)板已獲取到了實(shí)際的IP地址。
注意前面的亂碼,ESP8266默認(rèn)上電后的串口波特率為921600,實(shí)際配置的工作參數(shù)為115200,所以就亂了。
光鏈接WIFI也沒(méi)啥,總得用來(lái)干點(diǎn)實(shí)事!繼續(xù)來(lái)點(diǎn)燈,這次的版本是網(wǎng)絡(luò)版的點(diǎn)燈,附帶介紹下aREST庫(kù),這個(gè)庫(kù)結(jié)合WIFI功能,可以實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)來(lái)控制或讀取開發(fā)板上的信息。
需要包含如下頭文件
UI部分的代碼如下
這里設(shè)置了UI的標(biāo)題,控制LED燈的按鈕及兩個(gè)顯示文本的組件,并不復(fù)雜。
代碼運(yùn)行效果如下
界面雖稱不上美觀,但也夠用了。
不過(guò)在ESP8266上用的話,注意這個(gè)ON/OFF的值是反的,即寫入1是來(lái)燈,寫入0則是亮燈。D3(RED)的原理圖參考如下
這是本地網(wǎng)絡(luò)的通信,如果要連接上Internet,在任何地點(diǎn)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)及控制,可以使用另外一個(gè)稱為PubSubClient的庫(kù)來(lái)實(shí)現(xiàn),有興趣的童鞋可以去看看這個(gè)庫(kù)的特性。
前面介紹過(guò),ESP8266還可以支持Python及Lua,接下來(lái)看看如何使用這些流行的腳本語(yǔ)言來(lái)控制ESP8266。
從附錄給出的鏈接下載python固件,使用ESPTOOL燒錄到開發(fā)板,如下
使用串口通信軟件如putty連接到開發(fā)板,就可以與開發(fā)板實(shí)現(xiàn)交互了,如下圖
要獲取簡(jiǎn)單的用法,可以在命令提示符下輸入help()獲取得聯(lián)機(jī)幫助,下面的代碼演示了簡(jiǎn)單的WIFI熱點(diǎn)掃描操作及結(jié)果
可以看到掃描出了附近可用的WIFI熱點(diǎn),接下來(lái)可以使用連接命令來(lái)連接,進(jìn)而實(shí)現(xiàn)其它網(wǎng)絡(luò)操作。
上圖中還測(cè)試了交互式計(jì)算功能,計(jì)算2的1024次方的結(jié)果,運(yùn)算速度還不錯(cuò)。
LUA操作與PYTHON操作基本類似,不過(guò)需要使用LUA固件,然后通過(guò)串口與開發(fā)板實(shí)現(xiàn)交互,這里就不贅述了。
總體來(lái)說(shuō),ESP8266還是很有吸引力的。一是開發(fā)板體積小巧,尤其適用在現(xiàn)有的創(chuàng)意中添加網(wǎng)絡(luò)支持功能;基于ARDUINO的開發(fā),也降低了準(zhǔn)入門檻,菜鳥只需要花費(fèi)很少的時(shí)間熟悉一下相關(guān)的API,就可以很快集成網(wǎng)絡(luò)通信功能;PYTHON及LUA語(yǔ)言的支持,進(jìn)一步拓寬了使用面,特別是對(duì)于那些不熟悉C語(yǔ)言的用戶來(lái)說(shuō),真是一大福音!
參考資源:
ESP8266: https://www.adafruit.com/product/2821
LUA ESP8266: http://nodemcu.com/index_en.html
PYTHON ESP8266: https://micropython.org/download#esp8266
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前