Browse Source

Webserver runs, ir reads, and http working.

Emil 3 years ago
parent
commit
0ea0bb8ced
3 changed files with 15 additions and 3 deletions
  1. 1 1
      .gitignore
  2. 1 0
      platformio.ini
  3. 13 2
      src/main.cpp

+ 1 - 1
.gitignore

@@ -1,4 +1,4 @@
 .pio
 .pio
 CMakeListsPrivate.txt
 CMakeListsPrivate.txt
-cmake-build-*/ 
+cmake-build-*/
 src/WiFiPass.h
 src/WiFiPass.h

+ 1 - 0
platformio.ini

@@ -11,6 +11,7 @@
 [env:esp32doit-devkit-v1]
 [env:esp32doit-devkit-v1]
 platform = espressif32
 platform = espressif32
 board = esp32doit-devkit-v1
 board = esp32doit-devkit-v1
+board_build.partitions = huge_app.csv
 framework = arduino
 framework = arduino
 lib_deps =
 lib_deps =
 	me-no-dev/AsyncTCP@^1.1.1
 	me-no-dev/AsyncTCP@^1.1.1

+ 13 - 2
src/main.cpp

@@ -5,7 +5,8 @@
 #include <WiFi.h>
 #include <WiFi.h>
 #include <../.pio/libdeps/esp32doit-devkit-v1/AsyncTCP/src/AsyncTCP.h>
 #include <../.pio/libdeps/esp32doit-devkit-v1/AsyncTCP/src/AsyncTCP.h>
 #include "../.pio/libdeps/esp32doit-devkit-v1/ESP Async WebServer/src/ESPAsyncWebServer.h"
 #include "../.pio/libdeps/esp32doit-devkit-v1/ESP Async WebServer/src/ESPAsyncWebServer.h"
-#include "SD.h"
+#include <SPI.h>
+#include <SD.h>
 #include <../.pio/libdeps/esp32doit-devkit-v1/IRremote/src/IRremote.hpp>
 #include <../.pio/libdeps/esp32doit-devkit-v1/IRremote/src/IRremote.hpp>
 
 
 #define IR_RECEIVE_PIN 15
 #define IR_RECEIVE_PIN 15
@@ -72,9 +73,13 @@ void setupServer() {
 
 
     server.serveStatic("/", SD, "/");
     server.serveStatic("/", SD, "/");
 
 
-    server.on("/api/create_cluster", HTTP_POST, [](AsyncWebServerRequest *request) {
+    server.on("/api/set_config", HTTP_POST, [](AsyncWebServerRequest *request) {
         String lightString = request->getHeader("lights")->toString();
         String lightString = request->getHeader("lights")->toString();
     });
     });
+
+    server.on("/api/get_config", HTTP_GET, [](AsyncWebServerRequest *request) {
+        //request->send();
+    });
 }
 }
 
 
 void setup() {
 void setup() {
@@ -83,6 +88,9 @@ void setup() {
     clusters[0] = &myCluster;
     clusters[0] = &myCluster;
     myCluster2.animationObject->delayTimeMS = 10;
     myCluster2.animationObject->delayTimeMS = 10;
     clusters[1] = &myCluster2;
     clusters[1] = &myCluster2;
+
+    Serial.println("\nBooted. Connecting SD card\n");
+
     connectSDCard();
     connectSDCard();
     Serial.println("\nSD card connected. Connecting WiFi\n");
     Serial.println("\nSD card connected. Connecting WiFi\n");
     delay(250);
     delay(250);
@@ -154,11 +162,14 @@ void loop() {
     if (lastIrReceive < millis() - 500 && IrReceiver.decode()) {
     if (lastIrReceive < millis() - 500 && IrReceiver.decode()) {
         lastIrReceive = millis();
         lastIrReceive = millis();
         IrReceiver.resume();
         IrReceiver.resume();
+        Serial.print("Got ir command ");
+        Serial.println(IrReceiver.decodedIRData.command);
         if (IrReceiver.decodedIRData.command == 0x10) {
         if (IrReceiver.decodedIRData.command == 0x10) {
             // do something
             // do something
         } else if (IrReceiver.decodedIRData.command == 0x11) {
         } else if (IrReceiver.decodedIRData.command == 0x11) {
             // do something else
             // do something else
         }
         }
+        while (IrReceiver.decode()) {}
     }
     }
     //myCluster.runAnimation();
     //myCluster.runAnimation();
     bool hasRun = clusters[0]->runAnimation() || clusters[1]->runAnimation();
     bool hasRun = clusters[0]->runAnimation() || clusters[1]->runAnimation();