0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

HUZZAH ESP8266突破口的使用

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-27 16:52 ? 次閱讀

概述

HUZZAH ESP8266突破口的使用

以可愛的,大小適中的WiFi微控制器以您喜歡的價(jià)格將Internet添加到您的下一個(gè)項(xiàng)目中! Espressif的ESP8266處理器是一個(gè)80 MHz微控制器,具有完整的WiFi前端(作為客戶端和訪問點(diǎn))以及具有DNS支持的TCP/IP堆棧。盡管該芯片非常流行,但也很難使用。大多數(shù)低成本模塊都不適合面包板,沒有板載500mA 3.3V穩(wěn)壓器或電平轉(zhuǎn)換,也沒有經(jīng)過CE或FCC發(fā)射器認(rèn)證。。..立即更新! p》

我們設(shè)計(jì)了HUZZAH ESP8266突破口,使使用此芯片超級(jí)容易且非常有趣。我們采用了帶有機(jī)載天線和大量引腳的經(jīng)過認(rèn)證的模塊,并將其焊接到我們設(shè)計(jì)的分線PCB上。我們添加了:

重置按鈕

用戶按鈕,該按鈕還可以使芯片進(jìn)入引導(dǎo)加載模式,

紅色LED可以閃爍

UART和復(fù)位引腳上的電平轉(zhuǎn)換

3.3V輸出,500mA穩(wěn)壓器(您需要假設(shè)ESP8266可以吸收最大250mA的電流,因此預(yù)算相應(yīng))

兩個(gè)二極管保護(hù)的電源輸入(一個(gè)用于USB電纜,另一個(gè)用于電池)

該模塊本身已通過FCC認(rèn)證,并包含ESP8266芯片,具有64 KiB的指令RAM,96 KiB的數(shù)據(jù)RAM和4 MB的QIO FLASH(32兆位)

兩側(cè)的兩個(gè)平行的,面包板友好的分支使您可以訪問:

1 x模擬輸入(最大1.0V)

9 x GPIO(3.3V邏輯),也可以用于I2C或SPI

2 x UART引腳

2 x 3-6V電源輸入,復(fù)位,啟用,禁用LDO的3.3V輸出

最后一個(gè)分支具有“ FTDI”引腳,因此您可以插入FTDI o r控制臺(tái)電纜,用于通過UART上傳軟件和讀取/寫入調(diào)試信息。完成編碼后,請拔下電纜,然后將這個(gè)小模塊嵌入到您的項(xiàng)目框中。

每個(gè)模塊都預(yù)裝有NodeMCU的Lua解釋器(NodeMCU 0.9.5 build 20150318/Lua 5.1.4是具體來說),您可以運(yùn)行命令,并使用USB串行轉(zhuǎn)換器電纜將Lua程序直接“保存”到模塊的Flash中。

但是,如果您愿意,可以跳過Lua并直接轉(zhuǎn)到使用Arduino IDE。下載ESP8266內(nèi)核后,您可以將其像微控制器+ WiFi板一樣對(duì)待,不需要其他處理器!

每個(gè)訂單都附帶一塊經(jīng)過組裝和測試的HUZZAH ESP8266接線板,以及一根可焊接的0.1”接頭并將分線插入面包板。這是必需的,并且不包括在內(nèi)。您還需要USB串行電纜,例如USB控制臺(tái)電纜(僅Windows) ),F(xiàn)TDI Friend(任何操作系統(tǒng))或FTDI電纜(任何操作系統(tǒng))將軟件上傳到HUZZAH ESP8266!

別忘了訪問esp8266.com了解ESP8266最新消息,軟件和八卦!

插腳

ESP8266采用3.3V電源和邏輯供電,除非另有說明指定,GPIO引腳不是5V安全!模擬引腳的最大電壓也為1.0V!

與mini ESP-01模塊相比,此ESP8266分支具有大量可用引腳。在Lua中或通過Arduino IDE編程中斷時(shí),您可以控制這些I/O引腳來點(diǎn)亮LED,讀取按鈕,與傳感器對(duì)話等。還有許多用于電源和控制的引腳。

電源引腳

ESP8266需要3.3V電源電壓,并在短時(shí)間內(nèi)峰值電流在500mA左右時(shí)間。您可能想假設(shè)ESP8266可以消耗高達(dá)250mA的電流,因此需要相應(yīng)的預(yù)算。為了簡化供電,我們在板上放置了一個(gè)具有大電流能力的3.3V穩(wěn)壓器。它可以接受3.4-6V的電壓,但由于WiFi開啟時(shí)ESP8288的電流消耗很高,因此您應(yīng)該堅(jiān)持使用4-6V。

調(diào)節(jié)器有兩個(gè)輸入, V + 和 VBat 。兩者都具有肖特基二極管,因此您可以在不同的電壓下連接,穩(wěn)壓器將簡單地從較高的電壓供電。 V + 引腳也位于底部邊緣的FTDI/串行接頭上。

我們建議將LiPoly或AA電池組直接連接到 VBat 和然后在連接FTDI電纜時(shí)不使用 V + 。您還可以使用額外的 V + 引腳從FTDI連接器獲取5V USB電源,以用于伺服器,NeoPixels等!

