首頁 > 評測 > ESP8266也可以用Lua腳本玩——NodeMCU ESP8266評測

ESP8266也可以用Lua腳本玩——NodeMCU ESP8266評測

Adafruit   HUZZAH   ESP8266   Breakout      
  • 作者:高揚
  • 來源:21ic
  • [導(dǎo)讀]
  • 這是一個開源,交互式,可編程,低成本,簡單,智能,WI-FI硬件。可以像Arduino一樣操作硬件IO提供硬件的高級接口,可以將應(yīng)用開發(fā)者從繁復(fù)的硬件配置、寄存器操作中解放出來。用交互式Lua腳本,像arduino一樣編寫硬件代碼!

1.1 簡介

隨著十三五規(guī)劃“互聯(lián)網(wǎng)+”的提出,物聯(lián)網(wǎng)行業(yè)百花齊放百家爭鳴,如今物聯(lián)網(wǎng)公司如雨后春筍一般遍地開花。那么當(dāng)然這里就要用到無線接入了,其中WIFI形式接入是目前的主流趨勢。這里就不得不提的一款WIFI模塊產(chǎn)品ESP8266,由于性價比極具誘惑,且童叟無欺,老少皆宜,十分受到開發(fā)者的喜愛。

那么今天呢,我就給大家介紹一款有Adafruit推出的基于ESP8266的WIFI開發(fā)板,說白了就是把ESP8266模塊通過一個差不多大小的PCB板把端口接出來并實現(xiàn)了最小系統(tǒng)功能。下圖就是純粹的ESP8266模組。由于小巧,設(shè)計合理,可以很容易嵌入到你的開發(fā)板中,不過如果作為開發(fā)板使用,還是需要外部焊接一些基礎(chǔ)電路的,比如復(fù)位電路,指示燈作用的LED等。

1.jpg

1.2 初見

收到之后,簡單的塑料袋包裝,取出東西展示一下。如下圖,主板一塊,排針兩條。給的排針可以自己根據(jù)使用情況焊接?紤]的很周到。

2.jpg

如果你把排針全部焊接,通常如下圖樣式。其中兩邊對稱的焊接向下,方便插入面包板或接入自己的電路板。頂端的6針焊接向上,方便直接連接串口調(diào)試或?qū)W習(xí)。

3.jpg

另外套件僅僅這些,如果需要跟電腦通信還需要自己準備一條串口線。官方建議的學(xué)習(xí)方式如下圖所示:

4.jpg

其中串口線和面包板自己準備。當(dāng)然如果你有其他的USB轉(zhuǎn)串口設(shè)備也是可以的,比如支持串口的單片機開發(fā)板上的編程器。有了初步的認識我們下面就進入板載資源分析。

1.3 板上資源

5.jpg

如圖所示,該開發(fā)板的主控MSP430FR2311就是開發(fā)板正中心那顆小拇指指甲蓋大小的芯片。提供的可被用戶編程把玩的板載外設(shè)有:一個用戶按鍵,兩枚LED燈,一枚光敏元件。根據(jù)之前介紹的,大家應(yīng)該猜測到這枚光敏元件應(yīng)該就是為跨阻放大器(TIA)演示而設(shè)計的。

另外板子還提供了5V電源接口和3.3V電源接口,方便把用戶為自己不同電源接口的外設(shè)提供電源。

1.4 安裝驅(qū)動

因為是基于單片機串口的通信,因此你需要一根USB轉(zhuǎn)TTL電平232的轉(zhuǎn)換線就可以了。安裝驅(qū)動根據(jù)你所選的轉(zhuǎn)TTL232設(shè)備而定。本人這里剛好手頭有一塊NUCLEO-F446ZE探索板。上面具備232串口。連接USB轉(zhuǎn)232設(shè)備后,在設(shè)備管理器可以找到該項目。如下:

6.jpg

我們順便記下端口號,我的這里端口號為5。根據(jù)選用接口轉(zhuǎn)換設(shè)備不同,端口號可能不同,串口設(shè)備的名字也可能不同。

1.5 DEMO測試

查看官網(wǎng),我們知道該板子出廠前已經(jīng)燒錄了NODE MCU固件。這里我們需要先了解一下該固件是什么。

Node MCU是一個開源的物聯(lián)網(wǎng)平臺, 它使用Lua腳本語言編程。

該平臺基于eLua開源項目,底層使用ESP8266 sdk 0.9.5版本。該平臺使用了很多開源項目, 例如 lua-cjson, spiffs. NodeMCU包含了可以運行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模組的硬件。

因此也可以說該模塊內(nèi)已經(jīng)燒入了可以運行LUA腳本程序的引擎固件。我們需要使用終端來與模塊通信,并輸入腳本命里,查看執(zhí)行情況。這里推薦終端程序使用putty,如下圖所示。

7.jpg

選擇串行通信,并輸入端口號,碼率設(shè)置為9600之后單擊Open,將會彈出終端命令行界面,如下圖。

8.jpg

此時我們就可以結(jié)合NodeMCU的API函數(shù)來測試了。

結(jié)合端口映射表來確定一下,我們?nèi)绾尾僮魃厦鍳PIO0對應(yīng)的LED。我們知道GPIO0是針對的Arduino來說的,根據(jù)下表可知,該端口對應(yīng)NodeMCU里的3。

 

10.jpg

 

點亮LED步驟如下:

操作目的操作代碼操作結(jié)果

 

111.jpg

 

由上面的操作步驟我們還可以看得出,#0上的LED是低電平有效。

因此如果想讓該LED閃爍起來可以如下操作。

12.jpg

作為一款嵌入式WIFI模塊,DEMO測試當(dāng)然要測WIFI的功能。下面我們測試如何開啟模塊 WIFI功能,并配置為AP模式。執(zhí)行完指令查看WIFI列表如下圖所示,在列表中出現(xiàn)名字為ESP_FD89E8的熱點名稱,這就是我們的ESP8266生成的WIFI接入點,對于更多配置的操作我們后面討論。

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論