simple_server.ino 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. #include <Arduino.h>
  8. #ifdef ESP32
  9. #include <WiFi.h>
  10. #include <AsyncTCP.h>
  11. #elif defined(ESP8266)
  12. #include <ESP8266WiFi.h>
  13. #include <ESPAsyncTCP.h>
  14. #endif
  15. #include <ESPAsyncWebServer.h>
  16. AsyncWebServer server(80);
  17. const char* ssid = "YOUR_SSID";
  18. const char* password = "YOUR_PASSWORD";
  19. const char* PARAM_MESSAGE = "message";
  20. void notFound(AsyncWebServerRequest *request) {
  21. request->send(404, "text/plain", "Not found");
  22. }
  23. void setup() {
  24. Serial.begin(115200);
  25. WiFi.mode(WIFI_STA);
  26. WiFi.begin(ssid, password);
  27. if (WiFi.waitForConnectResult() != WL_CONNECTED) {
  28. Serial.printf("WiFi Failed!\n");
  29. return;
  30. }
  31. Serial.print("IP Address: ");
  32. Serial.println(WiFi.localIP());
  33. server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
  34. request->send(200, "text/plain", "Hello, world");
  35. });
  36. // Send a GET request to <IP>/get?message=<message>
  37. server.on("/get", HTTP_GET, [] (AsyncWebServerRequest *request) {
  38. String message;
  39. if (request->hasParam(PARAM_MESSAGE)) {
  40. message = request->getParam(PARAM_MESSAGE)->value();
  41. } else {
  42. message = "No message sent";
  43. }
  44. request->send(200, "text/plain", "Hello, GET: " + message);
  45. });
  46. // Send a POST request to <IP>/post with a form field message set to <message>
  47. server.on("/post", HTTP_POST, [](AsyncWebServerRequest *request){
  48. String message;
  49. if (request->hasParam(PARAM_MESSAGE, true)) {
  50. message = request->getParam(PARAM_MESSAGE, true)->value();
  51. } else {
  52. message = "No message sent";
  53. }
  54. request->send(200, "text/plain", "Hello, POST: " + message);
  55. });
  56. server.onNotFound(notFound);
  57. server.begin();
  58. }
  59. void loop() {
  60. }