調(diào)節(jié)器上還有3.3V輸出 3V 引腳

序列圖釘

RX 和 TX 是串行控制和引導(dǎo)加載引腳,它們是您將大部分時(shí)間用于與ESP模塊通信的方式。

TX 引腳是模塊的輸出,并且是3.3V邏輯。

RX 引腳是輸入 into 模塊,并且兼容5V(該引腳上有一個(gè)電平轉(zhuǎn)換器)

該引腳有兩個(gè)位置,一組位于右側(cè)的分支中。相同的引腳也位于“ FTDI/串行”分支的底部

GPIO引腳

此中斷具有9個(gè)GPIO:#0,#2,#4,#5,#12,#13,#14,#15,#16 所有GPIO均為3.3V邏輯電平輸入和輸出,并且不兼容5V。 閱讀完整的規(guī)格表,以了解有關(guān)GPIO引腳限制的更多信息,但請注意,每個(gè)引腳的最大電流為 12mA 。

這些引腳是通用的,可以用于任何類型的輸入或輸出。大多數(shù)還具有打開內(nèi)部上拉電阻的能力。許多具有特殊功能:

GPIO#0 ,它不具有內(nèi)部上拉電阻,并且還連接到微型觸覺開關(guān)和紅色LED。 ESP8266使用此管腳來確定何時(shí)啟動(dòng)到引導(dǎo)加載程序。如果在加電期間該引腳保持低電平,它將開始引導(dǎo)加載!也就是說,您始終可以將其用作輸出,并使紅色LED閃爍。

GPIO#2 ,也用于檢測啟動(dòng)模式。它還連接到WiFi天線附近的藍(lán)色LED。它具有連接的上拉電阻,您可以將其用作任何輸出(如#0)并使藍(lán)色LED閃爍。

GPIO#15 ,也用于檢測啟動(dòng)模式。它連接了一個(gè)下拉電阻,確保啟動(dòng)時(shí)該引腳未拉高。您始終可以將其用作輸出

GPIO#16 ,可以將其從深度睡眠模式中喚醒,您需要將其連接到RESET引腳

GPIO #4 和#5 分別在Arduino IDE上默認(rèn)分別用于I2C SDA和SCL。我們建議如果您使用的是Arduino,請?jiān)诖颂庍B接I2C設(shè)備!

該板的版本A交換了GPIO#4和#5(模塊更改了我們的引腳排列),因此如果#4/#5不起作用為您服務(wù),請嘗試進(jìn)行交換!

模擬引腳

也有一個(gè)模擬輸入引腳為 A 。該引腳的最大電壓約為1.0V,因此,如果您要讀取的模擬電壓更高,則必須將其分壓至0-1.0V范圍

其他控制引腳

我們還有一些用于控制ESP8266的引腳

LDO -這是調(diào)節(jié)器的使能引腳。默認(rèn)情況下,它被拉高,接地時(shí)會(huì)關(guān)閉3.3V穩(wěn)壓器,這是一種切斷整個(gè)設(shè)置電源的簡便方法。 V + 或 VBat 電壓較高的設(shè)備都會(huì)產(chǎn)生10K上拉電阻。 (如果不清楚,請參閱原理圖)

RST -這是ESP8266的復(fù)位引腳,默認(rèn)情況下拉高。暫時(shí)下拉至地面時(shí),它將重置ESP8266系統(tǒng)。此引腳兼容5V。

EN(CH_PD)-這是ESP8266的使能引腳,默認(rèn)情況下拉高。暫時(shí)下拉至地面時(shí),它將重置ESP8266系統(tǒng)。該引腳僅是3.3V邏輯

程序集

《表class =“ build-table”》

準(zhǔn)備標(biāo)題欄:

如有必要,將兩條條切成一定長度。如果將其插入面包板,則焊接會(huì)更容易-長按針腳

添加分線板:

將分線板放在插針上,以便短插針穿過分線墊

焊接!

請確保焊接所有引腳以確保可靠的電接觸。

首先焊接板的一側(cè)

(有關(guān)焊接的技巧,請務(wù)必查看我們的 優(yōu)秀焊接指南 )。

翻轉(zhuǎn)面包板以焊接其他條

您完成了!目視檢查焊點(diǎn),然后繼續(xù)進(jìn)行下一步

如果您打算使用FTDI或控制臺(tái)電纜進(jìn)行編程,則在一端焊接6個(gè)引腳以方便插入是很方便的。

如有必要,再切成6針長條。將其插入面包板-長按

將突破放在面朝下的面包板上

焊接所有6個(gè)引腳!

您已完成!目視檢查焊點(diǎn),然后繼續(xù)進(jìn)行下一步

使用NodeMCU Lua

我們發(fā)現(xiàn)Lua最適合用于輸入短命令為了進(jìn)行測試,我們建議您使用Arduino IDE,以獲得最好的和最受測試的編程接口!

每個(gè)HUZZAH ESP8266突破口都已使用NodeMCU的Lua解釋器進(jìn)行了預(yù)編程。在撰寫本文時(shí),我們隨附了由Lua 5.1.4支持的 NodeMCU 0.9.5內(nèi)部版本20150318 ,但可能是較新的

