首頁(yè) > 評(píng)測(cè) > 讓W(xué)IFI開發(fā)變得更簡(jiǎn)單—Adafruit ESP8266開發(fā)板上手

讓W(xué)IFI開發(fā)變得更簡(jiǎn)單—Adafruit ESP8266開發(fā)板上手

ESP8266   Adafruit   feather   WIFI   HUZZ   
  • 作者:SATURN
  • 來(lái)源:21ic
  • [導(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文件作如下修改

image9.png

即將默認(rèn)的模式改為Tag Parser模式。

萬(wàn)事俱備,只差一段代碼了。

image10.png

這段代碼就是點(diǎn)個(gè)燈,有點(diǎn)簡(jiǎn)單,不過(guò)作為測(cè)試VSCODE配置是否正確而言足夠了。

按組合鍵CTRL+ALT+U,將編譯并上傳代碼到開發(fā)板,然后看到開發(fā)板上的紅色LED開始閃爍。

補(bǔ)充一點(diǎn),在VSCODE中選擇開發(fā)板類型及串口參數(shù),參考下圖

image11.png

接下來(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ò)程。

接下打開串口輸出窗口,可以看到輸出的信息如下

image13.png

看到開發(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ā)板上的信息。

需要包含如下頭文件

image14.png

UI部分的代碼如下

image15.png

這里設(shè)置了UI的標(biāo)題,控制LED燈的按鈕及兩個(gè)顯示文本的組件,并不復(fù)雜。

代碼運(yùn)行效果如下

image16.png

界面雖稱不上美觀,但也夠用了。

不過(guò)在ESP8266上用的話,注意這個(gè)ON/OFF的值是反的,即寫入1是來(lái)燈,寫入0則是亮燈。D3(RED)的原理圖參考如下

image17.png

這是本地網(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ā)板,如下

image18.png

使用串口通信軟件如putty連接到開發(fā)板,就可以與開發(fā)板實(shí)現(xiàn)交互了,如下圖

image19.png

要獲取簡(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
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項(xiàng)目外包 more+