警告:espcomm_sync失败错误:espcomm_open失败错误:espcomm_upload_mem失败

时间:2016-12-27 22:09:27

标签: c arduino esp8266

 /*
 * 115200. Connect GPIO 0 of your ESP8266 to VCC and reset the board
 */

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

MDNSResponder mdns;

// Network id and pw
const char* ssid = "MY_ID";
const char* password = "MY_PASSWORD";

ESP8266WebServer server(80);

String webPage = "";

int gpio0_pin = 0;
int gpio2_pin = 2;

void setup(void)
{
  webPage += "<h1>ESP8266 Web Server</h1><p>Socket #1 <a href=\"socket1On\"><button>ON</button></a>&nbsp;<a href=\"socket1Off\"><button>OFF</button></a>    </p>";
  webPage += "<p>Socket #2 <a href=\"socket2On\"><button>ON</button></a>&nbsp;<a     href=\"socket2Off\"><button>OFF</button></a></p>";

  // preparing GPIOs
  pinMode(gpio0_pin, OUTPUT);
  digitalWrite(gpio0_pin, LOW);
  pinMode(gpio2_pin, OUTPUT);
  digitalWrite(gpio2_pin, LOW);

  delay(1000);
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (mdns.begin("esp8266", WiFi.localIP()))
    Serial.println("MDNS responder started");

  server.on("/", []()
  {
    server.send(200, "text/html", webPage);
  });

  server.on("/socket1On", []()
  {
    server.send(200, "text/html", webPage);
    digitalWrite(gpio0_pin, HIGH);
    delay(1000);
   });

  server.on("/socket1Off", []()
  {
    server.send(200, "text/html", webPage);
    digitalWrite(gpio0_pin, LOW);
    delay(1000);
  });

  server.on("/socket2On", []()
  {
    server.send(200, "text/html", webPage);
    digitalWrite(gpio2_pin, HIGH);
    delay(1000);
  });

  server.on("/socket2Off", []()
  {
    server.send(200, "text/html", webPage);
    digitalWrite(gpio2_pin, LOW);
    delay(1000);
  });
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void)
{
  server.handleClient();
}

您好我正在尝试使用Arduino与ESP8266建立一个wifi网络服务器。代码位于以下链接中:code。我跟着他    步骤this site。我连接了我的yp-01(USB转串口)    用我的ESP8266。

  • USB - &gt; ESP
  • TX - &gt; RX
  • RX - &gt; TX

我使用的是我的arduino mega的3.3V电源。

  • ARDUINO - &gt; ESP
  • 3.3V - &gt; VCC
  • GND - &gt; GND。

当我尝试上传代码时,会出现错误:

  

警告:espcomm_sync失败错误:espcomm_open      失败错误:espcomm_upload_mem失败

我已经阅读了很多帖子,但没有一个能解决我的问题。是否有人知道解决方案或有同样问题的人?我使用的是ARduino IDE 1.6.9

2 个答案:

答案 0 :(得分:2)

使用电阻10k将GPIO0和GPIO15连接到地。

答案 1 :(得分:0)

错误&#34; espcomm_open_failed&#34;

ESP01 Flash配置: Flash实际尺寸:1048576 1MB 512SPIFFS Flash ide速度:40000000 - 4MHz Flash ide模式:DOUT

ESP07 Flash配置: Flash实际尺寸:1048576 1MB 512SPIFFS Flash ide速度:40000000 - 4MHz Flash ide模式:QIO

编程ESP8266时,请正确连接VCC,接地,TX和RX。 (FTDI&lt; - &gt; ESP)

VCC --> 3.3V
GND --> GND
TX -->RX
RX --> TX

(来自USB 2.0的电源足以编程ESP01和ESP07;我使用arduino软件进行编程; Nodemcu闪光灯也可用于闪存)

为了将ESP转换为程序,首先应将RESET和GPIO0连接到地。 然后保持约5秒钟 然后移除RESET但不要移除GPIO0。