Lua仍在開發(fā)中,因此我們強(qiáng)烈建議您訪問NodeMCU,并將您的Lua版本更新為最新版本,因?yàn)樗鼈兛梢詾槟峁┳钚碌倪B續(xù)構(gòu)建版本。然后按照他們的指南更新Lua!

Lua解釋器運(yùn)行在ESP8266上,您可以鍵入命令并通過串行讀出結(jié)果。串行控制臺(tái)電纜是完美的選擇!使用FTDI電纜或任何控制臺(tái)電纜,由于RX引腳上存在電平轉(zhuǎn)換,您可以使用3V或5V邏輯和電源。

Don別忘了訪問esp8266.com,以了解ESP8266最新消息,軟件和八卦消息!

ESP8266消耗大量電流,因此,如果您遇到不穩(wěn)定現(xiàn)象,請確保將控制臺(tái)電纜插入主板USB端口或有源USB集線器。請勿使用顯示器或鍵盤上的“額外” USB端口。

連接USB串行電纜

連接控制臺(tái)電纜或FTDI電纜。如果使用FTDI,請確保黑線連接到GND(接地)引腳

如果使用控制臺(tái)電纜,則將黑線接地,將紅線連接至 V + ,將白線連接至 TX ,綠線連接到 RX

加電時(shí),您會(huì)看到板上的紅色和藍(lán)色LED閃爍,但它們不會(huì)保持點(diǎn)亮狀態(tài)。

打開串行控制臺(tái)

接下來,在計(jì)算機(jī)上,使用串行控制臺(tái)程序,例如 CoolTerm (Mac)或 Putty (Windows)或屏幕(Linux)。 Teraterm似乎不喜歡來自ESP8266的初始115.2kbps數(shù)據(jù)流,因此您可以嘗試一下,但可能需要重置終端軟件。

連接到電纜使用的COM或串行端口,確保波特率為9600

請確保您已關(guān)閉任何硬件握手或流控制

還請確保將行尾設(shè)置為CRLF“ \ r \ n“如果要粘貼大量代碼,則可能還需要打開字符間延遲。每個(gè)終端軟件的設(shè)置都不相同,請查看所用軟件的手冊!

i》

一旦連接了終端軟件,請單擊HUZZAH ESP板上的 Reset (重置)按鈕以將其重置并打印出歡迎消息:

如果未收到此消息,請先檢查按下復(fù)位按鈕時(shí)紅色/藍(lán)色指示燈是否閃爍。如果沒有,請確保通過 V + 或 Vbat 為開發(fā)板供電。如果它們確實(shí)閃爍,請確保已在軟件(9600)中選擇了正確的波特率,并且RX/TX/GND引腳正確連接

Hello world!

好,我們現(xiàn)在可以打開一個(gè)LED。每塊板上都有一個(gè)紅色LED,連接到 GPIO#0

i》 NodeMCU的引腳排列與Arduino/gcc引腳排列不同。我們在板上打印Arduino引腳排列,請當(dāng)心!

該板的版本A交換了GPIO#4和#5(模塊更改了我們的引腳排列),因此如果#4/#5不適用于您,請嘗試交換!我們將在下一次PCB運(yùn)行中修復(fù)

Pin Notes p》PCB/ArduinoNodeMCU/Lua

沒有上拉!03

24

39

41

52

911

1012

126

137

145

158

160

因此,要先打開和關(guān)閉引腳0的LED,請通過鍵入(而不是復(fù)制和粘貼)使其成為輸出

下載:文件

復(fù)制代碼

gpio.mode(3, gpio.OUTPUT) gpio.mode(3, gpio.OUTPUT)

通過鍵入(而不是復(fù)制和粘貼)打開LED

下載:文件

復(fù)制代碼

gpio.write(3, gpio.LOW) gpio.write(3, gpio.LOW)

并通過鍵入(不是復(fù)制和粘貼)關(guān)閉

下載:文件

復(fù)制代碼

gpio.write(3, gpio.HIGH) gpio.write(3, gpio.HIGH)

您可以通過運(yùn)行更長的腳本來使其自動(dòng)化一些。

對(duì)于更長的文本,粘貼可能會(huì)很困難,因?yàn)閘ua解釋器在字符之間需要一些延遲時(shí)間,并且還需要CR-LF設(shè)置。因此,您可能需要粘貼每行,然后手動(dòng)按回車鍵。

下載:文件

復(fù)制代碼

gpio.mode(3, gpio.OUTPUT)

while 1 do

gpio.write(3, gpio.HIGH)

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

gpio.write(3, gpio.LOW)

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

end gpio.mode(3, gpio.OUTPUT)

while 1 do

gpio.write(3, gpio.HIGH)

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

gpio.write(3, gpio.LOW)

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

end

LED現(xiàn)在將閃爍。

請注意,由于它處于循環(huán)狀態(tài),因此無法獲取通過解釋器停止。要停止它,請?jiān)俅螁螕糁刂冒粹o!

此代碼可在tmr.delay期間暫停處理器,這是使LED閃爍的更智能方法是使用計(jì)時(shí)器功能來關(guān)閉LED控件(代碼從這里開始)

