概述
羽毛是Adafruit的新開(kāi)發(fā)板,就像它的名字一樣,它輕巧,輕巧,可讓您飛翔!我們將Feather設(shè)計(jì)為便攜式微控制器內(nèi)核的新標(biāo)準(zhǔn)。
這是 Adafruit Feather HUZZAH ESP8266 -我們采用“多合一” ESP8226 WiFi開(kāi)發(fā)板內(nèi)置USB和電池充電。它是一個(gè)ESP8266 WiFi模塊,具有您需要的所有其他功能,隨時(shí)可以使用!我們?cè)贔eather家族中還有其他板子,請(qǐng)?jiān)诖颂幉榭础?/p>
在Fezz HUZZAH的心臟處,是一個(gè)ESP8266 WiFi微控制器,時(shí)鐘頻率為80 MHz,電壓為3.3V邏輯。該微控制器包含Tensilica芯片內(nèi)核以及完整的WiFi堆棧。您可以使用Arduino IDE對(duì)微控制器進(jìn)行編程,以實(shí)現(xiàn)易于運(yùn)行的物聯(lián)網(wǎng)核心。我們連接了一個(gè)USB串行芯片,該芯片可以以驚人的921600波特率上傳代碼,以加快開(kāi)發(fā)速度。它還具有自動(dòng)重置功能,因此無(wú)需使用針腳和重置按鈕即可進(jìn)行調(diào)整。
為便于在便攜式項(xiàng)目中使用,我們?yōu)槿魏?.7V鋰聚合物電池添加了一個(gè)連接器,并內(nèi)置了電池充電功能。您不需要電池,它可以直接從micro USB連接器正常運(yùn)行。但是,如果您確實(shí)有電池,可以隨身攜帶,然后插入U(xiǎn)SB進(jìn)行充電。當(dāng)Feather可用時(shí),它將自動(dòng)切換到USB電源。
這里有一些方便的規(guī)格!
尺寸為2.0英寸x 0.9英寸x 0.28英寸(51毫米) x 23mm x 8mm),沒(méi)有焊在頭上的插頭
像一根(大的)羽毛似的-6克
ESP8266 @ 80MHz或160 MHz,邏輯電壓/電源為3.3V
4MB的FLASH(32 MBit)
3.3V穩(wěn)壓器,具有500mA峰值電流輸出
CP2104板載USB串行轉(zhuǎn)換器,波特率為921600,可上傳
自動(dòng)重置支持,可在固件上傳之前進(jìn)入引導(dǎo)加載模式
9個(gè)GPIO引腳-也可用作I2C和SPI
1 x模擬輸入,最大1.0V
內(nèi)置100mA充電充電器,帶充電狀態(tài)指示燈LED
引腳0的紅色LED通用閃爍;引腳2的藍(lán)色LED進(jìn)行引導(dǎo)調(diào)試和通用閃爍
電源/啟用銷(xiāo)釘
4個(gè)安裝孔
重置按鈕
經(jīng)過(guò)完全組裝和測(cè)試,帶有USB接口,可讓您快速將其與Arduino IDE或NodeMCU Lua結(jié)合使用。 (它是用Lua解釋器預(yù)先編程的)我們還扔了一些接頭,以便您可以將其焊接并插入無(wú)焊面包板上。不包括鋰電池和USB電纜(但我們確實(shí)有很多選擇
插腳
電源引腳
GND -這是所有電源和邏輯的共同點(diǎn)
BAT -這是可選Lipoly電池的JST插孔進(jìn)/出的正電壓
USB -這是微型USB插孔進(jìn)/出的正電壓(如果已連接)
EN -這是3.3V穩(wěn)壓器的使能引腳。它已上拉,因此請(qǐng)接地以禁用3.3V穩(wěn)壓器
3V -這是3.3V穩(wěn)壓器的輸出,可以提供500mA的峰值(嘗試保持250mA以下的電流消耗,因此您可以滿(mǎn)足ESP8266的電源要求!)
邏輯引腳
這是微控制器的通用I/O引腳設(shè)置。所有邏輯均為3.3V
ESP8266采用3.3V電源和邏輯運(yùn)行,并且除非另有說(shuō)明,否則GPIO引腳不是5V安全的!模擬引腳最大也為1.0V!
串行引腳
RX 和 TX 是串行控制和引導(dǎo)加載引腳,它們是您如何花費(fèi)大部分時(shí)間進(jìn)行通信的使用ESP模塊
TX 引腳是模塊的輸出,并且是3.3V邏輯。
RX 引腳是模塊的輸入 ,并且兼容5V(此引腳上有一個(gè)電平轉(zhuǎn)換器)
這些引腳通過(guò)CP2104 USB到串行轉(zhuǎn)換器連接,因此它們除非您非常確定要連接或使用,否則請(qǐng)不進(jìn)行連接或使用,因?yàn)槟€將獲得USB流量!
I2C和SPI引腳
您可以使用ESP8266來(lái)控制I2C和SPI設(shè)備,傳感器,輸出,等等。雖然這是通過(guò)“ bitbanging”完成的,但效果很好,ESP8266的速度足以匹配“ Arduino級(jí)別”的速度。
理論上,您可以將 any 引腳用于I2C和SPI,但可以為了使人們更容易使用現(xiàn)有的Arduino代碼,庫(kù),草圖,我們?cè)O(shè)置了以下內(nèi)容:
I2C SDA = GPIO#4 (默認(rèn)值)
I2C SCL = GPIO#5 (默認(rèn)值)
如果需要,您可以連接使用Arduino IDE中的其他2個(gè)引腳連接到I2C設(shè)備,方法是在調(diào)用任何其他Wire代碼之前調(diào)用Wire.pins(sda, scl)(因此,例如,在setup()開(kāi)頭
,您可以在任何引腳上使用SPI,但是如果最終使用“硬件SPI”,則需要使用以下命令:
SPI SCK = GPIO#14 (默認(rèn))
SPI MOSI = GPIO#13 (默認(rèn))
SPI MISO = GPIO#12 (def故障)
GPIO GPIO引腳
此突破口有9個(gè)GPIO:#0,#2,#4,#5,#12,#13,#14,#15,#16 排列在Feather PCB的頂部邊緣
所有GPIO的輸入和輸出均為3.3V邏輯電平,并且不兼容5V。 閱讀完整的規(guī)格表,以了解有關(guān)GPIO引腳限制的更多信息,但請(qǐng)注意,每個(gè)引腳的最大電流為 12mA 。
這些引腳是通用的,可以用于任何類(lèi)型的輸入或輸出。大多數(shù)還具有打開(kāi)內(nèi)部上拉電阻的能力。許多具有特殊功能:
GPIO#0 ,它沒(méi)有內(nèi)部上拉電阻,并且還連接有紅色LED。 ESP8266使用此管腳來(lái)確定何時(shí)啟動(dòng)到引導(dǎo)加載程序。如果在加電期間該引腳保持低電平,它將開(kāi)始引導(dǎo)加載!也就是說(shuō),您始終可以將其用作輸出,并使紅色的LED閃爍-請(qǐng)注意,該LED接反了,因此將引腳設(shè)置為L(zhǎng)OW將使LED點(diǎn)亮。
GPIO#2 ,也用于檢測(cè)啟動(dòng)模式。它還連接到WiFi天線(xiàn)附近的藍(lán)色LED。它具有連接的上拉電阻,您可以將其用作任何輸出(如#0)并使藍(lán)色LED閃爍。
GPIO#15 ,也用于檢測(cè)啟動(dòng)模式。它連接了一個(gè)下拉電阻,確保啟動(dòng)時(shí)該引腳未拉高。您始終可以將其用作輸出
GPIO#16 ,可以將其從深度睡眠模式中喚醒,您需要將其連接到RESET引腳
還要注意,GPIO# 12/13/14 與 SCK/MOSI/MISO ‘SPI’引腳相同!
模擬引腳
還有一個(gè)名為 A 的模擬輸入引腳。該引腳的最大電壓約為1.0V,因此,如果您要讀取的模擬電壓更高,則必須將其分壓至0-1.0V范圍
其他控制引腳
我們還有其他一些引腳用于控制ESP8266
RST -這是ESP8266的復(fù)位引腳,默認(rèn)情況下拉高。暫時(shí)下拉至地面時(shí),它將重置ESP8266系統(tǒng)。該引腳僅是3.3V邏輯
EN(CH_PD)-這是ESP8266的使能引腳,默認(rèn)情況下被拉高。暫時(shí)下拉至地面時(shí),它將重置ESP8266系統(tǒng)。此引腳僅是3.3V邏輯
NC引腳
其余的引腳標(biāo)記為 NC ,表示未連接-它們未連接任何東西,僅用作占位符,以保持與Feather中其他板的物理兼容性。行!
裝配體
我們出廠的Feathers經(jīng)過(guò)了全面測(cè)試,但未連接標(biāo)頭-這使您在選擇如何使用和配置Feather時(shí)更具靈活性
標(biāo)題選項(xiàng)!
焊接時(shí),有一些選擇要考慮!
第一個(gè)選擇是焊接普通的公頭,這使您可以插入羽毛變成無(wú)焊面包板
另一種選擇是使用插座母頭。這不會(huì)讓您將Feather插入面包板,但可以非常輕松地連接羽翼
我們也有“ slim”母頭的版本短一些,并且形狀更緊湊
最后,有“ Stacking Header”選項(xiàng)。這是兩全其美的。您可以插入無(wú)焊面包板 并在頂部插入一個(gè)羽翼。但是它有點(diǎn)笨重
以普通標(biāo)題進(jìn)行焊接
準(zhǔn)備標(biāo)題欄:
如有必要,將標(biāo)題欄剪切成一定長(zhǎng)度。如果將其插入面包板,則焊接會(huì)更容易-長(zhǎng)按針腳
添加分線(xiàn)板:
將分線(xiàn)板放置在插針上,以使短的插針穿過(guò)分線(xiàn)墊
然后焊接!
請(qǐng)務(wù)必焊接所有引腳以實(shí)現(xiàn)可靠的電接觸。
(有關(guān)焊接的技巧,請(qǐng)務(wù)必查看我們的 優(yōu)良焊接指南 )。
將另一條帶焊接為
您完成了!目視檢查焊點(diǎn),然后繼續(xù)進(jìn)行下一步
在女性頭上焊接
原位錄音
對(duì)于插座,您需要將其綁在適當(dāng)?shù)奈恢茫虼水?dāng)您翻轉(zhuǎn)電路板時(shí),它們不會(huì)掉落
Flip&Tack Solder Fack&Tack Solder
After翻轉(zhuǎn),在每個(gè)條上焊接一個(gè)或兩個(gè)點(diǎn),以將接頭“固定”到位
并焊接!
請(qǐng)務(wù)必焊接所有引腳以確保可靠的電接觸。
(有關(guān)焊接的技巧,請(qǐng)務(wù)必查看我們的 優(yōu)秀焊接指南 )。
您完成了!目視檢查焊點(diǎn),然后繼續(xù)進(jìn)行下一步
請(qǐng)勿使用CanaKit 5V電源為Huzzah ESP8266供電供應(yīng),這些電源已經(jīng)破壞了CP2104芯片。
電池+ USB電源
我們希望讓Feather HUZZAH在連接到計(jì)算機(jī)以及通過(guò)電池時(shí)都易于供電。羽毛有兩種方式供電。您可以使用MicroUSB電纜(只需插入插孔)進(jìn)行連接,F(xiàn)eather會(huì)將5V USB的電壓降至3.3V。您也可以將4.2/3.7V鋰聚合物(Lipo/Lipoly)或鋰離子(LiIon)電池連接到JST插孔。這會(huì)使羽毛在可充電電池上運(yùn)行。 為USB電源供電時(shí),它將自動(dòng)切換至USB供電,并以100mA的電流開(kāi)始為電池(如果已連接)充電。 這種情況是“熱插拔”式的,因此您始終可以將LiPoly保持為“備份”電源,只有在USB電源斷開(kāi)時(shí)才能使用。
JST連接器的極性與Adafruit LiPoly電池匹配。使用極性錯(cuò)誤的電池可能會(huì)損壞您的羽毛
上面顯示的是Micro USB插孔(左),Lipoly JST插孔(左上)以及3.3V穩(wěn)壓器和轉(zhuǎn)換二極管(位于JST的右側(cè))
USB插孔旁邊還有一個(gè) CHG LED,在電池充電時(shí)該指示燈會(huì)點(diǎn)亮。如果未連接電池,此LED也會(huì)閃爍。
電源
您在這里有很多電源選擇!我們將引出 BAT 引腳(該引腳與lipoly JST連接器相連)以及 USB (如果已連接,則為USB + 5V)。我們還有 3V 引腳,該引腳具有3.3V穩(wěn)壓器的輸出。我們使用500mA峰值低壓降穩(wěn)壓器。雖然可以從中獲得500mA的電流,但是由于5V會(huì)使穩(wěn)壓器過(guò)熱,因此您不能連續(xù)從5V中獲得。我們用它來(lái)給ESP8266供電,它可以產(chǎn)生250 + mA的尖峰(盡管它不是連續(xù)的)。
您應(yīng)該能夠預(yù)算來(lái)自調(diào)節(jié)器的250mA電流,這將為WiFi模塊留出足夠的空間。
測(cè)量電池
如果用完電池,您可能想知道電壓是多少!這樣,您就可以知道電池何時(shí)需要充電。 Lipoly電池在4.2V時(shí)“達(dá)到極限”,并在3.7V左右保持不變,從而延長(zhǎng)了電池的使用壽命,然后緩慢下降至3.2V左右,然后保護(hù)電路將其切斷。通過(guò)測(cè)量電壓,您可以快速確定何時(shí)到達(dá)3.7V以下。
由于ESP8266沒(méi)有多個(gè)ADC引腳,因此我們不想“犧牲”一個(gè)引腳來(lái)監(jiān)控Lipoly電池。 但是,我們確實(shí)有一個(gè)教程介紹了如何使用兩個(gè)電阻器進(jìn)行操作。您可以在此處查看接線(xiàn)圖(使用VBat引腳進(jìn)行測(cè)量)和此處的代碼。
啟用引腳
如果您想關(guān)閉3.3V穩(wěn)壓器,則可以使用 EN (啟用)針。只需將此引腳連接到 Ground ,它將禁用3V穩(wěn)壓器。 BAT 和 USB 引腳仍將供電
div》備用電源選項(xiàng)
為羽毛供電的兩種主要方法是將3.7/4.2V LiPo電池插入JST端口或 USB電源線(xiàn)。
如果您需要其他方式為Feather供電,則建議這樣做:
對(duì)于永久性安裝,使用5V 1A USB壁式適配器可以插入U(xiǎn)SB電纜以提供可靠的電源
對(duì)于不想使用LiPoly的移動(dòng)設(shè)備,請(qǐng)使用USB電池組!
如果您使用的是更高電壓的電源,請(qǐng)使用5V降壓轉(zhuǎn)換器并將其連接到USB電纜的5V和GND輸入
這是您不能執(zhí)行的操作:
請(qǐng)勿使用堿性或鎳氫電池并連接到電池端口-這會(huì)破壞LiPoly充電器,并且無(wú)法禁用充電器
請(qǐng)勿在電池端口上使用7.4V RC電池-這會(huì)損壞電路板
“羽毛” 不是為外部電源設(shè)計(jì)的-這是使電路板緊湊且成本低廉的設(shè)計(jì)決策。不建議使用,但在技術(shù)上可行:
將外部3.3V電源連接到3V和GND引腳。不建議這樣做,這可能會(huì)導(dǎo)致意外行為,并且 EN 引腳將不再存在。而且,這不提供 BAT 或 USB 的電源,某些羽毛/機(jī)翼將這些引腳用于高電流使用。您可能最終會(huì)損壞Feather。
將外部5V電源連接到USB和GND引腳。不建議這樣做,這可能會(huì)導(dǎo)致在插入U(xiǎn)SB端口時(shí)發(fā)生意外行為,因?yàn)槟鷮閁SB端口供電,這可能會(huì)混淆或損壞您的計(jì)算機(jī)。
使用NodeMCU Lua
每個(gè)羽毛HUZZAH ESP8266突破口均已使用NodeMCU的Lua解釋器進(jìn)行了預(yù)編程。在撰寫(xiě)本文時(shí),我們隨附了由Lua 5.1.4支持的 NodeMCU 0.9.5內(nèi)部版本20150318 ,但可能是較新的
Lua仍在開(kāi)發(fā)中,因此我們強(qiáng)烈建議您訪問(wèn)NodeMCU,并將您的Lua版本更新為最新版本,因?yàn)樗鼈兛梢詾槟峁┳钚碌倪B續(xù)構(gòu)建版本。然后按照他們的指南更新Lua!
Lua解釋器運(yùn)行在ESP8266上,您可以鍵入命令并通過(guò)串行讀出結(jié)果。為了將代碼上傳到ESP8266并使用串行控制臺(tái),請(qǐng)將具有數(shù)據(jù)功能的Micro USB電纜連接到Feather HUZZAH,并將另一端連接到計(jì)算機(jī)的USB端口。安裝必需的CP2104 USB驅(qū)動(dòng)程序,以使COM/串行端口正確顯示
別忘了訪問(wèn)esp8266.com,以了解ESP8266最新,最出色的新聞,軟件和八卦信息!
別忘了為CP2104 USB-to安裝USB驅(qū)動(dòng)程序-串行芯片!
打開(kāi)串行控制臺(tái)
下一步,在計(jì)算機(jī)上,使用串行控制臺(tái)程序,例如 CoolTerm (Mac)或 Putty (Windows)或屏幕(Linux)。 Teraterm似乎不喜歡ESP8266最初的74400bps數(shù)據(jù)流,因此可以嘗試一下,但可能需要重置終端軟件。
連接到COM或您使用的串行端口電纜,波特率為9600
請(qǐng)確保您已關(guān)閉任何硬件握手或流控制
在粘貼代碼時(shí)膩?zhàn)硬缓茫虼四赡軣o(wú)法復(fù)制- n-粘貼!
還請(qǐng)確保將行尾設(shè)置為CRLF“ \ r \ n”
使用您喜歡的任何串行控制臺(tái)程序,我們恰好習(xí)慣于膩?zhàn)樱?/p>
一旦連接了終端軟件,請(qǐng)?jiān)贔eather HUZZAH ESP8266板上單擊 Reset (重置)按鈕以對(duì)其進(jìn)行重置并安裝它打印出歡迎消息:
如果沒(méi)有收到此消息,請(qǐng)首先檢查紅色/藍(lán)色指示燈在閃爍時(shí)閃爍。 u按重置按鈕。如果沒(méi)有,請(qǐng)確保已在軟件(9600)中選擇了正確的波特率
Hello world!
好,我們現(xiàn)在可以打開(kāi)一個(gè)LED。每塊板上都有一個(gè)紅色LED,連接到 GPIO#0
i》 NodeMCU Lua的引腳排列與Arduino/gcc引腳排列不同。我們?cè)诎迳洗蛴rduino引腳排列,請(qǐng)當(dāng)心!
ESP8266的Lua文檔交換了GPIO#4和#5,因此如果#4/#5不適用于您,請(qǐng)嘗試交換!
引腳說(shuō)明PCB/ArduinoNodeMCU/Lua
沒(méi)有上拉!03
24
39
41
52
911
1012
126
137
145
158
160
因此,將第0針LED設(shè)置為開(kāi)和關(guān)(這將是第3針) Lua)首先將其輸出:
下載:文件
復(fù)制代碼
gpio.mode(3, gpio.OUTPUT)
gpio.mode(3, gpio.OUTPUT)
使用以下方法打開(kāi)LED:
下載:文件
復(fù)制代碼
gpio.write(3, gpio.LOW) gpio.write(3, gpio.LOW)
然后關(guān)閉使用:
下載:文件
復(fù)制代碼
gpio.write(3, gpio.HIGH) gpio.write(3, gpio.HIGH)
您可以通過(guò)運(yùn)行更長(zhǎng)的腳本來(lái)使其自動(dòng)化一些。
對(duì)于更長(zhǎng)的文本,粘貼可能會(huì)比較困難。 lua解釋器在字符之間需要一點(diǎn)延遲時(shí)間,并且還需要CR-LF設(shè)置。因此,您可能需要粘貼每行,然后手動(dòng)按回車(chē)鍵。
下載:文件
復(fù)制代碼
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 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)在將閃爍。
請(qǐng)注意,由于它處于循環(huán)狀態(tài),因此無(wú)法通過(guò)解釋器使其停止。要停止它,請(qǐng)?jiān)俅螁螕糁刂冒粹o!
此代碼可在tmr.delay期間暫停處理器,這是使LED閃爍的更智能方法是使用計(jì)時(shí)器功能來(lái)關(guān)閉LED控件(代碼從這里開(kāi)始)
下載:文件
復(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和連接。
一旦您回來(lái)在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)
我們可以使用連接到接入點(diǎn)wifi.sta.config 和 wifi.sta.connect -需要一兩秒鐘才能完成連接,您可以通過(guò) wifi查詢(xún)模塊以詢(xún)問(wèn)狀態(tài)。 sta.status()-當(dāng)您獲得5時(shí),表示連接已完成且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)頁(yè)和打印出來(lái):
下載:文件
復(fù)制代碼
sk=net.createConnection(net.TCP, 0)
sk:on(“receive”, function(sck, c) print(c) end )
sk:connect(80,“207.58.139.247”)
sk:send(“GET /testwifi/index.html HTTP/1.1 Host: www.adafruit.com Connection: keep-alive Accept: */* ”)
sk=net.createConnection(net.TCP, 0)
sk:on(“receive”, function(sck, c) print(c) end )
sk:connect(80,“207.58.139.247”)
sk:send(“GET /testwifi/index.html HTTP/1.1 Host: www.adafruit.com Connection: keep-alive Accept: */* ”)
您也可以讓模塊為您執(zhí)行DNS,只需為其指定主機(jī)名而不是IP地址即可:
Downloa d:file
復(fù)制代碼
sk=net.createConnection(net.TCP, 0)
sk:on(“receive”, function(sck, c) print(c) end )
sk:connect(80,“www.adafruit.com”)
sk:send(“GET /testwifi/index.html HTTP/1.1 Host: www.adafruit.com Connection: keep-alive Accept: */* ”) sk=net.createConnection(net.TCP, 0)
sk:on(“receive”, function(sck, c) print(c) end )
sk:connect(80,“www.adafruit.com”)
sk:send(“GET /testwifi/index.html HTTP/1.1 Host: www.adafruit.com Connection: keep-alive Accept: */* ”)
這只是測(cè)試HUZZAH ESP突破的簡(jiǎn)要概述!有關(guān)更多信息,請(qǐng)查看NodeMCU的文檔頁(yè)面https://nodemcu.readthedocs.io/,以獲取有關(guān)可用功能的詳細(xì)信息,以及http://www.lua.org,以了解有關(guān)Lua腳本語(yǔ)言的更多信息。
使用Arduino IDE
雖然Feather HUZZAH ESP8266已使用NodeMCU的Lua解釋器進(jìn)行了預(yù)編程,但您不必使用它!相反,您可以使用可能更熟悉的Arduino IDE。 這將直接寫(xiě)入固件,刪除NodeMCU固件,因此,如果您想返回Lua,請(qǐng)使用Flasher重新安裝它
Don‘別忘了訪問(wèn)esp8266.com,以了解ESP8266的最新消息,最新消息,軟件和八卦消息!
要將代碼上傳到ESP8266并使用串行控制臺(tái),請(qǐng)連接任何具有數(shù)據(jù)功能的微型USB電纜連接到Feather HUZZAH,另一側(cè)連接到計(jì)算機(jī)的USB端口。
別忘了,您還需要安裝SiLabs CP2104驅(qū)動(dòng)程序:
單擊此處下載CP2104 USB驅(qū)動(dòng)程序
在Mac OS 10.13和更高版本上,除了安裝外,還必須授予CP2104內(nèi)核驅(qū)動(dòng)程序加載權(quán)限。您可以在安裝并查找“禁止加載開(kāi)發(fā)人員“ SiLabs”的系統(tǒng)軟件”的消息后訪問(wèn)“安全和隱私設(shè)置”系統(tǒng)偏好設(shè)置屏幕,以確定是否需要授予其他權(quán)限,如下圖所示。
要允許驅(qū)動(dòng)程序加載,請(qǐng)單擊鎖定圖標(biāo),輸入密碼,然后單擊警告消息旁邊的“允許”。之后,您可能需要重新啟動(dòng)計(jì)算機(jī),然后再執(zhí)行以下步驟并在Arduino應(yīng)用中連接到Huzzah。
如果您使用的是Mac OS 10.12.6(Sierra),并且無(wú)法使用最新的Mac OS VCP驅(qū)動(dòng)程序進(jìn)行上傳,請(qǐng)嘗試以下舊版v4驅(qū)動(dòng)程序。請(qǐng)注意,您將需要使用uninstall.sh(在驅(qū)動(dòng)程序包中)卸載v5驅(qū)動(dòng)程序
下載CP2104舊版USB驅(qū)動(dòng)程序
安裝Arduino IDE 1.6.8或更高版本
從Arduino下載Arduino IDE。 Arduino.cc中的cc(1.6.8或更高版本)
最新的通常是最好的
安裝ESP8266開(kāi)發(fā)板包
在其他Board Manager URL 字段中輸入 http://arduino.esp8266.com/stable/package_esp8266com_index.json Arduino v1.6.4 +首選項(xiàng)。
訪問(wèn)我們的指南,了解如何向Arduino 1.6.4+ IDE添加新板,以獲取有關(guān)添加第三方板的更多信息。
下一步,使用板管理器安裝ESP8266軟件包。
如果您想將此板與Adafruit IO Arduino一起使用-確保您使用的是2.5.1或更高版本。
在安裝過(guò)程之后,您應(yīng)該會(huì)看到esp8266軟件包標(biāo)記為INSTALLED。安裝過(guò)程完成后,關(guān)閉Boards Manager窗口。
設(shè)置ESP8266支持
重新啟動(dòng)后,從“工具”-》“板”下拉菜單中選擇 Adafruit Feather HUZZAH ESP8266
80 MHz作為CPU頻率
您可以保留 Flash大小在“ 4M(3M SPIFFS)
上傳速度中,選擇115200波特(您也可以嘗試更快的波特率,我們能夠以921600的驚人波特率上傳,但有時(shí)失敗,您必須重試)
與您的FTDI或USB串行電纜匹配的COM端口
在Mac上,您應(yīng)該查找“ SLAB_USBtoUART”端口
眨眼測(cè)試
我們將從簡(jiǎn)單的眨眼測(cè)試開(kāi)始
將其輸入到草圖窗口中(并保存,因?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)在,您只需上傳即可! 羽毛HUZZAH 內(nèi)置了自動(dòng)重置功能,可自動(dòng)將其置于引導(dǎo)加載模式
草圖將立即開(kāi)始-您將看到LED閃爍。
》
確定,一旦LED閃爍,就直接進(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());
}
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());
}
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”;
到您的訪問(wèn)點(diǎn)和密碼,然后以相同的方式上傳:進(jìn)入引導(dǎo)加載模式,然后通過(guò)IDE上傳代碼
以115200波特打開(kāi)IDE串行控制臺(tái),以查看連接和網(wǎng)頁(yè)打印輸出!
就是這樣,非常簡(jiǎn)單!
此頁(yè)面只是為了幫助您入門(mén)和測(cè)試模塊。有關(guān)更多信息,請(qǐng)查看ESP8266 port github存儲(chǔ)庫(kù)以獲取更多最新文檔!
下載
數(shù)據(jù)表和文件板上的strong》
AP2112K-3.3V調(diào)節(jié)器
CP2104 USB到串行轉(zhuǎn)換器
GitHub上的EagleCAD PCB文件
在Fritzing對(duì)象中Adafruit Fritzing庫(kù)
GitHub上的3D模型
羽毛HUZZAH ESP8266引腳分布圖
有關(guān)ESP8266的更多信息
ESP8266規(guī)格表
此突破口所用模塊的FCC測(cè)試報(bào)告
CE測(cè)試報(bào)告此突破中使用的模塊
http://www.esp8266.com/社區(qū)論壇上的大量信息!
NodeMCU(ESP8266的Lua)網(wǎng)頁(yè),其中包含有關(guān)Lua的示例和文檔框架
對(duì)ESP8266的Arduino IDE支持
NodeMCU PyFlasher-跨平臺(tái)ESP刷新工具
不要偽造請(qǐng)?jiān)L問(wèn)esp8266.com,以了解ESP8266最新,最棒的新聞,軟件和八卦消息!
示意圖
點(diǎn)擊放大
構(gòu)造打印
以英寸為單位的尺寸
ESP8266常見(jiàn)問(wèn)題解答
將東西連接到某些引腳時(shí),Huzzah停止工作。這是怎么回事?
ESP8266使用一些管腳作為’boot模式”引腳,因此在啟動(dòng)時(shí)必須將它們?cè)O(shè)置為特定值:
CH_PD(EN)應(yīng)始終拉為高電平(如果為低電平則將禁用整個(gè)模塊)
RST 應(yīng)始終被拉高(如果為低電平,它將禁用整個(gè)模塊)
GPIO 0 設(shè)置是否引導(dǎo)加載程序如果處于活動(dòng)狀態(tài),則必須在上電/復(fù)位期間將其拉為高電平,以便運(yùn)行用戶(hù)程序。如果將其拉低,它將激活引導(dǎo)加載程序。 #0上的內(nèi)置紅色LED將其上拉
GPIO 2 ,必須在上電/復(fù)位時(shí)將其拉高。
GPIO 15 必須在上電/復(fù)位時(shí)拉低。
我的Huzzah板不斷崩潰并重置,怎么辦?
最常見(jiàn)的崩潰原因是電源故障。確保使用?5V良好的電源為Huzzah供電,如果使用的是USB串行電纜,則應(yīng)將其插入計(jì)算機(jī)的主板或通過(guò)帶電的集線(xiàn)器!
我似乎無(wú)法在計(jì)算機(jī)上找到Feather HUZZAH的串行端口?
別忘了為您的計(jì)算機(jī)安裝CP2104 VCP驅(qū)動(dòng)程序,這是必需的!
我似乎仍然無(wú)法在計(jì)算機(jī)上找到Feather Huzzah的串行端口!
許多便宜的電子產(chǎn)品都帶有僅可充電的USB電纜,這會(huì)在以后引起頭痛。確保使用正確的數(shù)據(jù)/同步USB電纜。如果您發(fā)現(xiàn)僅使用充電電纜(也不能用于數(shù)據(jù)/同步),則將其丟棄,以免再次遇到相同的問(wèn)題。
,我在Mac上為ESP8266編譯時(shí)遇到“沒(méi)有這樣的文件”錯(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 ++:沒(méi)有此類(lèi)文件或目錄
錯(cuò)誤編譯。
解決此問(wèn)題,請(qǐng)執(zhí)行以下操作:
在Arduino IDE中打開(kāi)Boards Manager
卸載ESP8266支持
轉(zhuǎn)到您的?LIbrary文件夾(在Finder中) ,選擇“轉(zhuǎn)到::轉(zhuǎn)到文件夾:,然后輸入?Library )。找到文件夾Arduino15。
在Arduino15文件夾中,進(jìn)入軟件包,并刪除文件夾 esp8266
返回到Arduino IDE,并安裝ESP8266開(kāi)發(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í)遇到困難
請(qǐng)確保您使用的是高質(zhì)量的USB/串行電纜。也安裝該電纜的官方驅(qū)動(dòng)程序!我們還注意到基于PL2303的電纜由于某些原因在Mac上不起作用。基于FTDI或CP210x的芯片組效果最好
我嘗試過(guò),但是在使用Arduino IDE上傳時(shí)仍然遇到困難
有時(shí),它有助于將電路板類(lèi)型切換為“通用ESP8266模塊”。將重置方法設(shè)置為“ nodemcu”
參見(jiàn)此論壇帖子
我處于引導(dǎo)加載程序模式,無(wú)法上傳
您說(shuō)您的led卡在了昏暗的地方,嘗試上傳時(shí)出錯(cuò)了?并且您確定串行電纜已連接并且可以正常工作嗎?好吧,這是一個(gè)潛在的解決方法:通過(guò)220歐姆電阻將GPIO0引腳連接到GND。上傳時(shí)保持連接狀態(tài)。您可能需要嘗試幾次,但最終應(yīng)將其上傳并從引導(dǎo)加載方式中刪除HUZZAH!然后,您可以刪除電阻器連接,之后您的HUZZAH將會(huì)感到高興!
(注意:您可能還必須將RST和EN(CH_PD)綁在一起才能正常工作。請(qǐng)斷開(kāi)連接
感謝論壇用戶(hù)misslevania的提示!
我無(wú)法讓Lua做出回應(yīng)我的命令
請(qǐng)確保您的終端軟件發(fā)送的行尾正確!嘗試在ESP8266上與Lua通話(huà)時(shí),默認(rèn)PuTTY設(shè)置可能是錯(cuò)誤的。 Lua期望CRLF“ \ r \ n”行的結(jié)尾,并且顯然PuTTY默認(rèn)為L(zhǎng)F“ \ n”!
責(zé)任編輯:wv
-
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5589瀏覽量
103165 -
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
47085
發(fā)布評(píng)論請(qǐng)先 登錄
ESP8266燒錄與機(jī)智云一鍵配網(wǎng)教程

評(píng)論