2

I have programmed ESP8266 with below program. I used USB to TTL convert to program ESP8266. This is how I wired my circuit:

USB TTL---------------- ESP8266 ESP-01

GND-----------------------GND

TX---------------------------RX

RX---------------------------TX

3.3V-----------------------VCC & CH_PD

GND------------GPIO0

#include <ESP8266WiFi.h>
const char* ssid = "shiv";//type your ssid
const char* password = "manmohan@12345";//type your password
WiFiServer server(80);
void setup() {
 Serial.begin(115200);
 delay(10);
 // Connect to WiFi network
 Serial.println();
 Serial.println();
 Serial.print("Connecting to ");
 Serial.println(ssid);
 WiFi.begin(ssid, password);
 while (WiFi.status() != WL_CONNECTED) {
 delay(500);
 Serial.print(".");
 }
 Serial.println("");
 Serial.println("WiFi connected");
 // Start the server
 server.begin();
 Serial.println("Server started");
 // Print the IP address
 Serial.print("Use this URL to connect: ");
 Serial.print("http://");
 Serial.print(WiFi.localIP());
 Serial.println("/");
}
void loop() {
 // Check if a client has connected
 WiFiClient client = server.available();
 if (!client) {
 return;
 }
 // Wait until the client sends some data
 Serial.println("new client");
 while(!client.available()){
 delay(1);
 }
 // Read the first line of the request
 String request = client.readStringUntil('\r');
 Serial.println(request);
 client.flush();
 // Match the request
 int value = LOW;
 if (request.indexOf("/LED=ON") != -1) {
 value = HIGH;
 } 
 if (request.indexOf("/LED=OFF") != -1){
 value = LOW;
 }
 // Return the response
 client.println("HTTP/1.1 200 OK");
 client.println("Content-Type: text/html");
 client.println(""); // do not forget this one
 client.println("<!DOCTYPE HTML>");
 client.println("<html>");
 client.print("Led pin is now: ");
 if(value == HIGH) {
 client.print("On"); 
 } else {
 client.print("Off");
 }
 client.println("<br><br>");
 client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
 client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br>");
 client.println("</html>");
 delay(1);
 Serial.println("Client disonnected");
 Serial.println("");
}

It was successful, here are the logs:

Archiving built core (caching) in: C:\Users\williams~1\AppData\Local\Temp\arduino_cache_375631\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____feb0d75f3cf4e05271af4f91549cd009.a
Sketch uses 230073 bytes (52%) of program storage space. Maximum is 434160 bytes.
Global variables use 32376 bytes (39%) of dynamic memory, leaving 49544 bytes for local variables. Maximum is 81920 bytes.
Uploading 234224 bytes from C:\Users\williams~1\AppData\Local\Temp\arduino_build_189179/sketch_may14d.ino.bin to flash at 0x00000000
................................................................................ [ 34% ]
................................................................................ [ 69% ]
..................................................................... [ 100% ]

Once this was completed, I opened serial monitor and it was empty there, baud rate was 115200. It is weird, Isn't ?

I followed this tutorial https://create.arduino.cc/projecthub/ROBINTHOMAS/esp8266-esp-01-webserver-7248ca and on serial monitor it should be like below snapshot. What wrong I am doing ? Can anyone help me.

enter image description here

asked May 19, 2017 at 18:32

2 Answers 2

1

Tying GPIO0 to ground puts the ESP into programming mode, allowing you to flash it. To actually run the code, pull it high - that is, disconnect it from ground and connect a resistor (about 10k) between GPIO0 and +3.3v.

Do the same with RST.

answered May 19, 2017 at 19:41
6
  • I disconnected GPIO0 to ground, then restarted Arduino software then selected port COM5 then open serial monitor then still same result .. here is my settings imgur.com/a/kT4kS Commented May 20, 2017 at 7:08
  • Here is serial monitor snapshot imgur.com/a/T4tXg Commented May 20, 2017 at 7:14
  • You might need to pull it high, as I explained in the answer. You might also need to pull RST high in the same way. Commented May 20, 2017 at 7:52
  • Thanks! I resolved it by connecting with Arduino, it worked :) +1 Commented May 20, 2017 at 8:02
  • Could you explain what you did please, for my interest and for future reference? Commented May 20, 2017 at 8:04
1

Thanks @Mark Smith. I used UART to flash new firmware to ESP8266. I connected Arduino and ESP8266 in this way to test ESP8266 new firmware:

Arduino ---------------- ESP8266 ESP-01

GND-----------------------GND

TX---------------------------TX

RX---------------------------RX

3.3V-----------------------VCC & CH_PD

Then I opened Serial Monitor on 115200 baud rate and it started to work as expected. Cheers!

answered May 20, 2017 at 8:08

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.