2016-12-27 5 views
0
/* 
* 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(); 
} 

Привет Я пытаюсь сделать Wi-Fi веб-сервер с ESP8266 использованием Arduino. Код указан в этой ссылке: code. Я следую за шагами this site. Я подключил свой yp-01 (USB к серийному) с моим ESP8266.предупреждение: espcomm_sync Ошибка Ошибка: espcomm_open Ошибка Ошибка: не удалось espcomm_upload_mem

  • USB -> ESP
  • TX -> RX
  • RX -> TX

Я использую питание 3.3V моего Arduino мега.

  • ARDUINO -> ESP
  • 3.3V -> VCC
  • GND -> GND.

При попытке загрузить код он дает ошибку:

warning: espcomm_sync failed error: espcomm_open failed error: espcomm_upload_mem failed

Я читал много постов, но ни один из них не неподвижного моей проблемы. Есть ли кто-нибудь, кто знает решение или кого-то, у кого была такая же проблема? Я использую ARduino IDE 1.6.9

ответ

2

Подключите GPIO0 и GPIO15 к земле с резисторами 10k.

+0

GPIO0 соединен резистором 10 к земле и CH_PD до VCC, и он работает. Спасибо! –

0

для ошибки "espcomm_open_failed"

ESP01 флэша-конфигурация: флэш реального размера: 1048576 1MB 512SPIFFS Флэш скорость язя: 40000000 - 4МГц Режим вспышки язя: DOUT

ESP07 флэш-конфигурация: вспышки реальный размер: 1048576 1MB 512SPIFFS Выдержка язь: 40000000 - 4МГц режим вспышки язь: QIO

При программировании ESP8266 подключите VCC, земля, TX и RX должным образом. (FTDI < -> ESP)

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

(Питание от USB 2.0 было достаточно, чтобы запрограммировать ESP01 и ESP07, я использовал Arduino программное обеспечение для программирования; Nodemcu мигалка также может быть использована для вспышки)

Для того, чтобы превратитесь в программу ESP, сначала как RESET, так и GPIO0 должны быть подключены к земле. Затем держите его около 5 секунд Затем удалите RESET, но не удаляйте GPIO0.