下載:文件

復(fù)制代碼

-- Pin definition

local pin = 3

local status = gpio.LOW

local duration = 1000 -- 1 second duration for timer

-- Initialising pin

gpio.mode(pin, gpio.OUTPUT)

gpio.write(pin, status)

-- Create an interval

tmr.alarm(0, duration, 1, function ()

if status == gpio.LOW then

status = gpio.HIGH

else

status = gpio.LOW

end

gpio.write(pin, status)

end) -- Pin definition

local pin = 3

local status = gpio.LOW

local duration = 1000 -- 1 second duration for timer

-- Initialising pin

gpio.mode(pin, gpio.OUTPUT)

gpio.write(pin, status)

-- Create an interval

tmr.alarm(0, duration, 1, function ()

if status == gpio.LOW then

status = gpio.HIGH

else

status = gpio.LOW

end

gpio.write(pin, status)

end)

掃描并連接到WiFi

我們將繼續(xù)快速掃描并掃描WiFi和連接。

一旦您回來在Lua提示符下,使用

將ESP8266設(shè)置為WiFi Client模式 Download:file

復(fù)制代碼

wifi.setmode(wifi.STATION) wifi.setmode(wifi.STATION)

然后,您可以運(yùn)行掃描儀并打印出可用的AP

下載:文件

復(fù)制代碼

-- print ap list

function listap(t)

for k,v in pairs(t) do

print(k.。“ : ”。.v)

end

end

wifi.sta.getap(listap) -- print ap list

function listap(t)

for k,v in pairs(t) do

print(k.?!?: ”。.v)

end

end

wifi.sta.getap(listap)

或更詳細(xì)。..。..

下載:文件

復(fù)制代碼

-- print ap list

function listap(t)

for ssid,v in pairs(t) do

authmode, rssi, bssid, channel =

string.match(v, “(%d),(-?%d+),(%x%x:%x%x:%x%x:%x%x:%x%x:%x%x),(%d+)”)

print(ssid,authmode,rssi,bssid,channel)

end

end

wifi.sta.getap(listap) -- print ap list

function listap(t)

for ssid,v in pairs(t) do

authmode, rssi, bssid, channel =

string.match(v, “(%d),(-?%d+),(%x%x:%x%x:%x%x:%x%x:%x%x:%x%x),(%d+)”)

print(ssid,authmode,rssi,bssid,channel)

end

end

wifi.sta.getap(listap)

我們可以使用 wifi.sta.config 和連接到接入點(diǎn)wifi.sta.connect -需要一兩秒鐘才能完成連接,您可以通過 wifi.sta.status()查詢模塊以詢問狀態(tài)-當(dāng)您獲得5表示連接已完成且DHCP成功完成

下載:文件

復(fù)制代碼

wifi.sta.config(“accesspointname”,“yourpassword”)

wifi.sta.connect()

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

print(wifi.sta.status())

print(wifi.sta.getip())

wifi.sta.config(“accesspointname”,“yourpassword”)

wifi.sta.connect()

tmr.delay(1000000) -- wait 1,000,000 us = 1 second

print(wifi.sta.status())

print(wifi.sta.getip())

WebClient示例

獲得IP地址后,例如,您可以連接到adafruit,然后閱讀網(wǎng)頁并打印出來:

下載:文件

復(fù)制代碼

sk=net.createConnection(net.TCP, 0)

sk:on(“receive”, function(sck, c) print(c) end )

sk:connect(80,“104.236.193.178”)

sk:send(“GET /testwifi/index.html HTTP/1.1 Host: wifitest.adafruit.com Connection: keep-alive Accept: */* ”) sk=net.createConnection(net.TCP, 0)

sk:on(“receive”, function(sck, c) print(c) end )

sk:connect(80,“104.236.193.178”)

sk:send(“GET /testwifi/index.html HTTP/1.1 Host: wifitest.adafruit.com Connection: keep-alive Accept: */* ”)

您還可以讓該模塊為您執(zhí)行DNS,只需為其指定主機(jī)名而不是IP地址即可:

下載:文件

復(fù)制代碼

sk=net.createConnection(net.TCP, 0)

sk:on(“receive”, function(sck, c) print(c) end )

sk:connect(80,“wifitest.adafruit.com”)

sk:send(“GET /testwifi/index.html HTTP/1.1 Host: wifitest.adafruit.com Connection: keep-alive Accept: */* ”) sk=net.createConnection(net.TCP, 0)

sk:on(“receive”, function(sck, c) print(c) end )

sk:connect(80,“wifitest.adafruit.com”)

sk:send(“GET /testwifi/index.html HTTP/1.1 Host: wifitest.adafruit.com Connection: keep-alive Accept: */* ”)

這只是測試HUZZAH ESP突破的簡要概述!有關(guān)更多信息,請查看NodeMCU的文檔頁面https://nodemcu.readthedocs.io/,以獲取有關(guān)可用功能的詳細(xì)信息,以及http://www.lua.org,以了解有關(guān)Lua腳本語言的更多信息。

使用Arduino IDE

