Advertisement
BimoSora

pengirim

May 22nd, 2024
600
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.86 KB | None | 0 0
  1. #include <Arduino.h>
  2. #ifdef ESP32
  3. #include <WiFi.h>
  4. #include <AsyncTCP.h>
  5. #elif defined(ESP8266)
  6. #include <ESP8266WiFi.h>
  7. #include <ESPAsyncTCP.h>
  8. #endif
  9. #include <ESPAsyncWebServer.h>
  10. #include <FS.h>
  11. #include <ArduinoJson.h>
  12.  
  13. /* Put your SSID & Password */
  14. const char* ssid = "RC Car";  // Enter SSID here
  15. const char* password = "12345678";  // Enter Password here
  16.  
  17. /* Put IP Address details */
  18. IPAddress local_ip(192,168,1,1);
  19. IPAddress gateway(192,168,1,1);
  20. IPAddress subnet(255,255,255,0);
  21.  
  22. // Create AsyncWebServer object on port 80
  23. AsyncWebServer server(80);
  24.  
  25.  
  26. String up = "";
  27. String down = "";
  28. String left = "";
  29. String right = "";
  30. String stop = "";
  31. String lightoff = "";
  32. String light = "";
  33. String seinloff = "";
  34. String seinl = "";
  35. String seinroff = "";
  36. String seinr = "";
  37.  
  38. void setup() {
  39.   Serial.begin(9600);
  40.   Serial.println();
  41.  
  42.   if (SPIFFS.begin()) {
  43.     Serial.println("SPIFFS initialised OK");
  44.   } else {
  45.     Serial.println("SPIFFS initialisation failed");
  46.   }
  47.  
  48.   WiFi.softAP(ssid, password);
  49.   WiFi.softAPConfig(local_ip, gateway, subnet);
  50.   delay(100);
  51.  
  52.   // Route for root / web page
  53.   server.on("/", HTTP_GET, [](AsyncWebServerRequest *request) {
  54.     request->send(SPIFFS, "/index.html", "text/html");
  55.   });
  56.  
  57.   // Define routes for other assets
  58.   server.on("/assets/css/foundation.css", HTTP_GET, [](AsyncWebServerRequest *request) {
  59.     request->send(SPIFFS, "/assets/css/foundation.css", "text/css");
  60.   });
  61.   server.on("/assets/js/vendor.js", HTTP_GET, [](AsyncWebServerRequest *request) {
  62.     request->send(SPIFFS, "/assets/js/vendor.js", "text/javascript");
  63.   });
  64.   server.on("/assets/js/foundation.js", HTTP_GET, [](AsyncWebServerRequest *request) {
  65.     request->send(SPIFFS, "/assets/js/foundation.js", "text/javascript");
  66.   });
  67.  
  68.   // Define routes for image assets
  69.   server.on("/assets/img/up.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  70.     request->send(SPIFFS, "/assets/img/up.png", "image/png");
  71.   });
  72.   server.on("/assets/img/left.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  73.     request->send(SPIFFS, "/assets/img/left.png", "image/png");
  74.   });
  75.   server.on("/assets/img/stop.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  76.     request->send(SPIFFS, "/assets/img/stop.png", "image/png");
  77.   });
  78.   server.on("/assets/img/right.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  79.     request->send(SPIFFS, "/assets/img/right.png", "image/png");
  80.   });
  81.   server.on("/assets/img/down.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  82.     request->send(SPIFFS, "/assets/img/down.png", "image/png");
  83.   });
  84.   server.on("/assets/img/light.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  85.     request->send(SPIFFS, "/assets/img/light.png", "image/png");
  86.   });
  87.   server.on("/assets/img/lightoff.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  88.     request->send(SPIFFS, "/assets/img/lightoff.png", "image/png");
  89.   });
  90.   server.on("/assets/img/seinl.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  91.     request->send(SPIFFS, "/assets/img/seinl.png", "image/png");
  92.   });
  93.   server.on("/assets/img/seinloff.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  94.     request->send(SPIFFS, "/assets/img/seinloff.png", "image/png");
  95.   });
  96.   server.on("/assets/img/seinr.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  97.     request->send(SPIFFS, "/assets/img/seinr.png", "image/png");
  98.   });
  99.   server.on("/assets/img/seinroff.png", HTTP_GET, [](AsyncWebServerRequest *request) {
  100.     request->send(SPIFFS, "/assets/img/seinroff.png", "image/png");
  101.   });
  102.  
  103.   // Define routes for control commands
  104.   server.on("/up", HTTP_GET, [] (AsyncWebServerRequest *request) {
  105.     Serial.println('a');
  106.     up = "a";
  107.     request->send(200, "text/plain", "ok");
  108.   });
  109.   server.on("/down", HTTP_GET, [] (AsyncWebServerRequest *request) {
  110.     Serial.println('b');
  111.     down = "b";
  112.     request->send(200, "text/plain", "ok");
  113.   });
  114.   server.on("/left", HTTP_GET, [] (AsyncWebServerRequest *request) {
  115.     Serial.println('c');
  116.     left = "c";
  117.     request->send(200, "text/plain", "ok");
  118.   });
  119.   server.on("/right", HTTP_GET, [] (AsyncWebServerRequest *request) {
  120.     Serial.println('d');
  121.     right = "d";
  122.     request->send(200, "text/plain", "ok");
  123.   });
  124.   server.on("/stop", HTTP_GET, [] (AsyncWebServerRequest *request) {
  125.     Serial.println('e');
  126.     stop = "e";
  127.     request->send(200, "text/plain", "ok");
  128.   });
  129.  
  130.   server.on("/lightoff", HTTP_GET, [] (AsyncWebServerRequest *request) {
  131.     Serial.println('f');
  132.     lightoff = "f";
  133.     request->send(200, "text/plain", "ok");
  134.   });
  135.   server.on("/light", HTTP_GET, [] (AsyncWebServerRequest *request) {
  136.     Serial.println('g');
  137.     light = "g";
  138.     request->send(200, "text/plain", "ok");
  139.   });
  140.   server.on("/seinloff", HTTP_GET, [] (AsyncWebServerRequest *request) {
  141.     Serial.println('h');
  142.     seinloff = "h";
  143.     request->send(200, "text/plain", "ok");
  144.   });
  145.   server.on("/seinl", HTTP_GET, [] (AsyncWebServerRequest *request) {
  146.     Serial.println('i');
  147.     seinl = "i";
  148.     request->send(200, "text/plain", "ok");
  149.   });
  150.   server.on("/seinroff", HTTP_GET, [] (AsyncWebServerRequest *request) {
  151.     Serial.println('j');
  152.     seinroff = "j";
  153.     request->send(200, "text/plain", "ok");
  154.   });
  155.   server.on("/seinr", HTTP_GET, [] (AsyncWebServerRequest *request) {
  156.     Serial.println('k');
  157.     seinr = "k";
  158.     request->send(200, "text/plain", "ok");
  159.   });
  160.  
  161.   // Start server
  162.   server.begin();
  163. }
  164.  
  165. void loop() {
  166.   // Create the JSON document
  167.   JsonDocument doc;
  168.  
  169.   doc["up"] = "up";
  170.   doc["down"] = "down";
  171.   doc["left"] = "left";
  172.   doc["right"] = "right";
  173.   doc["stop"] = "stop";
  174.   doc["lightoff"] = "lightoff";
  175.   doc["light"] = "light";
  176.   doc["seinloff"] = "seinloff";
  177.   doc["seinl"] = "seinl";
  178.   doc["seinroff"] = "seinroff";
  179.   doc["seinr"] = "seinr";
  180.  
  181.   String Serial;
  182.   doc.shrinkToFit();  // optional
  183.   serializeJson(doc, Serial);
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement