Adafruit Feather HUZZAH ESP8266的说明

概述
羽毛是adafruit的新开发板,就像它的名字一样,它轻巧,轻巧,可让您飞翔!我们将feather设计为便携式微控制器内核的新标准。
这是 adafruit feather huzzah esp8266 -我们采用“多合一” esp8226 wifi开发板内置usb和电池充电。它是一个esp8266 wifi模块,具有您需要的所有其他功能,随时可以使用!我们在feather家族中还有其他板子,请在此处查看。
在fezz huzzah的心脏处,是一个esp8266 wifi微控制器,时钟频率为80 mhz,电压为3.3v逻辑。该微控制器包含tensilica芯片内核以及完整的wifi堆栈。您可以使用arduino ide对微控制器进行编程,以实现易于运行的物联网核心。我们连接了一个usb串行芯片,该芯片可以以惊人的921600波特率上传代码,以加快开发速度。它还具有自动重置功能,因此无需使用针脚和重置按钮即可进行调整。
为便于在便携式项目中使用,我们为任何3.7v锂聚合物电池添加了一个连接器,并内置了电池充电功能。您不需要电池,它可以直接从micro usb连接器正常运行。但是,如果您确实有电池,可以随身携带,然后插入usb进行充电。当feather可用时,它将自动切换到usb电源。
这里有一些方便的规格!
尺寸为2.0英寸x 0.9英寸x 0.28英寸(51毫米) x 23mm x 8mm),没有焊在头上的插头
像一根(大的)羽毛似的-6克
esp8266 @ 80mhz或160 mhz,逻辑电压/电源为3.3v
4mb的flash(32 mbit)
3.3v稳压器,具有500ma峰值电流输出
cp2104板载usb串行转换器,波特率为921600,可上传
自动重置支持,可在固件上传之前进入引导加载模式
9个gpio引脚-也可用作i2c和spi
1 x模拟输入,最大1.0v
内置100ma充电充电器,带充电状态指示灯led
引脚0的红色led通用闪烁;引脚2的蓝色led进行引导调试和通用闪烁
电源/启用销钉
4个安装孔
重置按钮
经过完全组装和测试,带有usb接口,可让您快速将其与arduino ide或nodemcu lua结合使用。 (它是用lua解释器预先编程的)我们还扔了一些接头,以便您可以将其焊接并插入无焊面包板上。不包括锂电池和usb电缆(但我们确实有很多选择
插脚
电源引脚
gnd -这是所有电源和逻辑的共同点
bat -这是可选lipoly电池的jst插孔进/出的正电压
usb -这是微型usb插孔进/出的正电压(如果已连接)
en -这是3.3v稳压器的使能引脚。它已上拉,因此请接地以禁用3.3v稳压器
3v -这是3.3v稳压器的输出,可以提供500ma的峰值(尝试保持250ma以下的电流消耗,因此您可以满足esp8266的电源要求!)
逻辑引脚
这是微控制器的通用i/o引脚设置。所有逻辑均为3.3v
esp8266采用3.3v电源和逻辑运行,并且除非另有说明,否则gpio引脚不是5v安全的!模拟引脚最大也为1.0v!
串行引脚
rx 和 tx 是串行控制和引导加载引脚,它们是您如何花费大部分时间进行通信的使用esp模块
tx 引脚是模块的输出,并且是3.3v逻辑。
rx 引脚是模块的输入 ,并且兼容5v(此引脚上有一个电平转换器)
这些引脚通过cp2104 usb到串行转换器连接,因此它们除非您非常确定要连接或使用,否则请不进行连接或使用,因为您还将获得usb流量!
i2c和spi引脚
您可以使用esp8266来控制i2c和spi设备,传感器,输出,等等。虽然这是通过“ bitbanging”完成的,但效果很好,esp8266的速度足以匹配“ arduino级别”的速度。
理论上,您可以将 any 引脚用于i2c和spi,但可以为了使人们更容易使用现有的arduino代码,库,草图,我们设置了以下内容:
i2c sda = gpio#4 (默认值)
i2c scl = gpio#5 (默认值)
如果需要,您可以连接使用arduino ide中的其他2个引脚连接到i2c设备,方法是在调用任何其他wire代码之前调用wire.pins(sda, scl)(因此,例如,在setup()开头
,您可以在任何引脚上使用spi,但是如果最终使用“硬件spi”,则需要使用以下命令:
spi sck = gpio#14 (默认)
spi mosi = gpio#13 (默认)
spi miso = gpio#12 (def故障)
gpio gpio引脚
此突破口有9个gpio:#0,#2,#4,#5,#12,#13,#14,#15,#16 排列在feather pcb的顶部边缘
所有gpio的输入和输出均为3.3v逻辑电平,并且不兼容5v。 阅读完整的规格表,以了解有关gpio引脚限制的更多信息,但请注意,每个引脚的最大电流为 12ma 。
这些引脚是通用的,可以用于任何类型的输入或输出。大多数还具有打开内部上拉电阻的能力。许多具有特殊功能:
gpio#0 ,它没有内部上拉电阻,并且还连接有红色led。 esp8266使用此管脚来确定何时启动到引导加载程序。如果在加电期间该引脚保持低电平,它将开始引导加载!也就是说,您始终可以将其用作输出,并使红色的led闪烁-请注意,该led接反了,因此将引脚设置为low将使led点亮。
gpio#2 ,也用于检测启动模式。它还连接到wifi天线附近的蓝色led。它具有连接的上拉电阻,您可以将其用作任何输出(如#0)并使蓝色led闪烁。
gpio#15 ,也用于检测启动模式。它连接了一个下拉电阻,确保启动时该引脚未拉高。您始终可以将其用作输出
gpio#16 ,可以将其从深度睡眠模式中唤醒,您需要将其连接到reset引脚
还要注意,gpio# 12/13/14 与 sck/mosi/miso ‘spi’引脚相同!
模拟引脚
还有一个名为 a 的模拟输入引脚。该引脚的最大电压约为1.0v,因此,如果您要读取的模拟电压更高,则必须将其分压至0-1.0v范围
其他控制引脚
我们还有其他一些引脚用于控制esp8266
rst -这是esp8266的复位引脚,默认情况下拉高。暂时下拉至地面时,它将重置esp8266系统。该引脚仅是3.3v逻辑
en(ch_pd)-这是esp8266的使能引脚,默认情况下被拉高。暂时下拉至地面时,它将重置esp8266系统。此引脚仅是3.3v逻辑
nc引脚
其余的引脚标记为 nc ,表示未连接-它们未连接任何东西,仅用作占位符,以保持与feather中其他板的物理兼容性。行!
装配体
我们出厂的feathers经过了全面测试,但未连接标头-这使您在选择如何使用和配置feather时更具灵活性
标题选项!
焊接时,有一些选择要考虑!
第一个选择是焊接普通的公头,这使您可以插入羽毛变成无焊面包板
另一种选择是使用插座母头。这不会让您将feather插入面包板,但可以非常轻松地连接羽翼
我们也有“ slim”母头的版本短一些,并且形状更紧凑
最后,有“ stacking header”选项。这是两全其美的。您可以插入无焊面包板 并在顶部插入一个羽翼。但是它有点笨重
以普通标题进行焊接
准备标题栏:
如有必要,将标题栏剪切成一定长度。如果将其插入面包板,则焊接会更容易-长按针脚
添加分线板:
将分线板放置在插针上,以使短的插针穿过分线垫
然后焊接!
请务必焊接所有引脚以实现可靠的电接触。
(有关焊接的技巧,请务必查看我们的 优良焊接指南 )。
将另一条带焊接为
您完成了!目视检查焊点,然后继续进行下一步
在女性头上焊接
原位录音
对于插座,您需要将其绑在适当的位置,因此当您翻转电路板时,它们不会掉落
flip&tack solder fack&tack solder
after翻转,在每个条上焊接一个或两个点,以将接头“固定”到位
并焊接!
请务必焊接所有引脚以确保可靠的电接触。
(有关焊接的技巧,请务必查看我们的 优秀焊接指南 )。
您完成了!目视检查焊点,然后继续进行下一步
电源管理
请勿使用canakit 5v电源为huzzah esp8266供电供应,这些电源已经破坏了cp2104芯片。
电池+ usb电源
我们希望让feather huzzah在连接到计算机以及通过电池时都易于供电。羽毛有两种方式供电。您可以使用microusb电缆(只需插入插孔)进行连接,feather会将5v usb的电压降至3.3v。您也可以将4.2/3.7v锂聚合物(lipo/lipoly)或锂离子(liion)电池连接到jst插孔。这会使羽毛在可充电电池上运行。 为usb电源供电时,它将自动切换至usb供电,并以100ma的电流开始为电池(如果已连接)充电。 这种情况是“热插拔”式的,因此您始终可以将lipoly保持为“备份”电源,只有在usb电源断开时才能使用。
jst连接器的极性与adafruit lipoly电池匹配。使用极性错误的电池可能会损坏您的羽毛
上面显示的是micro usb插孔(左),lipoly jst插孔(左上)以及3.3v稳压器和转换二极管(位于jst的右侧)
usb插孔旁边还有一个 chg led,在电池充电时该指示灯会点亮。如果未连接电池,此led也会闪烁。
电源
您在这里有很多电源选择!我们将引出 bat 引脚(该引脚与lipoly jst连接器相连)以及 usb (如果已连接,则为usb + 5v)。我们还有 3v 引脚,该引脚具有3.3v稳压器的输出。我们使用500ma峰值低压降稳压器。虽然可以从中获得500ma的电流,但是由于5v会使稳压器过热,因此您不能连续从5v中获得。我们用它来给esp8266供电,它可以产生250 + ma的尖峰(尽管它不是连续的)。
您应该能够预算来自调节器的250ma电流,这将为wifi模块留出足够的空间。
测量电池
如果用完电池,您可能想知道电压是多少!这样,您就可以知道电池何时需要充电。 lipoly电池在4.2v时“达到极限”,并在3.7v左右保持不变,从而延长了电池的使用寿命,然后缓慢下降至3.2v左右,然后保护电路将其切断。通过测量电压,您可以快速确定何时到达3.7v以下。
由于esp8266没有多个adc引脚,因此我们不想“牺牲”一个引脚来监控lipoly电池。 但是,我们确实有一个教程介绍了如何使用两个电阻器进行操作。您可以在此处查看接线图(使用vbat引脚进行测量)和此处的代码。
启用引脚
如果您想关闭3.3v稳压器,则可以使用 en (启用)针。只需将此引脚连接到 ground ,它将禁用3v稳压器。 bat 和 usb 引脚仍将供电
div》备用电源选项
为羽毛供电的两种主要方法是将3.7/4.2v lipo电池插入jst端口或 usb电源线。
如果您需要其他方式为feather供电,则建议这样做:
对于永久性安装,使用5v 1a usb壁式适配器可以插入usb电缆以提供可靠的电源
对于不想使用lipoly的移动设备,请使用usb电池组!
如果您使用的是更高电压的电源,请使用5v降压转换器并将其连接到usb电缆的5v和gnd输入
这是您不能执行的操作:
请勿使用碱性或镍氢电池并连接到电池端口-这会破坏lipoly充电器,并且无法禁用充电器
请勿在电池端口上使用7.4v rc电池-这会损坏电路板
“羽毛” 不是为外部电源设计的-这是使电路板紧凑且成本低廉的设计决策。不建议使用,但在技术上可行:
将外部3.3v电源连接到3v和gnd引脚。不建议这样做,这可能会导致意外行为,并且 en 引脚将不再存在。而且,这不提供 bat 或 usb 的电源,某些羽毛/机翼将这些引脚用于高电流使用。您可能最终会损坏feather。
将外部5v电源连接到usb和gnd引脚。不建议这样做,这可能会导致在插入usb端口时发生意外行为,因为您将为usb端口供电,这可能会混淆或损坏您的计算机。
使用nodemcu lua
每个羽毛huzzah esp8266突破口均已使用nodemcu的lua解释器进行了预编程。在撰写本文时,我们随附了由lua 5.1.4支持的 nodemcu 0.9.5内部版本20150318 ,但可能是较新的
lua仍在开发中,因此我们强烈建议您访问nodemcu,并将您的lua版本更新为最新版本,因为它们可以为您提供最新的连续构建版本。然后按照他们的指南更新lua!
lua解释器运行在esp8266上,您可以键入命令并通过串行读出结果。为了将代码上传到esp8266并使用串行控制台,请将具有数据功能的micro usb电缆连接到feather huzzah,并将另一端连接到计算机的usb端口。安装必需的cp2104 usb驱动程序,以使com/串行端口正确显示
别忘了访问esp8266.com,以了解esp8266最新,最出色的新闻,软件和八卦信息!
别忘了为cp2104 usb-to安装usb驱动程序-串行芯片!
打开串行控制台
下一步,在计算机上,使用串行控制台程序,例如 coolterm (mac)或 putty (windows)或屏幕(linux)。 teraterm似乎不喜欢esp8266最初的74400bps数据流,因此可以尝试一下,但可能需要重置终端软件。
连接到com或您使用的串行端口电缆,波特率为9600
请确保您已关闭任何硬件握手或流控制
在粘贴代码时腻子不好,因此您可能无法复制- n-粘贴!
还请确保将行尾设置为crlf“ \ r \ n”
使用您喜欢的任何串行控制台程序,我们恰好习惯于腻子!
一旦连接了终端软件,请在feather huzzah esp8266板上单击 reset (重置)按钮以对其进行重置并安装它打印出欢迎消息:
如果没有收到此消息,请首先检查红色/蓝色指示灯在闪烁时闪烁。 u按重置按钮。如果没有,请确保已在软件(9600)中选择了正确的波特率
hello world!
好,我们现在可以打开一个led。每块板上都有一个红色led,连接到 gpio#0
i》 nodemcu lua的引脚排列与arduino/gcc引脚排列不同。我们在板上打印arduino引脚排列,请当心!
esp8266的lua文档交换了gpio#4和#5,因此如果#4/#5不适用于您,请尝试交换!
引脚说明pcb/arduinonodemcu/lua
没有上拉!03
24
39
41
52
911
1012
126
137
145
158
160
因此,将第0针led设置为开和关(这将是第3针) lua)首先将其输出:
下载:文件
复制代码
gpio.mode(3, gpio.output)
gpio.mode(3, gpio.output)
使用以下方法打开led:
下载:文件
复制代码
gpio.write(3, gpio.low) gpio.write(3, gpio.low)
然后关闭使用:
下载:文件
复制代码
gpio.write(3, gpio.high) gpio.write(3, gpio.high)
您可以通过运行更长的脚本来使其自动化一些。
对于更长的文本,粘贴可能会比较困难。 lua解释器在字符之间需要一点延迟时间,并且还需要cr-lf设置。因此,您可能需要粘贴每行,然后手动按回车键。
下载:文件
复制代码
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现在将闪烁。
请注意,由于它处于循环状态,因此无法通过解释器使其停止。要停止它,请再次单击重置按钮!
此代码可在tmr.delay期间暂停处理器,这是使led闪烁的更智能方法是使用计时器功能来关闭led控件(代码从这里开始)
下载:文件
复制代码
-- 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
我们将继续快速扫描并扫描wifi和连接。
一旦您回来在lua提示符下,使用
将esp8266设置为wifi client模式 download:file
复制代码
wifi.setmode(wifi.station) wifi.setmode(wifi.station)
然后,您可以运行扫描仪并打印出可用的ap
下载:文件
复制代码
-- 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)
或更详细。..。..
下载:文件
复制代码
-- 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 和 wifi.sta.connect -需要一两秒钟才能完成连接,您可以通过 wifi查询模块以询问状态。 sta.status()-当您获得5时,表示连接已完成且dhcp成功
下载:文件
复制代码
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,例如,阅读网页和打印出来:
下载:文件
复制代码
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: */* ”)
您也可以让模块为您执行dns,只需为其指定主机名而不是ip地址即可:
downloa d:file
复制代码
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: */* ”)
这只是测试huzzah esp突破的简要概述!有关更多信息,请查看nodemcu的文档页面https://nodemcu.readthedocs.io/,以获取有关可用功能的详细信息,以及http://www.lua.org,以了解有关lua脚本语言的更多信息。
使用arduino ide
虽然feather huzzah esp8266已使用nodemcu的lua解释器进行了预编程,但您不必使用它!相反,您可以使用可能更熟悉的arduino ide。 这将直接写入固件,删除nodemcu固件,因此,如果您想返回lua,请使用flasher重新安装它
don‘别忘了访问esp8266.com,以了解esp8266的最新消息,最新消息,软件和八卦消息!
要将代码上传到esp8266并使用串行控制台,请连接任何具有数据功能的微型usb电缆连接到feather huzzah,另一侧连接到计算机的usb端口。
别忘了,您还需要安装silabs cp2104驱动程序:
单击此处下载cp2104 usb驱动程序
在mac os 10.13和更高版本上,除了安装外,还必须授予cp2104内核驱动程序加载权限。您可以在安装并查找“禁止加载开发人员“ silabs”的系统软件”的消息后访问“安全和隐私设置”系统偏好设置屏幕,以确定是否需要授予其他权限,如下图所示。
要允许驱动程序加载,请单击锁定图标,输入密码,然后单击警告消息旁边的“允许”。之后,您可能需要重新启动计算机,然后再执行以下步骤并在arduino应用中连接到huzzah。
如果您使用的是mac os 10.12.6(sierra),并且无法使用最新的mac os vcp驱动程序进行上传,请尝试以下旧版v4驱动程序。请注意,您将需要使用uninstall.sh(在驱动程序包中)卸载v5驱动程序
下载cp2104旧版usb驱动程序
安装arduino ide 1.6.8或更高版本
从arduino下载arduino ide。 arduino.cc中的cc(1.6.8或更高版本)
最新的通常是最好的
安装esp8266开发板包
在其他board manager url 字段中输入 http://arduino.esp8266.com/stable/package_esp8266com_index.json arduino v1.6.4 +首选项。
访问我们的指南,了解如何向arduino 1.6.4+ ide添加新板,以获取有关添加第三方板的更多信息。
下一步,使用板管理器安装esp8266软件包。
如果您想将此板与adafruit io arduino一起使用-确保您使用的是2.5.1或更高版本。
在安装过程之后,您应该会看到esp8266软件包标记为installed。安装过程完成后,关闭boards manager窗口。
设置esp8266支持
重新启动后,从“工具”-》“板”下拉菜单中选择 adafruit feather huzzah esp8266
80 mhz作为cpu频率
您可以保留 flash大小在“ 4m(3m spiffs)
上传速度中,选择115200波特(您也可以尝试更快的波特率,我们能够以921600的惊人波特率上传,但有时失败,您必须重试)
与您的ftdi或usb串行电缆匹配的com端口
在mac上,您应该查找“ slab_usbtouart”端口
眨眼测试
我们将从简单的眨眼测试开始
将其输入到草图窗口中(并保存,因为您必须这样做)
下载:文件
复制代码
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);
}
现在,您只需上传即可! 羽毛huzzah 内置了自动重置功能,可自动将其置于引导加载模式
草图将立即开始-您将看到led闪烁。