盡管HUZZAH ESP8266突破口已經(jīng)使用NodeMCU的Lua解釋器進(jìn)行了預(yù)編程,但您不必使用它!相反,您可以使用可能更熟悉的Arduino IDE。 這將直接寫入固件,擦除NodeMCU固件,因此,如果您想返回Lua,請使用Flasher重新安裝它

以上傳代碼連接到ESP8266并使用串行控制臺(tái),您將需要一個(gè)USB到串行轉(zhuǎn)換器!使用FTDI電纜或任何控制臺(tái)電纜,可以使用3V或5V邏輯和電源,因?yàn)镽X引腳上存在電平轉(zhuǎn)換。

別忘了訪問esp8266.com,了解ESP8266最新,最出色的新聞,軟件和八卦!

ESP8266消耗大量電流,因此如果您出現(xiàn)不穩(wěn)定現(xiàn)象,請確保將控制臺(tái)電纜插入主板USB端口或供電的USB集線器。請勿使用顯示器或鍵盤上的“額外” USB端口。

連接USB串行電纜

連接控制臺(tái)電纜或FTDI電纜。如果使用FTDI,請確保黑線連接到GND(接地)引腳

如果使用控制臺(tái)電纜,則將黑線接地,將紅線連接至 V + ,將白線連接至 TX ,綠線連接到 RX

加電時(shí),您會(huì)看到板上的紅色和藍(lán)色LED閃爍,但它們不會(huì)保持點(diǎn)亮狀態(tài)。

安裝Arduino IDE 1.6.4或更高版本

從Arduino IDE下載Arduino.cc(1.6.4或更高版本)-不要使用1.6.2!如果已經(jīng)安裝了現(xiàn)有IDE,則可以使用它。

如果代理給您帶來了問題,您還可以嘗試從ESP8266-Arduino項(xiàng)目下載現(xiàn)成的包

安裝ESP8266開發(fā)板包

輸入 http://arduino.esp8266.com/stable/package_esp8266com_index.json進(jìn)入Arduino v1.6.4 +首選項(xiàng)中的其他Board Manager URLs 字段。

請參閱我們的指南,以了解如何向Arduino 1.6.4+ IDE添加新板

下一步,使用 Board Manager 安裝ESP8266軟件包。

設(shè)置ESP8266支持

重新啟動(dòng)后,從中選擇 Adafruit Feather HUZZAH ESP8266 工具-》板下拉菜單。請注意,即使這是Huzzah突破,它也與Feather相同,因此請使用它!

80 MHz 作為CPU頻率(您可以稍后嘗試160 MHz超頻)

115200波特上傳速度是一個(gè)不錯(cuò)的起點(diǎn)-稍后您可以嘗試更高的速度,但115200是一個(gè)不錯(cuò)的起點(diǎn)。如果遇到上傳問題,可以降低到較低的速度,或者如果設(shè)置穩(wěn)定,則可以加快速度以加快上傳速度!

與您的FTDI或USB串行電纜匹配的COM/串行端口

您不必設(shè)置 Programmer ,因?yàn)樗鼘⑹冀K使用串行端口,只需忽略該菜單項(xiàng)即可!

眨眼測試

我們將從簡單的眨眼測試開始

將其輸入到草圖窗口中(并保存因?yàn)槟仨氝@樣做)

下載:文件

復(fù)制代碼

void setup() {

pinMode(0, OUTPUT);

}

void loop() {

digitalWrite(0, HIGH);

delay(500);

digitalWrite(0, LOW);

delay(500);

} void setup() {

pinMode(0, OUTPUT);

}

void loop() {

digitalWrite(0, HIGH);

delay(500);

digitalWrite(0, LOW);

delay(500);

}

現(xiàn)在,您需要將開發(fā)板置于引導(dǎo)加載模式。您必須在每次上傳之前執(zhí)行此操作。 Bootload模式?jīng)]有超時(shí),因此您不必著急!

按住 GPIO0 按鈕,紅色LED會(huì)點(diǎn)亮

按住 GPIO0 的同時(shí),單擊 RESET 按鈕

釋放 RESET ,然后釋放 GPIO0

釋放RESET按鈕時(shí),紅色LED會(huì)變暗,這表示它已可以引導(dǎo)加載

ESP板處于引導(dǎo)加載模式后,通過IDE上傳草圖

如果上傳成功,則應(yīng)該以以下消息結(jié)尾:

下載:文件

復(fù)制代碼

Hard resetting via RTS pin.。. Hard resetting via RTS pin.。.

看到后,按 RESET 按鈕,然后將運(yùn)行草圖。

通過WiFi連接

確定LED閃爍一次,確定i ng,讓我們直接進(jìn)入有趣的部分,連接到Web服務(wù)器。使用以下代碼創(chuàng)建新草圖:

下載:文件

復(fù)制代碼

/*

* Simple HTTP get webclient test

*/

#include

const char* ssid = “yourssid”;

const char* password = “yourpassword”;

const char* host = “wifitest.adafruit.com”;

void setup() {

Serial.begin(115200);

delay(100);

// We start by connecting to a WiFi network

Serial.println();

Serial.println();

Serial.print(“Connecting to ”);

Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“?!保?

}

Serial.println(“”);

Serial.println(“WiFi connected”);

Serial.println(“IP address: ”);

