错误:编译板通用esp8266,Arduino UNO

时间:2016-07-21 03:33:27

标签: arduino esp8266

我正在尝试将我有一段时间的ESP8266-01连接到我的Arduino UNO r3。使用ESP8266对我来说是新的。我使用此site作为参考。

我的连接如下:

Arduino -> ESP8266
TX -> RX
RX -> TX
5V -> Resistor -> VCC, CH_PD
GND -> GND

我正在尝试快速测试以连接ESP8266

void setup() {
  // put your setup code here, to run once:
Serial2.begin(9600);
Serial.begin(115200);
}

void loop() {
  while(Serial2.available()) Serial.write(Serial2.read());
  while(Serial.available()) Serial2.write(Serial.read());

}

我收到此错误:

Arduino: 1.6.9 (Windows 7), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"

C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware "C:\Program Files (x86)\Arduino\hardware" -hardware "C:\Users\Lappy\AppData\Local\Arduino15\packages" -tools "C:\Program Files (x86)\Arduino\tools-builder" -tools "C:\Program Files (x86)\Arduino\hardware\tools\avr" -tools "C:\Users\Lappy\AppData\Local\Arduino15\packages" -built-in-libraries "C:\Program Files (x86)\Arduino\libraries" -libraries "C:\Users\Lappy\Documents\Arduino\libraries" -fqbn=esp8266:esp8266:generic:CpuFrequency=80,FlashFreq=40,FlashMode=dio,UploadSpeed=115200,FlashSize=512K64,ResetMethod=ck,Debug=Disabled,DebugLevel=None____ -vid-pid=0X2341_0X0043 -ide-version=10609 -build-path "C:\Users\Lappy\AppData\Local\Temp\build020cff5e75da0458cfe8ecc88a163002.tmp" -warnings=none -prefs=build.warn_data_percentage=75 -verbose "C:\Users\Lappy\Box Sync\Arduino\wifi_door_opener\wifi_door_opener.ino"

Board generic (platform esp8266, package esp8266) is unknown

Error compiling for board Generic ESP8266 Module.

3 个答案:

答案 0 :(得分:1)

  • 你得到的错误似乎是试图为ESP8266构建(看起来你没有在Arduino IDE中安装ESP8266核心)。
  • 您的代码和说明表明您实际上是在尝试为UNO构建,以便UNO可以与ESP进行通信。在这种情况下,您希望将UNO设置为电路板,而不是ESP8266。

另一个问题,但不是你遇到的问题(YET),是你的布线说:

  

5V - >电阻器 - > VCC,CH_PD

这真让我烦恼! :)

可能没关系,你提到我现在无法检查的网站,但似乎你试图通过使用一个电阻将电压从5v降低到3.3v。对于一个可以绘制高度可变负载的设备来说,这似乎非常不可靠(意味着ESP可能会看到从5v到3.3v以下的任何东西)。

哦,非常相似,这个:

  

TX - > RX

     

RX - > TX

似乎也是一个坏主意,我假设UNO数据线是5v? ESP预计3.3v,煎炸它的可能性很高:)。

答案 1 :(得分:0)

你使用Serial2.begin和Serial.begin,但Arduino Uno R3只有一个UART(数字引脚0和1)! 相比之下,您所指的链接适用于具有4个UART的Arduino Mega。因此,在这种情况下,您需要将2个引脚定义为SoftwareSerial并包含如下所示的库:

#include <SoftwareSerial.h>
SoftwareSerial ESP8266(2,3)
void setup(){
    do something;
}

这使得Arduino的数字引脚2成为另一个Rx引脚,而数字引脚3也是另一个Tx引脚。

而且(正如已经提到的那样)你需要检查你的接线。 Arduino Uno适用于5V,但ESP8266适用于3.3V(3.0V - 3.6V,如您所见here under documentation in the datasheet)!

所以你需要做的是:

您可以为ESP8266使用外部3.3V电源,也可以从Arduino Uno获取5V引脚并将其转换为3.3V(分压器,LD1117V33,......)。有些人将ESP8266直接连接到Arduino的3.3V引脚,但在我的情况下,它不起作用。但是你可以尝试一下......

你需要考虑Arduino通过5V的UART引脚发送。因此,请确保在ESP8266的接收线上添加分压器(例如4.7kohm和10kohm)。 ESP8266在其Tx线上发送3.3V电压,Arduino将其识别为逻辑高电平。所以不需要保护。

这是我的布线解决方案:

enter image description here

您需要在 Arduino IDE 中选择正确的设置。您的错误看起来像是您选择了

  

Generic ESP8266 Modul

但你需要选择你的Arduino Uno。 所以转到Tools - &gt; Board - &gt; Arduino/Genuino Uno并确保使用正确的端口。

有趣的信息:

可以将草图直接上传到ESP8266,但是因此你需要更多的接线,这并不容易..

答案 2 :(得分:0)

亲爱的cranphin和TeaAge,我正在使用Arduino Uno通过esp8266将dht11数据发送到ThingSpeak,我面临着同样的错误“为板载通用ESP8266模块编译时出错”,我选择了Arduino / Genino Uno和通用ESP8266模块另一个,但仍在发生相同的错误,可能是什么问题?  这是我复制的错误消息

  

Arduino:1.8.9(Windows 10),开发板:“ Arduino / Genuino Uno”

     

构建选项已更改,重建所有包含在   C:\ Users \ Faroooooooooq \ Documents \ Arduino \ libraries \ DHT_sensor_library \ DHT_U.cpp:15:0:

     

C:\ Users \ Faroooooooooq \ Documents \ Arduino \ libraries \ DHT_sensor_library \ DHT_U.h:36:29:   致命错误:Adafruit_Sensor.h:没有此类文件或目录

     

编译终止。

     

退出状态1为板Arduino / Genuino Uno编译时出错。这个   报告将包含“在显示期间显示详细输出”的更多信息   文件->首选项中启用了“编译”选项。