CCCPaste

Charli_Speaker

/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: Charli_Speaker
	- Source Code compiled for: ESP32 DevKit V1
	- Source Code created on: 2024-04-01 00:12:17
	- Source Code generated by: 

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* Configure WiFi and timezone settings with web page */
	/* available via both AP and STA */
/****** END SYSTEM REQUIREMENTS *****/

/****** DEFINITION OF LIBRARIES *****/
#include 
#include 
#include 
#include 
#include 
#include 
#include 

/***** DEFINITION OF SPI PINS *****/
const uint8_t sdcard_SDCardModule_SPI_PIN_MOSI_D23 = 23;
const uint8_t sdcard_SDCardModule_SPI_PIN_MISO_D19 = 19;
const uint8_t sdcard_SDCardModule_SPI_PIN_SCLK_D18 = 18;
const uint8_t sdcard_SDCardModule_SPI_PIN_CS_D5 = 5;

/****** WiFi and Timezone Configuration *****/
// WiFi credentials
const char* ssid = "YourWiFiNetwork";
const char* password = "YourWiFiPassword";

// NTP server settings
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;

// Declare objects for NTP client and WiFi
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, ntpServer, gmtOffset_sec, daylightOffset_sec);

// Create access point and web server objects
const char* apSSID = "ESP32-AP";
const char* apPassword = "password";
AsyncWebServer server(80);

void setup() {
  // put your setup code here, to run once:
  pinMode(sdcard_SDCardModule_SPI_PIN_CS_D5, OUTPUT);
  // start the SPI library:
  SPI.begin();

  // Initialize Serial communication
  Serial.begin(115200);

  // Connect to WiFi network
  WiFi.mode(WIFI_AP_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }

  // Print IP address
  Serial.println("");
  Serial.print("Connected to WiFi. IP Address: ");
  Serial.println(WiFi.localIP());

  // Initialize NTP client
  timeClient.begin();

  // Configure access point
  WiFi.softAP(apSSID, apPassword);

  // Set up web server routes
  server.on("/", HTTP_GET, [](AsyncWebServerRequest* request){
    request->send(SPIFFS, "/index.html", "text/html");
  });

  server.on("/submit", HTTP_POST, [](AsyncWebServerRequest* request){
    // Handle form submission here
  });

  // Start web server
  server.begin();
}

void loop() {
  // put your main code here, to run repeatedly:
  timeClient.update();
  
  // Rest of your code goes here

  // Example usage of NTP client
  Serial.print("Current time: ");
  Serial.println(timeClient.getFormattedTime());

  delay(1000);
}