Serial.println(WiFi.localIP());

Serial.print(“Netmask: ”);

Serial.println(WiFi.subnetMask());

Serial.print(“Gateway: ”);

Serial.println(WiFi.gatewayIP());

}

int value = 0;

void loop() {

delay(5000);

++value;

Serial.print(“connecting to ”);

Serial.println(host);

// Use WiFiClient class to create TCP connections

WiFiClient client;

const int httpPort = 80;

if (!client.connect(host, httpPort)) {

Serial.println(“connection failed”);

return;

}

// We now create a URI for the request

String url = “/testwifi/index.html”;

Serial.print(“Requesting URL: ”);

Serial.println(url);

// This will send the request to the server

client.print(String(“GET ”) + url + “ HTTP/1.1 ” +

“Host: ” + host + “ ” +

“Connection: close ”);

delay(500);

// Read all the lines of the reply from server and print them to Serial

while(client.available()){

String line = client.readStringUntil(‘ ’);

Serial.print(line);

}

Serial.println();

Serial.println(“closing connection”);

} /*

* Simple HTTP get webclient test

*/

#include

const char* ssid = “yourssid”;

const char* password = “yourpassword”;

const char* host = “wifitest.adafruit.com”;

void setup() {

Serial.begin(115200);

delay(100);

// We start by connecting to a WiFi network

Serial.println();

Serial.println();

Serial.print(“Connecting to ”);

Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print(“?!保?

}

Serial.println(“”);

Serial.println(“WiFi connected”);

Serial.println(“IP address: ”);

Serial.println(WiFi.localIP());

Serial.print(“Netmask: ”);

Serial.println(WiFi.subnetMask());

Serial.print(“Gateway: ”);

Serial.println(WiFi.gatewayIP());

}

int value = 0;

void loop() {

delay(5000);

++value;

Serial.print(“connecting to ”);

Serial.println(host);

// Use WiFiClient class to create TCP connections

WiFiClient client;

const int httpPort = 80;

if (!client.connect(host, httpPort)) {

Serial.println(“connection failed”);

return;

}

// We now create a URI for the request

String url = “/testwifi/index.html”;

Serial.print(“Requesting URL: ”);

Serial.println(url);

// This will send the request to the server

client.print(String(“GET ”) + url + “ HTTP/1.1 ” +

“Host: ” + host + “ ” +

“Connection: close ”);

delay(500);

// Read all the lines of the reply from server and print them to Serial

while(client.available()){

String line = client.readStringUntil(‘ ’);

Serial.print(line);

}

Serial.println();

Serial.println(“closing connection”);

}

不要忘記更新

const char* ssid = “yourssid”;

const char* password = “yourpassword”;

到您的訪問點(diǎn)和密碼,然后以相同的方式上傳:進(jìn)入引導(dǎo)加載模式,然后通過IDE上傳代碼

以115200波特打開IDE串行控制臺(tái),以查看連接和網(wǎng)頁打印輸出!

如果它說這是CC3000模塊的測試。我們在2013年寫了這個(gè)小網(wǎng)頁,但更新不多! :)

就是這樣,很簡單!

此頁面只是為了幫助您入門和測試模塊。有關(guān)更多信息,請查看ESP8266 port github存儲(chǔ)庫以獲取更多最新文檔!

其他選項(xiàng)

您可以將MicroPython加載到ESP8226上并用Python編寫代碼!它是官方的MicroPython核心,并且得到了很好的支持。我們甚至還有大量的項(xiàng)目和入門指南!

您還可以嘗試使用embedXcode,它具有帶Xcode的ESP8266模板,

esp-open-sdk是一個(gè)工具鏈,讓您直接對(duì)ESP8266處理器進(jìn)行編程(更多信息,請?jiān)L問esp8266.com Wiki)

下載

數(shù)據(jù)表

ESP8266規(guī)格表

ESP8266數(shù)據(jù)表v4.3

SPX3819板載用于Rev A的3.3V線性穩(wěn)壓器

AP2112K-3.3線性穩(wěn)壓器機(jī)載版本C及更高版本

此突破使用的模塊的FCC測試報(bào)告

此突破使用的模塊的CE測試報(bào)告

CAD文件

Adafruit Fritzing庫中的框?qū)ο?/p>

EagleCAD PCB文件

更多信息!

http://www.esp8266.com/社區(qū)論壇上的大量信息!

NodeMCU(ESP8266的Lua)網(wǎng)頁,其中包括示例和說明文件Lua框架

對(duì)ESP8266的Arduino IDE支持

NodeMCU PyFlasher-跨平臺(tái)ESP刷新工具

不要或訪問esp8266.com,了解ESP8266最新,最棒的新聞,軟件和八卦信息!

示意圖

LDO穩(wěn)壓器在版本C中從SPX3819更改為AP2112 ,現(xiàn)在最大為6V(但壓降更低),最大600mA輸出

布料打印

尺寸以毫米和英寸為單位

ESP8266常見問題解答

將東西連接到某些引腳時(shí),Huzzah停止工作。這是怎么回事?

ESP8266使用一些管腳作為‘boot模式”引腳,因此在啟動(dòng)時(shí)必須將它們設(shè)置為特定值:

