首頁 > 評測 > 讓WIFI開發(fā)變得更簡單—Adafruit ESP8266開發(fā)板上手

讓WIFI開發(fā)變得更簡單—Adafruit ESP8266開發(fā)板上手

ESP8266   Adafruit   feather   WIFI   HUZZ   
  • 作者:SATURN
  • 來源:21ic
  • [導讀]
  • 此次評測帶來的是Adafruit推出的Feather系列中的ESP8266開發(fā)板。本文中使用VSC加Arduino拓展來實現(xiàn)8266的開發(fā),其中用到了Arduino的庫中一個很有意思的組件——aREST庫。

不過說實話,Arduino這個IDE用著實在蛋疼!所以還是使用更好用的VSCODE來進行吧,使用VSCODE來開發(fā)ARDUINO程序的話,先要安裝VSCODE-ARDUINO這個擴展(插件),安裝過程就不詳述了,參考官方說明即可。

不過VSCODE也蛋疼,新版的VSCODE默認對C/CPP的頭文件處理模式使用的不再是Tag Parser,而是所謂的Default模式。這樣智能感知及頭文件搜尋就有點小問題,所以在VSCODE中還要對USER SETTINGS文件作如下修改

image9.png

即將默認的模式改為Tag Parser模式。

萬事俱備,只差一段代碼了。

image10.png

這段代碼就是點個燈,有點簡單,不過作為測試VSCODE配置是否正確而言足夠了。

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

補充一點,在VSCODE中選擇開發(fā)板類型及串口參數,參考下圖

image11.png

接下來再寫一段簡單的代碼測試WIFI功能,將開發(fā)板設置成STATION模式,從上級路由中獲取IP地址,通過串口顯示

使用WIFI對象來配置開發(fā)板,只需要兩個參數,一個是SSID,另一個是WPA密碼,修改這兩個值,與實際的路由器匹配即可。

注意下面的輸出窗口,這是使用ESPTOOL上傳代碼到開發(fā)板的過程。

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

image13.png

看到開發(fā)板已獲取到了實際的IP地址。

注意前面的亂碼,ESP8266默認上電后的串口波特率為921600,實際配置的工作參數為115200,所以就亂了。

光鏈接WIFI也沒啥,總得用來干點實事!繼續(xù)來點燈,這次的版本是網絡版的點燈,附帶介紹下aREST庫,這個庫結合WIFI功能,可以實現(xiàn)通過網絡來控制或讀取開發(fā)板上的信息。

需要包含如下頭文件

image14.png

UI部分的代碼如下

image15.png

這里設置了UI的標題,控制LED燈的按鈕及兩個顯示文本的組件,并不復雜。

代碼運行效果如下

image16.png

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

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

image17.png

這是本地網絡的通信,如果要連接上Internet,在任何地點實現(xiàn)遠程訪問及控制,可以使用另外一個稱為PubSubClient的庫來實現(xiàn),有興趣的童鞋可以去看看這個庫的特性。

前面介紹過,ESP8266還可以支持Python及Lua,接下來看看如何使用這些流行的腳本語言來控制ESP8266。

從附錄給出的鏈接下載python固件,使用ESPTOOL燒錄到開發(fā)板,如下

image18.png

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

image19.png

要獲取簡單的用法,可以在命令提示符下輸入help()獲取得聯(lián)機幫助,下面的代碼演示了簡單的WIFI熱點掃描操作及結果

可以看到掃描出了附近可用的WIFI熱點,接下來可以使用連接命令來連接,進而實現(xiàn)其它網絡操作。

上圖中還測試了交互式計算功能,計算2的1024次方的結果,運算速度還不錯。

LUA操作與PYTHON操作基本類似,不過需要使用LUA固件,然后通過串口與開發(fā)板實現(xiàn)交互,這里就不贅述了。

總體來說,ESP8266還是很有吸引力的。一是開發(fā)板體積小巧,尤其適用在現(xiàn)有的創(chuàng)意中添加網絡支持功能;基于ARDUINO的開發(fā),也降低了準入門檻,菜鳥只需要花費很少的時間熟悉一下相關的API,就可以很快集成網絡通信功能;PYTHON及LUA語言的支持,進一步拓寬了使用面,特別是對于那些不熟悉C語言的用戶來說,真是一大福音!

參考資源:

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),未經許可禁止轉載!

網友評論