做一期ESP8266-NodeMCU物聯(lián)網(wǎng)模塊的介紹,詳解該模塊的電路和原理以及引腳的使用說明,后面會逐步上案例的。如有問題,請聯(lián)系,及時更正。
ESP8266-NodeMCU 開發(fā)板
物聯(lián)網(wǎng)模塊,有ESP8266網(wǎng)絡(luò)模塊,配置有一般開發(fā)板的常用功能。iic ,pwm ,串口等常見通信。
ESP8266-NodeMCU
- ESP8266-NodeMCU是一個開源硬件開發(fā)板,由于它支持WIFI功能,所以在物聯(lián)網(wǎng)(IOT)領(lǐng)域,Arduino開發(fā)板最大的對手之一就是ESP8266-NodeMCU開發(fā)板。
- ESP8266-NodeMCU尺寸與Nano類似,他并不是Arduino團隊開發(fā)的,但是我們也可以使用Arduino IDE對他進行開發(fā)。而且他還有一顆地道的“中國芯”—ESP8266模塊。
NodeMcu arduino編程環(huán)境搭建(Esp8266開發(fā)環(huán)境搭建)
- ESP8266模塊+NodeMCU模塊組成的
- 簡單理解一下NodeMCU ,NodeMCU,是一個開源的物聯(lián)網(wǎng)平臺。 它使用Lua腳本語言編程。該平臺基于eLua開源項目,底層使用ESP8266 sdk 0.9.5版本。該平臺使用了很多開源項目, 例如 lua-cjson, spiffs. NodeMCU包含了可以運行在esp8266Wi-FiSoC芯片之上的固件,以及基于ESP-12模組的硬件,(少量的排針和usb 數(shù)據(jù)接口,存儲構(gòu)成最簡單的一個用用功能的單元模塊)
- 生產(chǎn)廠家:安信可和樂鑫都是主流的esp8266 衍生流,,差球不多,均都有中英文說明。
目前流行的ESP8266-NodeMCU有兩塊,他們只是串口燒寫芯片有所不同,因此在開發(fā)之前需要安裝對應(yīng)板子的串口驅(qū)動,分別是CH340和CP2102驅(qū)動,然后直接用安卓數(shù)據(jù)線連接電腦。
NodeMCU引腳功能
上圖圖例說明
POWER: 電源 SP,FUNCTION:nodemcu 操作內(nèi)部存儲單元的(6-11不用)
I/O:通用輸入輸出 COMM,INTERFACE: 均代表的是通訊引腳spi ,串口,iic
ADC:模擬 PIN NUMBER:排針序號,開發(fā)過程不太用,pcb制作會用
CONTROL:字面理解就是控制,8266 都知道需要CHPD拉高 PWM
N/C: N/O 是常開觸點。N/C 是常閉觸點(就是不用)
sub數(shù)據(jù)口旁邊的兩個按鍵說明一下
RST(復位鍵)
FLASH(刷固件用的,可以參考刷固件手冊)
ESP8266引腳功能一覽
引腳說明
ESP8266芯片有17個GPIO引腳(GPIO0~GPIO16)。這些引腳中的GPIO6~GPIO 11被用于連接開發(fā)板的閃存(Flash Memory)。如果在實驗電路中使用GPIO6~GPIO11,NodeMCU開發(fā)板將無法正常工作。因此建議您不要使用GPIO6~GPIO 11。
作為唯一模擬引腳ADC引腳AD
電壓 0-1V,
其他數(shù)字引腳0-3.3V
-lua編程中的端口例如:lua程序中的pin5對應(yīng)D5,D5對應(yīng)GPIO14 pin2對應(yīng)D2,D2對應(yīng)GPIO4 其中pin6-pin11 不可用,
–lua編程中的端口對應(yīng):[[
0–GPIO16 1–GPIO5 2–GPIO4 3–GPIO0 4–GPIO2
5–GPIO14 6–GPIO12 7–GPIO13 8–GPIO15 9–GPIO3
10–GPIO1 11–GPIO9 12–GPIO10
]]
GPIO15(D8)
GPIO15(D8)引腳在開發(fā)板運行中一直保持低電平狀態(tài)。
因此請不要使用GPIO15引腳來讀取開關(guān)狀態(tài)或進行I2C通訊。
上拉電阻/下拉電阻
GPIO 0-15引腳都配有內(nèi)置上拉電阻。這一點與Arduino十分類似。GPIO16 引腳配有內(nèi)置下拉電阻。
Esp8266芯片的模擬輸入
ESP8266 只有一個模擬輸入引腳(該引腳通過模擬-數(shù)字轉(zhuǎn)換將引腳上的模擬電壓數(shù)值轉(zhuǎn)化為數(shù)字量)。
此引腳可以讀取的模擬電壓值為 0 – 1.0V。請注意:ESP8266 芯片模擬輸入引腳連接在1.0V以上電壓可能損壞ESP8266芯片。
以上所描述的是針對ESP8266芯片的引腳。
幸運的是,對于NodeMCU開發(fā)板引腳,情況就不同了。
NodeMCU開發(fā)板配有降壓電路。您可以用NodeMCU開發(fā)板的模擬輸入引腳讀取0-3.3V的模擬電壓信號。
串行端口 請勿占用使用TA
ESP8266有2個硬件串行端口(UART)。
串行端口0(UART0)使用GPIO1和GPIO3引腳。其中GPIO1引腳是TX0,GPIO3是RX0。
串行端口1(UART1)使用GPIO2和GPIO8引腳。其中GPIO2引腳是TX1,GPIO8是RX1。請注意,由于GPIO8被用于連接閃存芯片,串行端口1只能使用GPIO2來向外發(fā)送串行數(shù)據(jù)。
IIC模式
ESP8266只有軟件模擬的I2C端口,沒有硬件I2C端口。也就是說我們可以使用任意的兩個GPIO引腳通過軟件模擬來實現(xiàn)I2C通訊。ESP8266的數(shù)據(jù)表(datasheet)中,GPIO2標注為SDA,GPIO14標注為SCL。
SPI 模式
ESP8266的SPI端口情況如下:
GPIO14 — CLK
GPIO12 — MISO
GPIO13 — MOSI
GPIO 15 — CS(SS)
pwm
GPIO15----管腳D8
GPIO12-----管腳D6
GPIO14-----管腳D5
GPIO4-----管腳D2
Arduino 編程 ESP8266 12F NodeMCU 實現(xiàn) PWM 控制呼吸燈
ESP8266 網(wǎng)絡(luò)
同ESP8266模塊用法一樣,
電路圖如下
圖片來自商家的,有點虛,自己下載放大看吧
下面是學習Arduino 開發(fā)的主文件示例,后面的程序會在改函數(shù)基礎(chǔ)上去編寫代碼。文章來源:http://www.zghlxwxcb.cn/news/detail-787511.html
/*當程序開始執(zhí)行時,將調(diào)用setup()函數(shù),使用它來初始化變量,引腳模式,開始使用庫等。設(shè)置功能僅在 Arduino 板的每次通電或復位后運行一次。使用此函數(shù),類似于起始函數(shù)。與stm32的main函數(shù)相似的*/
void setup() {
// put your setup code here, to run once:
}
/*在創(chuàng)建一個 setup() 函數(shù)(初始化并設(shè)置初始值)之后,loop() 函數(shù)將按照其名稱的含義執(zhí)行,并連續(xù)循環(huán),從而允許程序進行更改和響應(yīng)。使用它來主動控制arduino板。連續(xù)執(zhí)行函數(shù)內(nèi)的語句.寫一些需要循環(huán)操作的邏輯代碼*/
void loop() {
// put your main code here, to run repeatedly:
}
后面會發(fā)布 NodeMcu arduino ESP8266WIFI 模塊的例程。文章來源地址http://www.zghlxwxcb.cn/news/detail-787511.html
到了這里,關(guān)于ESP8266-NodeMCU物聯(lián)網(wǎng)原理介紹以及說明(新手入門)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!