CH_PD(EN)應(yīng)始終拉為高電平(如果為低電平則將禁用整個(gè)模塊)

RST 應(yīng)始終被拉高(如果為低電平,它將禁用整個(gè)模塊)

GPIO 0 設(shè)置是否引導(dǎo)加載程序如果處于活動(dòng)狀態(tài),則必須在上電/復(fù)位期間將其拉為高電平,以便運(yùn)行用戶程序。如果將其拉低,它將激活引導(dǎo)加載程序。 #0上的內(nèi)置紅色LED將其上拉

GPIO 2 ,必須在上電/復(fù)位時(shí)將其拉高。

GPIO 15 必須在上電/復(fù)位時(shí)拉低。

我的Huzzah板不斷崩潰并重置,怎么辦?

最常見的崩潰原因是電源故障。確保使用?5V良好的電源為Huzzah供電,如果使用的是USB串行電纜,則應(yīng)將其插入計(jì)算機(jī)的主板或通過帶電的集線器!

我似乎在計(jì)算機(jī)上找不到Feather HUZZAH的串行端口?

別忘了為您的計(jì)算機(jī)安裝CP2104 VCP驅(qū)動(dòng)程序,這是必需的!

我似乎仍然無法在計(jì)算機(jī)上找到Feather Huzzah的串行端口!

許多便宜的電子產(chǎn)品都帶有僅可充電的USB電纜,這會(huì)在以后引起頭痛。確保使用正確的數(shù)據(jù)/同步USB電纜。如果您發(fā)現(xiàn)僅使用充電電纜(也不能用于數(shù)據(jù)/同步),則將其丟棄,以免再次遇到相同的問題。

,我在Mac上為ESP8266編譯時(shí)遇到“沒有這樣的文件”錯(cuò)誤

如果您的錯(cuò)誤消息如下所示:

fork/exec/Users/xxxxxxx/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0 -26-gb404fb9-2/bin/xtensa-lx106-elf-g ++:沒有此類文件或目錄

錯(cuò)誤編譯。

解決此問題,請執(zhí)行以下操作:

在Arduino IDE中打開Boards Manager

卸載ESP8266支持

轉(zhuǎn)到您的?LIbrary文件夾(在Finder中) ,選擇“轉(zhuǎn)到::轉(zhuǎn)到文件夾:,然后輸入?Library )。找到文件夾Arduino15。

在Arduino15文件夾中,進(jìn)入軟件包,并刪除文件夾 esp8266

返回到Arduino IDE,并安裝ESP8266開發(fā)板支持。

現(xiàn)在返回Finder,并檢查路徑 Arduino15/packages中是否有xtensa-lx106-elf-g ++文件。/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g ++

就是這樣!

每當(dāng)我啟動(dòng)或重置ESP8226時(shí),串行控制臺(tái)上都會(huì)出現(xiàn)一堆“亂碼”

這是ROM調(diào)試消息,它以74880波特傳輸,因此您很少在適當(dāng)?shù)摹?ascii輸出”中看到它-而是通常會(huì)損壞成一群奇怪的字符。

我在使用Arduino IDE上傳到HUZZAH時(shí)遇到困難

請確保您使用的是高質(zhì)量的USB/串行電纜。也安裝該電纜的官方驅(qū)動(dòng)程序!我們還注意到基于PL2303的電纜由于某些原因在Mac上不起作用?;贔TDI或CP210x的芯片組效果最好

我嘗試過,但是在使用Arduino IDE上傳時(shí)仍然遇到困難

有時(shí),它有助于將電路板類型切換為“通用ESP8266模塊”。將重置方法設(shè)置為“ nodemcu”

參見此論壇帖子

我處于引導(dǎo)加載程序模式,無法上傳

