From 97f4db03c6b4f6752348133eaad7902896f4e42b Mon Sep 17 00:00:00 2001 From: gialexpro Date: Sat, 10 Jun 2023 07:50:22 +0300 Subject: [PATCH] esp32-s3 UDP --- arduino/arduino_secrets.h | 2 - arduino/esp32-s3/AsyncUDPServer.ino | 60 +++++++++++++++++++++++++++++ arduino/esp32-s3/arduino_secrets.h | 2 + arduino/{ => nina}/arduino.ino | 0 arduino/nina/arduino_secrets.h | 2 + 5 files changed, 64 insertions(+), 2 deletions(-) delete mode 100644 arduino/arduino_secrets.h create mode 100644 arduino/esp32-s3/AsyncUDPServer.ino create mode 100644 arduino/esp32-s3/arduino_secrets.h rename arduino/{ => nina}/arduino.ino (100%) create mode 100644 arduino/nina/arduino_secrets.h diff --git a/arduino/arduino_secrets.h b/arduino/arduino_secrets.h deleted file mode 100644 index f4697f5..0000000 --- a/arduino/arduino_secrets.h +++ /dev/null @@ -1,2 +0,0 @@ -#define SECRET_SSID "wifi" -#define SECRET_PASS "ninarp2040" diff --git a/arduino/esp32-s3/AsyncUDPServer.ino b/arduino/esp32-s3/AsyncUDPServer.ino new file mode 100644 index 0000000..5e30ba4 --- /dev/null +++ b/arduino/esp32-s3/AsyncUDPServer.ino @@ -0,0 +1,60 @@ +#include "WiFi.h" +#include "AsyncUDP.h" + +#include "arduino_secrets.h" + +const char * ssid = SECRET_SSID; +const char * password = SECRET_PASS; +const int channel = 1; +const bool hide_SSID = false; +const int max_connections = 3; + + +AsyncUDP udp; + +IPAddress local_ip(192,168,4,1); +IPAddress gateway(192,168,4,1); +IPAddress subnet(255,255,255,0); + + +void setup() +{ + delay(3000); + Serial.begin(115200); + WiFi.mode(WIFI_AP); + WiFi.softAPConfig(local_ip, gateway, subnet); + WiFi.softAP(ssid, password, channel, hide_SSID, max_connections); + Serial.println(WiFi.softAPIP()); + + + if(udp.listen(9696)) { + Serial.println("UDP Listening"); + udp.onPacket([](AsyncUDPPacket packet) { + Serial.print("UDP Packet Type: "); + Serial.print(packet.isBroadcast()?"Broadcast":packet.isMulticast()?"Multicast":"Unicast"); + Serial.print(", From: "); + Serial.print(packet.remoteIP()); + Serial.print(":"); + Serial.print(packet.remotePort()); + Serial.print(", To: "); + Serial.print(packet.localIP()); + Serial.print(":"); + Serial.print(packet.localPort()); + Serial.print(", Length: "); + Serial.print(packet.length()); + Serial.print(", Data: "); + Serial.write(packet.data(), packet.length()); + Serial.println(); + //reply to the client + packet.printf("Got %u bytes of data", packet.length()); + }); + } +} + +void loop() +{ + delay(3000); + //Send broadcast + //udp.broadcast("Anyone here?"); + Serial.println(WiFi.softAPIP()); +} diff --git a/arduino/esp32-s3/arduino_secrets.h b/arduino/esp32-s3/arduino_secrets.h new file mode 100644 index 0000000..8425008 --- /dev/null +++ b/arduino/esp32-s3/arduino_secrets.h @@ -0,0 +1,2 @@ +#define SECRET_SSID "wifi" +#define SECRET_PASS "password" diff --git a/arduino/arduino.ino b/arduino/nina/arduino.ino similarity index 100% rename from arduino/arduino.ino rename to arduino/nina/arduino.ino diff --git a/arduino/nina/arduino_secrets.h b/arduino/nina/arduino_secrets.h new file mode 100644 index 0000000..8425008 --- /dev/null +++ b/arduino/nina/arduino_secrets.h @@ -0,0 +1,2 @@ +#define SECRET_SSID "wifi" +#define SECRET_PASS "password"