1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-06 05:21:22 +03:00

Updated HelloServer with mDNS and NotFound catcher with custom page

the not found handler should be used in conjunction with other means of
getting data, like SD card
This commit is contained in:
ficeto 2015-05-01 02:51:59 +03:00
parent 81af3a061e
commit dbbd047980

View File

@ -1,29 +1,36 @@
#include <ESP8266WiFi.h> #include <ESP8266WiFi.h>
#include <WiFiClient.h> #include <WiFiClient.h>
#include <ESP8266WebServer.h> #include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
const char* ssid = "..............."; const char* ssid = "........";
const char* password = "..............."; const char* password = "........";
MDNSResponder mdns;
ESP8266WebServer server(80); ESP8266WebServer server(80);
const int led = 13;
void handle_root() { void handle_root() {
digitalWrite(led, 1);
server.send(200, "text/plain", "hello from esp8266!"); server.send(200, "text/plain", "hello from esp8266!");
delay(100); }
digitalWrite(led, 0);
bool handle_not_found(){
String message = "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
message += "\nNotFound!";
server.send(404, "text/plain", message);
return true;
} }
void setup(void) void setup(void){
{
Serial.begin(115200); Serial.begin(115200);
pinMode(led, OUTPUT);
digitalWrite(led, 0);
// Connect to WiFi network
WiFi.begin(ssid, password); WiFi.begin(ssid, password);
Serial.println(""); Serial.println("");
@ -37,18 +44,22 @@ void setup(void)
Serial.println(ssid); Serial.println(ssid);
Serial.print("IP address: "); Serial.print("IP address: ");
Serial.println(WiFi.localIP()); Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) Serial.println("MDNS responder started");
server.on("/", handle_root); server.on("/", handle_root);
server.on("/inline", [](){ server.on("/inline", [](){
server.send(200, "text/plain", "this works as well"); server.send(200, "text/plain", "this works as well");
}); });
server.onNotFound(handle_not_found);
server.begin(); server.begin();
Serial.println("HTTP server started"); Serial.println("HTTP server started");
} }
void loop(void) void loop(void){
{ mdns.update();
server.handleClient(); server.handleClient();
} }