您說您的led卡在了昏暗的地方,嘗試上傳時(shí)出錯(cuò)了?并且您確定串行電纜已連接并且可以正常工作嗎?好吧,這是一個(gè)潛在的解決方法:通過220歐姆電阻將GPIO0引腳連接到GND。上傳時(shí)保持連接狀態(tài)。您可能需要嘗試幾次,但最終應(yīng)將其上傳并從引導(dǎo)加載方式中刪除HUZZAH!然后,您可以刪除電阻器連接,之后您的HUZZAH將會(huì)感到高興!

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    962

    瀏覽量

    45128
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    esp8266加入到c51單片機(jī)單通道程序怎么寫

    要將ESP8266模塊加入到C51單片機(jī)的單通道程序中,您需要了解如何通過串行通信(UART)與ESP8266進(jìn)行通信。以下是如何實(shí)現(xiàn)這一點(diǎn)的步驟和示例代碼。 步驟 1:硬件連接 首先,您需要
    的頭像 發(fā)表于 10-18 11:32 ?652次閱讀

    ESP8266 太空人動(dòng)畫的 OLED 顯示

    ESP8266 太空人動(dòng)畫的 OLED 顯示
    的頭像 發(fā)表于 10-08 15:06 ?297次閱讀
    <b class='flag-5'>ESP8266</b> 太空人動(dòng)畫的 OLED 顯示

    STM32 ESP8266阿里云鏈接源碼

    stm32F103C8T6 ESP8266 物聯(lián)網(wǎng)電表 登錄阿里云
    發(fā)表于 08-29 14:21 ?6次下載

    esp32和esp8266代碼共用嗎

    本文將介紹ESP32和ESP8266兩款流行的微控制器在代碼共用性方面的可能性與差異性。 一、引言 隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,越來越多的智能設(shè)備開始進(jìn)入我們的生活。其中,ESP32和ESP82
    的頭像 發(fā)表于 08-19 18:23 ?1212次閱讀

    esp8266esp32區(qū)別是什么

    以下是關(guān)于ESP8266ESP32的主要區(qū)別: 處理器和架構(gòu) : ESP8266 :使用一個(gè)Tensilica L106 80MHz的處理器,屬于Xtensa架構(gòu)。 ESP32 :使
    的頭像 發(fā)表于 08-19 18:16 ?5566次閱讀

    ESP8266需要燒錄固件庫嘛

    需要。ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。它具有低成本、低功耗、易于編程等特點(diǎn),因此受到了許多開發(fā)者的喜愛。在開發(fā)ESP8266項(xiàng)目時(shí),燒錄固件庫是一個(gè)非常重要
    的頭像 發(fā)表于 08-19 17:30 ?944次閱讀

    esp8266不燒錄可以使用嗎

    ESP8266是一款非常流行的Wi-Fi模塊,廣泛應(yīng)用于物聯(lián)網(wǎng)項(xiàng)目中。然而,如果不進(jìn)行燒錄,ESP8266將無法正常工作。 1. ESP8266簡介 ESP8266是一款由Espres
    的頭像 發(fā)表于 08-19 17:28 ?884次閱讀

    esp8266wifi模塊怎么連接手機(jī)

    ESP8266 WiFi模塊連接手機(jī)主要可以通過兩種方式實(shí)現(xiàn): 通過路由器連接(STA模式)和直接作為熱點(diǎn)連接(AP模式) 。以下是兩種連接方式的步驟: 一、通過路由器連接(STA模式) 配置
    的頭像 發(fā)表于 08-19 17:27 ?3185次閱讀

    ESP8266-12退出深度睡眠模式時(shí)掛起怎么解決?

    我正在使用 adafruits 的 esp8266 HUZZAH 板 (ESP8266-12),該板連接到溫度/濕度傳感器 (DHTxx),該傳感器正在向 thingspeak 發(fā)送溫度/濕度
    發(fā)表于 07-22 06:26

    ESP8266_RTOS_SDK編譯錯(cuò)誤的原因?

    我剛剛下載了 RTOS sdk 并按照以下步驟操作: https://github.com/espressif/esp8266_rtos_sdk 我可以在examples文件夾中編譯應(yīng)用程序。但是
    發(fā)表于 07-12 08:04

    ESP8266 Huzzah不響應(yīng)AT命令的原因?

    我的 esp8266 Huzzah 分線板最近使用 esp 閃存工具,使用 NONOS SDK v2.0.0 重新刷新。我認(rèn)為這將允許 esp 在通過 arduino 串行監(jiān)視器發(fā)送
    發(fā)表于 07-11 08:21

    ESP8266網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    基于ESP8266實(shí)現(xiàn)網(wǎng)絡(luò)獲取天氣和時(shí)鐘并OLED顯示
    的頭像 發(fā)表于 06-28 04:46 ?1244次閱讀
    <b class='flag-5'>ESP8266</b>網(wǎng)絡(luò)天氣時(shí)鐘OLED顯示

    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片ESP8266ESP8285對(duì)比差異

    ESP8266ESP8285對(duì)比差異 ESP8285相當(dāng)于在ESP8266基礎(chǔ)上多加了1/2MB Flash, ESP8285與
    的頭像 發(fā)表于 05-17 11:44 ?1385次閱讀
    國產(chǎn)低成本W(wǎng)i-Fi SoC解決方案芯片<b class='flag-5'>ESP8266</b>與<b class='flag-5'>ESP</b>8285對(duì)比差異

    使用Wi-Fi ESP8266方案模組接入云平臺(tái)

    ESP8266的模塊芯片是基于無線通信協(xié)議的UARTWi-Fi透傳模塊芯片,支持802.11b/g/n的無線標(biāo)準(zhǔn),并帶有三種可選擇的工作模式。ESP8266模塊的控制是通過AT指令的形式控制,例如
    的頭像 發(fā)表于 05-10 08:20 ?1879次閱讀
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模組接入云平臺(tái)

    STM32、ESP8266與MQTT連接阿里云物聯(lián)網(wǎng)的串口通信異常解析

    STM32、ESP8266與MQTT協(xié)議連接阿里云物聯(lián)網(wǎng)平臺(tái)時(shí)常見的串口通信異常介紹 在構(gòu)建物聯(lián)網(wǎng)應(yīng)用時(shí),STM32、ESP8266與MQTT協(xié)議的結(jié)合是實(shí)現(xiàn)設(shè)備與網(wǎng)絡(luò)間穩(wěn)定通信的關(guān)鍵。然而,在連接
    的頭像 發(fā)表于 04-19 17:19 ?1490次閱讀