From 813c7385377ca70da0fffb2c46d3e5c9bbbf8e0a Mon Sep 17 00:00:00 2001 From: Hendrik Rauh <114620133+HendrikRauh@users.noreply.github.com> Date: Thu, 24 Oct 2024 21:44:57 +0200 Subject: [PATCH 1/4] removed code that is currently not needed maybe needed later but bloats the code currently --- src/main.cpp | 48 ++++++------------------------------------------ 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index e10e20c..88220b6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -52,44 +52,15 @@ void setup() // if Artnet packet comes to this universe, this function is called artnet.subscribeArtDmxUniverse(universe, [&](const uint8_t *data, uint16_t size, const ArtDmxMetadata &metadata, const ArtNetRemoteInfo &remote) { - /*Serial.print("lambda : artnet data from "); - Serial.print(remote.ip); - Serial.print(":"); - Serial.print(remote.port); - Serial.print(", universe = "); - Serial.print(universe); - Serial.print(", size = "); - Serial.print(size); - Serial.print(") :");*/ + for (size_t i = 0; i < size; ++i) + { + dmx.write((i + 1), data[i]); + } - for (size_t i = 0; i < size; ++i) - { - dmx.write((i + 1), data[i]); - // Serial.print(data[i]); - // Serial.print(","); - } - // Serial.println(); - - dmx.update(); }); + dmx.update(); }); // if Artnet packet comes, this function is called to every universe - artnet.subscribeArtDmx([&](const uint8_t *data, uint16_t size, const ArtDmxMetadata &metadata, const ArtNetRemoteInfo &remote) - { - /*Serial.print("received ArtNet data from "); - Serial.print(remote.ip); - Serial.print(":"); - Serial.print(remote.port); - Serial.print(", net = "); - Serial.print(metadata.net); - Serial.print(", subnet = "); - Serial.print(metadata.subnet); - Serial.print(", universe = "); - Serial.print(metadata.universe); - Serial.print(", sequence = "); - Serial.print(metadata.sequence); - Serial.print(", size = "); - Serial.print(size); - Serial.println(")");*/ }); + artnet.subscribeArtDmx([&](const uint8_t *data, uint16_t size, const ArtDmxMetadata &metadata, const ArtNetRemoteInfo &remote) {}); if (!SPIFFS.begin(true)) { @@ -106,11 +77,4 @@ void setup() void loop() { artnet.parse(); // check if artnet packet has come and execute callback - - /*value = (millis() / 4) % 256; - memset(data, value, size); - - artnet.setArtDmxData(data, size); - artnet.streamArtDmxTo(target_ip, universe); // automatically send set data in 40fps - // artnet.streamArtDmxTo(target_ip, net, subnet, univ); // or you can set net, subnet, and universe */ } \ No newline at end of file From d0f3ea34c878ac4fa57544e12f2d9695ca98c491 Mon Sep 17 00:00:00 2001 From: Hendrik Rauh <114620133+HendrikRauh@users.noreply.github.com> Date: Thu, 24 Oct 2024 22:09:19 +0200 Subject: [PATCH 2/4] base logic for config --- src/main.cpp | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 88220b6..3462312 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4,33 +4,36 @@ #include "ESPDMX.h" #include #include +#include -// WiFi stuff -const char *ssid = "artnet"; -const char *pwd = "mbgmbgmbg"; -const IPAddress ip(192, 168, 1, 201); -const IPAddress gateway(192, 168, 1, 1); -const IPAddress subnet(255, 255, 255, 0); +Preferences config; +DMXESPSerial dmx; AsyncWebServer server(80); -// Art-Net stuff ArtnetWiFi artnet; -// const String target_ip = "192.168.1.200"; -uint8_t universe = 1; // 0 - 15 const uint16_t size = 512; uint8_t data[size]; -uint8_t value = 0; - -// DMX stuff -DMXESPSerial dmx; void setup() { - - // Serial console Serial.begin(9600); + config.begin("dmx", false); + + uint8_t universe = config.getUChar("universe", 1); + + String ssid = config.getString("ssid", "artnet"); + String pwd = config.getString("pwd", "mbgmbgmbg"); + IPAddress defaultIp(192, 168, 1, 201); + IPAddress ip = config.getUInt("ip", defaultIp); + + IPAddress cidr = config.getUChar("cidr", 24); + + // TODO: \/ Herleiten \/ @psxde + const IPAddress gateway(192, 168, 1, 1); + const IPAddress subnet(255, 255, 255, 0); + // WiFi stuff // WiFi.begin(ssid, pwd); WiFi.softAP(ssid, pwd); @@ -70,6 +73,7 @@ void setup() server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); + delay(1000); server.begin(); Serial.println("Server started!"); } From 33fae441633e6a78e4a9a1dd01d09a311e70270f Mon Sep 17 00:00:00 2001 From: Hendrik Rauh <114620133+HendrikRauh@users.noreply.github.com> Date: Thu, 24 Oct 2024 23:15:42 +0200 Subject: [PATCH 3/4] added basic GET json --- platformio.ini | 3 ++- src/main.cpp | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 35735e1..2813b14 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,4 +14,5 @@ board = lolin_s2_mini framework = arduino lib_deps = hideakitai/ArtNet @ ^0.8.0 - me-no-dev/ESP Async WebServer@^1.2.4 \ No newline at end of file + me-no-dev/ESP Async WebServer@^1.2.4 + bblanchon/ArduinoJson @ ^7.2.0 diff --git a/src/main.cpp b/src/main.cpp index 3462312..39c9646 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,7 @@ #include // #include +#include #include "ESPDMX.h" #include #include @@ -73,6 +74,19 @@ void setup() server.serveStatic("/", SPIFFS, "/").setDefaultFile("index.html"); + server.on("/config", HTTP_GET, [&, defaultIp, ssid, pwd, universe](AsyncWebServerRequest *request) + { + DynamicJsonDocument doc(1024); + + doc["ssid"] = ssid; + doc["pwd"] = pwd; + doc["ip"] = defaultIp; + doc["universe"] = universe; + + String jsonString; + serializeJson(doc, jsonString); + + request->send(200, "application/json", jsonString); }); delay(1000); server.begin(); Serial.println("Server started!"); From 01fd6c69e101ffe179230d89e33116c01d14d123 Mon Sep 17 00:00:00 2001 From: Hendrik Rauh <114620133+HendrikRauh@users.noreply.github.com> Date: Sat, 26 Oct 2024 14:42:57 +0200 Subject: [PATCH 4/4] using patched webserver version --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 35735e1..be47cfa 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,4 +14,4 @@ board = lolin_s2_mini framework = arduino lib_deps = hideakitai/ArtNet @ ^0.8.0 - me-no-dev/ESP Async WebServer@^1.2.4 \ No newline at end of file + ESP Async WebServer \ No newline at end of file