1+ //
2+ // A simple server implementation showing how to:
3+ // * serve static messages
4+ // * read GET and POST parameters
5+ // * handle missing pages / 404s
6+ //
7+
8+ #include < Arduino.h>
9+ #ifdef ESP32
10+ #include < WiFi.h>
11+ #include < AsyncTCP.h>
12+ #elif defined(ESP8266)
13+ #include < ESP8266WiFi.h>
14+ #include < ESPAsyncTCP.h>
15+ #endif
16+ #include < ESPAsyncWebServer.h>
17+ #include < ESPAsyncHTTPUpdateServer.h>
18+
19+ ESPAsyncHTTPUpdateServer updateServer;
20+ AsyncWebServer server (80 );
21+
22+ const char * ssid = " YOUR_SSID" ;
23+ const char * password = " YOUR_PASSWORD" ;
24+
25+ const char * PARAM_MESSAGE = " message" ;
26+
27+ void notFound (AsyncWebServerRequest *request) {
28+ request->send (404 , " text/plain" , " Not found" );
29+ }
30+
31+ void setup () {
32+
33+ Serial.begin (115200 );
34+ WiFi.mode (WIFI_STA);
35+ WiFi.begin (ssid, password);
36+ if (WiFi.waitForConnectResult () != WL_CONNECTED) {
37+ Serial.printf (" WiFi Failed!\n " );
38+ return ;
39+ }
40+
41+ Serial.print (" IP Address: " );
42+ Serial.println (WiFi.localIP ());
43+
44+ server.on (" /" , HTTP_GET, [](AsyncWebServerRequest *request){
45+ request->send (200 , " text/plain" , " Hello, world" );
46+ });
47+
48+ // Send a GET request to <IP>/get?message=<message>
49+ server.on (" /get" , HTTP_GET, [] (AsyncWebServerRequest *request) {
50+ String message;
51+ if (request->hasParam (PARAM_MESSAGE)) {
52+ message = request->getParam (PARAM_MESSAGE)->value ();
53+ } else {
54+ message = " No message sent" ;
55+ }
56+ request->send (200 , " text/plain" , " Hello, GET: " + message);
57+ });
58+
59+ // Send a POST request to <IP>/post with a form field message set to <message>
60+ server.on (" /post" , HTTP_POST, [](AsyncWebServerRequest *request){
61+ String message;
62+ if (request->hasParam (PARAM_MESSAGE, true )) {
63+ message = request->getParam (PARAM_MESSAGE, true )->value ();
64+ } else {
65+ message = " No message sent" ;
66+ }
67+ request->send (200 , " text/plain" , " Hello, POST: " + message);
68+ });
69+
70+ server.onNotFound (notFound);
71+
72+ updateServer.setup (&server, " admin" , " admin" );
73+ server.begin ();
74+ }
75+
76+ void loop () {
77+ }
0 commit comments