确定,一旦led闪烁,就直接进入有趣的部分,连接到web服务器。使用以下代码创建新草图:
下载:文件
复制代码
/*
* 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”;
到您的访问点和密码,然后以相同的方式上传:进入引导加载模式,然后通过ide上传代码
以115200波特打开ide串行控制台,以查看连接和网页打印输出!
就是这样,非常简单!
此页面只是为了帮助您入门和测试模块。有关更多信息,请查看esp8266 port github存储库以获取更多最新文档!
下载
数据表和文件板上的strong》
ap2112k-3.3v调节器
cp2104 usb到串行转换器
github上的eaglecad pcb文件
在fritzing对象中adafruit fritzing库
github上的3d模型
羽毛huzzah esp8266引脚分布图
有关esp8266的更多信息
esp8266规格表
此突破口所用模块的fcc测试报告
ce测试报告此突破中使用的模块
http://www.esp8266.com/社区论坛上的大量信息!
nodemcu(esp8266的lua)网页,其中包含有关lua的示例和文档框架
对esp8266的arduino ide支持
nodemcu pyflasher-跨平台esp刷新工具
不要伪造请访问esp8266.com,以了解esp8266最新,最棒的新闻,软件和八卦消息!
示意图
点击放大
构造打印
以英寸为单位的尺寸
esp8266常见问题解答
将东西连接到某些引脚时,huzzah停止工作。这是怎么回事?
esp8266使用一些管脚作为’boot模式”引脚,因此在启动时必须将它们设置为特定值:
ch_pd(en)应始终拉为高电平(如果为低电平则将禁用整个模块)
rst 应始终被拉高(如果为低电平,它将禁用整个模块)
gpio 0 设置是否引导加载程序如果处于活动状态,则必须在上电/复位期间将其拉为高电平,以便运行用户程序。如果将其拉低,它将激活引导加载程序。 #0上的内置红色led将其上拉
gpio 2 ,必须在上电/复位时将其拉高。
gpio 15 必须在上电/复位时拉低。
我的huzzah板不断崩溃并重置,怎么办?
最常见的崩溃原因是电源故障。确保使用〜5v良好的电源为huzzah供电,如果使用的是usb串行电缆,则应将其插入计算机的主板或通过带电的集线器!
我似乎无法在计算机上找到feather huzzah的串行端口?
别忘了为您的计算机安装cp2104 vcp驱动程序,这是必需的!
我似乎仍然无法在计算机上找到feather huzzah的串行端口!
许多便宜的电子产品都带有仅可充电的usb电缆,这会在以后引起头痛。确保使用正确的数据/同步usb电缆。如果您发现仅使用充电电缆(也不能用于数据/同步),则将其丢弃,以免再次遇到相同的问题。
,我在mac上为esp8266编译时遇到“没有这样的文件”错误
如果您的错误消息如下所示:
fork/exec/users/xxxxxxx/library/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0 -26-gb404fb9-2/bin/xtensa-lx106-elf-g ++:没有此类文件或目录
错误编译。
解决此问题,请执行以下操作:
在arduino ide中打开boards manager
卸载esp8266支持
转到您的〜library文件夹(在finder中) ,选择“转到::转到文件夹:,然后输入〜library )。找到文件夹arduino15。
在arduino15文件夹中,进入软件包,并删除文件夹 esp8266
返回到arduino ide,并安装esp8266开发板支持。
现在返回finder,并检查路径 arduino15/packages中是否有xtensa-lx106-elf-g ++文件。/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/bin/xtensa-lx106-elf-g ++
就是这样!
每当我启动或重置esp8226时,串行控制台上都会出现一堆“乱码”
这是rom调试消息,它以74880波特传输,因此您很少在适当的“ ascii输出”中看到它-而是通常会损坏成一群奇怪的字符。
我在使用arduino ide上传到huzzah时遇到困难
请确保您使用的是高质量的usb/串行电缆。也安装该电缆的官方驱动程序!我们还注意到基于pl2303的电缆由于某些原因在mac上不起作用。基于ftdi或cp210x的芯片组效果最好
我尝试过,但是在使用arduino ide上传时仍然遇到困难
有时,它有助于将电路板类型切换为“通用esp8266模块”。将重置方法设置为“ nodemcu”
参见此论坛帖子
我处于引导加载程序模式,无法上传
您说您的led卡在了昏暗的地方,尝试上传时出错了?并且您确定串行电缆已连接并且可以正常工作吗?好吧,这是一个潜在的解决方法:通过220欧姆电阻将gpio0引脚连接到gnd。上传时保持连接状态。您可能需要尝试几次,但最终应将其上传并从引导加载方式中删除huzzah!然后,您可以删除电阻器连接,之后您的huzzah将会感到高兴!
(注意:您可能还必须将rst和en(ch_pd)绑在一起才能正常工作。请断开连接
感谢论坛用户misslevania的提示!
我无法让lua做出回应我的命令
请确保您的终端软件发送的行尾正确!尝试在esp8266上与lua通话时,默认putty设置可能是错误的。 lua期望crlf“ \ r \ n”行的结尾,并且显然putty默认为lf“ \ n”!


一文揭晓华为新一代折叠旗舰Mate X2亮点
不同蓝牙定位方案之间的对比
因电信和医疗领域关键应用 印度能源公司开设100 MWh锂电池工厂
思博伦:虚拟运营商应重视安全和应用负载性测试
氦气硬盘有什么优势,不止是容量大运行稳定而已
Adafruit Feather HUZZAH ESP8266的说明
基于PXI和LabVIEW的FCT功能测试系统
高性能探头放大器性能验证教学
PCB组装过程中的主要挑战是什么
关于科大讯飞刘庆峰谈机器必胜的分析和介绍
PCB制作工艺过程
自镇流LED灯主要性能指标及国内外标准要求
人工智能大战,谁会在AI时代领头前行?
我国对国产大飞机的投资需要进一步加强
宝马iX3最新照片曝光 在电动化领域具有不俗实力
博途插入并组态PLC
SiC企业燕东微上市
PCBA加工技术:有铅工艺与无铅工艺的区别
有什么方法可以减少Quartus II的编译时间吗?
魅族与苏宁达成战略合作 首批新增300+快修网点 4大魅族原厂服务中心