Arduino IDE无法找到ESP8266WiFi.h文件

30

我正在尝试使用Arduino IDE与NOD MCU ESP8266WiFi。

当我运行以下代码:

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "YourAuthToken";
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup(){
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
}
void loop()
{
  Blynk.run();
}

我遇到了以下错误:

fatal error: ESP8266WiFi.h: No such file or directory

     #include <ESP8266WiFi.h>    
                         ^
compilation terminated.

exit status 1
Error compiling for board Arduino/Genuino Uno.

5
对我来说,这很简单,只需要记住选择正确的板子:工具 > 板子 > 通用 ESP8266 模块。 - Ryan Loggerythm
谢谢,Ryan!这真是省了不少时间!在我的情况下,我为了一个不同的项目切换到了ESP32,没有意识到当我重新开始原始项目时,我需要切换回8266开发板。我正要去找发生了什么事情导致Wifi库不起作用...这样会浪费很多时间 :) - undefined
4个回答

51

在使用Arduino IDE编程NODEMCU板时,您需要自定义它,并且必须选择正确的板卡。

打开Arduino IDE并转到“文件”,然后单击Arduino IDE中的“首选项”。

将以下链接添加到“附加管理器URLS”部分:"http://arduino.esp8266.com/stable/package_esp8266com_index.json",然后点击“确定”按钮。

接下来,单击“工具>板卡管理器”。在文本框中输入“ESP8266”以搜索并安装用于Arduino IDE的ESP8266软件。

通过执行这些操作后,在尝试重新选择NodeMCU板卡进行编程时,您将成功。希望我能够帮到您。


2
运行得非常顺畅。 - Himanshu Rawat
2
要明确gokhan的最后一点:如果您选择了不同的板子(例如我的情况下是ESP32),在工具->板子下,编译器将找不到ESP8266WiFi.h头文件。Arduino IDE 1.8.13 - Adam Howell
我有NodeMCU-32S开发板,在Arduino IDE中我选择了NodeMCU-32S开发板,但是没有ESP8266WiFi.h。 - Edward Ned Harvey

30

从1.6.4开始,Arduino IDE可以通过安装ESP8266第三方平台软件包(请参阅https://github.com/esp8266/Arduino)来编程和上传NodeMCU板:

  • 启动Arduino,进入文件 > 首选项
  • 将以下链接添加到其他开发板管理器网址http://arduino.esp8266.com/stable/package_esp8266com_index.json,然后点击“确定”按钮
  • 选择工具 > 开发板菜单 > 开发板管理器,搜索ESP8266并从ESP8266社区安装ESP8266平台(安装后别忘了从工具 > 开发板菜单中选择您的ESP8266板子)

要安装附加的ESP8266WiFi库:

  • 点击示例 > 包含库 > 管理库,搜索ESP8266WiFi,然后安装最新版本。

完成以上步骤后,您应该正常编译sketch。

编辑:这个库可能已经包含在较新版本的Arduino IDE中,所以首先检查是否已经包含,如果还没有,请安装它。您可以参考下面的链接,了解如何系统地调试此类问题:https://www.programmingelectronics.com/no-such-file-error/


我按照自己的想法做了这件事,然后不得不按照这里的指示操作:https://arduino-esp8266.readthedocs.io/en/latest/faq/a04-board-generic-is-unknown.html - minisaurus
26
ESP8266WiFi似乎不再出现在库管理器列表中。 - Jaxian
@Jaxian:使用的是哪个版本的Arduino IDE? - Steven Lee
1
我在管理器中也找不到这个库。但是代码仍然可以编译(在新设置的计算机上),因此我认为它现在已包含在Arduino IDE安装中(或板配置中?)。我正在使用Arduino IDE 1.8.15。 - Fred
1
@Fred:我给出的链接上说:“检查您是否拥有该文件的简单方法是在Arduino IDE中,转到Sketch > Include Library,然后查找该库的名称。” - 你可以检查一下该库是否被包含了吗? - Steven Lee
1
@StevenLee:在包含库菜单中点击“ESP8266WiFi”会添加18个包含文件,这些文件似乎都与esp wifi有关。第6个是<ESP8266WiFi.h>,我在原始代码中使用过它。因此,是的,它似乎已经包含在IDE安装中了。 - Fred

6

安装后别忘了选择你的板子


4

对于那些遇到fatal error: ESP8266WiFi.h: No such file or directory问题的人,你可以手动安装软件包。

  1. 从这里https://github.com/esp8266/Arduino下载Arduino ESP8266核心。
  2. 从下载的核心中找到library并获取ESP8266WiFi文件夹。
  3. 将该文件夹拖到本地的Arduino/library文件夹中。可以通过进入首选项并查看您的Sketchbook location来找到此文件夹。

但你可能仍然需要先安装http://arduino.esp8266.com/stable/package_esp8266com_index.json软件包。

编辑:这还不是全部问题,您在编译之前需要确保选择了正确的ESP8266板。

希望这能帮助其他人。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接