-->
Page 1 of 2

webserver example

PostPosted: Wed Dec 30, 2015 6:25 pm
by mhmd.shato89
Hello

I tried an example about webserver
Code: Select all#include <ESP8266WiFi.h>

const char* ssid = "your-ssid";
const char* password = "your-password";

int ledPin = 2; // GPIO2
WiFiServer server(80);

void setup() {
Serial.begin(115200);
delay(10);

pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);

// 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) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
}

// Set ledPin according to the request
//digitalWrite(ledPin, value);

// 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("");

}


All is good with no problem of uploading

On serial port I found the following text ( all is connected ):

Connecting to My Wireless
...........................................
WiFi connected
Server started
Use this URL to connect: http://192.168.1.99/

When I entered the ip 192.168.1.99 always it's unreachable.
I tried ping 192.168.1.99 =>destination unreachable.

thank you

please help

Re: webserver example

PostPosted: Sat Jan 02, 2016 6:06 am
by blackled
happy new year !

Did your code compile without errors ?
I used cour code and got an compile error in this line:
String request = client.readStringUntil('\r');

than I've changed it to:
String request = client.readStringUntil(0x13);

after this it compiled without errors.
After uploading to ESP... it worked fine !

Re: webserver example

PostPosted: Wed Jan 06, 2016 7:09 am
by secu
blackled wrote:happy new year !

Did your code compile without errors ?
I used cour code and got an compile error in this line:
String request = client.readStringUntil('\r');

than I've changed it to:
String request = client.readStringUntil(0x13);

after this it compiled without errors.
After uploading to ESP... it worked fine !


Hi guys,

Happy new year!!

I am interested to pass the anterior WEBSERVER example to AccesPoint. I mean, i want to make my ESP8266 Board autonomous and not depend to my home router, so fix and IP like 192.168.4.1 and for example to make ON the light type 192.168.4.1/LED=ON.
So i would like to create a SSID and Password for the ESP8266 and then run like web server example, ANY IDEA?? :roll: :roll: :roll:

THANKS A LOT!

Re: webserver example

PostPosted: Wed Feb 10, 2016 8:32 am
by Rigor_M
Hi,

i'm having the same problem, I have a ESP8266-07, grounded GPIO15 and GPIO0, uploaded the example sketch. no problem.

I see the same thing in the serial console. but when I go the the ip adress, http://192.168.250.171/ in my case, I get a timeout.

also can't ping the IP but I think that the ICMP protocol is not implemented in the SDK.

Anyone could point me (and others in this thread) in the right direction ?