概述
以可愛的,大小適中的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
-
ESP8266
+關(guān)注
關(guān)注
50文章
962瀏覽量
45128
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論