问题
/*
* 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> <a href=\"socket1Off\"><button>OFF</button></a> </p>";
webPage += "<p>Socket #2 <a href=\"socket2On\"><button>ON</button></a> <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();
}
Hi I'm trying to make a wifi webserver with the ESP8266 using an Arduino. The code is in this link: code. I'm following the steps of this site. I've connected my yp-01 (USB to serial) with my ESP8266.
- USB --> ESP
- TX --> RX
- RX --> TX
I use the 3.3V supply of my arduino mega.
- ARDUINO --> ESP
- 3.3V --> VCC
- GND --> GND.
When I try to upload the code it gives the error:
warning: espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed
I've read a lot of posts but none of them fixed my problem. Is there anyone who knows the solution or someone who had the same problem? I'm using ARduino IDE 1.6.9
回答1:
Connect GPIO0 and GPIO15 to Ground with resistors 10k.
回答2:
for the error "espcomm_open_failed"
ESP01 Flash config: Flash real size: 1048576 1MB 512SPIFFS Flash ide speed: 40000000 - 4MHz Flash ide mode: DOUT
ESP07 Flash config: Flash real size: 1048576 1MB 512SPIFFS Flash ide speed: 40000000 - 4MHz Flash ide mode: QIO
When programming the ESP8266, connect VCC, ground, TX and RX properly. (FTDI <->ESP)
VCC --> 3.3V
GND --> GND
TX -->RX
RX --> TX
(Power from USB 2.0 was enough to program ESP01 and ESP07; I used arduino software to program; Nodemcu flasher can also be used to flash)
In order to turn into program the ESP, first both the RESET and the GPIO0 should be connected to the ground. Then keep it for around 5 seconds Then remove the RESET BUT do not remove GPIO0.
来源:https://stackoverflow.com/questions/41352796/warning-espcomm-sync-failed-error-espcomm-open-failed-error-espcomm-upload-me