0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Adafruit Feather HUZZAH ESP8266的说明

454398 来源:网络整理 作者:网络整理 2019-11-27 11:27 次阅读

概述

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”!
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    25

    文章

    5032

    浏览量

    97375
  • ESP8266
    +关注

    关注

    50

    文章

    962

    浏览量

    44964
收藏 人收藏

    评论

    相关推荐

    ESP8266 太空人动画的 OLED 显示

    ESP8266 太空人动画的 OLED 显示
    的头像 发表于 10-08 15:06 267次阅读
    <b class='flag-5'>ESP8266</b> 太空人动画的 OLED 显示

    STM32 ESP8266阿里云链接源码

    stm32F103C8T6 ESP8266 物联网电表 登录阿里云
    发表于 08-29 14:21 6次下载

    esp32和esp8266代码共用吗

    本文将介绍ESP32和ESP8266两款流行的微控制器在代码共用性方面的可能性与差异性。 一、引言 随着物联网技术的飞速发展,越来越多的智能设备开始进入我们的生活。其中,ESP32和ESP82
    的头像 发表于 08-19 18:23 1114次阅读

    esp8266esp32区别是什么

    以下是关于ESP8266ESP32的主要区别: 处理器和架构 : ESP8266 :使用一个Tensilica L106 80MHz的处理器,属于Xtensa架构。 ESP32 :使
    的头像 发表于 08-19 18:16 5249次阅读

    ESP8266需要烧录固件库嘛

    需要。ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。它具有低成本、低功耗、易于编程等特点,因此受到了许多开发者的喜爱。在开发ESP8266项目时,烧录固件库是一个非常重要
    的头像 发表于 08-19 17:30 849次阅读

    esp8266不烧录可以使用吗

    ESP8266是一款非常流行的Wi-Fi模块,广泛应用于物联网项目中。然而,如果不进行烧录,ESP8266将无法正常工作。 1. ESP8266简介 ESP8266是一款由Espres
    的头像 发表于 08-19 17:28 770次阅读

    esp8266wifi模块怎么连接手机

    ESP8266 WiFi模块连接手机主要可以通过两种方式实现: 通过路由器连接(STA模式)和直接作为热点连接(AP模式) 。以下是两种连接方式的步骤: 一、通过路由器连接(STA模式) 配置
    的头像 发表于 08-19 17:27 2648次阅读

    ESP8266-12退出深度睡眠模式时挂起怎么解决?

    我正在使用 adafruits 的 esp8266 HUZZAH 板 (ESP8266-12),该板连接到温度/湿度传感器 (DHTxx),该传感器正在向 thingspeak 发送温度/湿度
    发表于 07-22 06:26

    ESP8266无法从致命异常(0)中恢复怎么办?

    使用的硬件:Adafruit HUZZAH ESP8266 ESP12 使用的软件: - Arduino IDE V1.6.7 带 esp82
    发表于 07-19 10:41

    ESP8266为什么不响应Arduino?

    我是这个 wifi 芯片的新手。我的问题是,当我将其与 arduino mega 连接时,我无法从 esp8266 获得响应。 像许多在线教程一样,我按照说明进行操作,但仍然无法得到任何回应
    发表于 07-16 06:39

    ESP8266 Huzzah不响应AT命令的原因?

    我的 esp8266 Huzzah 分线板最近使用 esp 闪存工具,使用 NONOS SDK v2.0.0 重新刷新。我认为这将允许 esp 在通过 arduino 串行监视器发送
    发表于 07-11 08:21

    ESP8266网络天气时钟OLED显示

    基于ESP8266实现网络获取天气和时钟并OLED显示
    的头像 发表于 06-28 04:46 1120次阅读
    <b class='flag-5'>ESP8266</b>网络天气时钟OLED显示

    国产低成本Wi-Fi SoC解决方案芯片ESP8266ESP8285对比差异

    ESP8266ESP8285对比差异 ESP8285相当于在ESP8266基础上多加了1/2MB Flash, ESP8285与
    的头像 发表于 05-17 11:44 1317次阅读
    国产低成本Wi-Fi SoC解决方案芯片<b class='flag-5'>ESP8266</b>与<b class='flag-5'>ESP</b>8285对比差异

    使用Wi-Fi ESP8266方案模组接入云平台

    ESP8266的模块芯片是基于无线通信协议的UARTWi-Fi透传模块芯片,支持802.11b/g/n的无线标准,并带有三种可选择的工作模式。ESP8266模块的控制是通过AT指令的形式控制,例如
    的头像 发表于 05-10 08:20 1825次阅读
    使用Wi-Fi <b class='flag-5'>ESP8266</b>方案模组接入云平台

    STM32、ESP8266与MQTT连接阿里云物联网的串口通信异常解析

    STM32、ESP8266与MQTT协议连接阿里云物联网平台时常见的串口通信异常介绍 在构建物联网应用时,STM32、ESP8266与MQTT协议的结合是实现设备与网络间稳定通信的关键。然而,在连接
    的头像 发表于 04-19 17:19 1439次阅读