电子说
概述
羽毛是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”!
责任编辑:wv
全部0条评论
快来发表一下你的评论吧 !