esp32 experiment no :6

Поділитися
Вставка
  • Опубліковано 14 жов 2024
  • watsapp:9052150158

КОМЕНТАРІ • 1

  • @RoboticAIprojects
    @RoboticAIprojects  2 місяці тому

    code:
    #include
    // Replace with your network credentials
    const char* ssid = "ARProjects";
    const char* password = "Arafah_Zaid0432@";
    // Set web server port number to 80
    WiFiServer server(80);
    // Variable to store the HTTP request
    String header;
    // Auxiliar variables to store the current output state
    String output26State = "off";
    String output27State = "off";
    // Assign output variables to GPIO pins
    const int output26 = 26;
    const int output27 = 27;
    // Current time
    unsigned long currentTime = millis();
    // Previous time
    unsigned long previousTime = 0;
    // Define timeout time in milliseconds (example: 2000ms = 2s)
    const long timeoutTime = 2000;
    void setup() {
    Serial.begin(115200);
    // Initialize the output variables as outputs
    pinMode(output26, OUTPUT);
    pinMode(output27, OUTPUT);
    // Set outputs to LOW
    digitalWrite(output26, LOW);
    digitalWrite(output27, LOW);
    // Connect to Wi-Fi network with SSID and password
    Serial.print("Connecting to ");
    Serial.println(ssid);
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }
    // Print local IP address and start web server
    Serial.println("");
    Serial.println("WiFi connected.");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    server.begin();
    }
    void loop(){
    WiFiClient client = server.available(); // Listen for incoming clients
    if (client) { // If a new client connects,
    currentTime = millis();
    previousTime = currentTime;
    Serial.println("New Client."); // print a message out in the serial port
    String currentLine = ""; // make a String to hold incoming data from the client
    while (client.connected() && currentTime - previousTime = 0) {
    Serial.println("GPIO 26 on");
    output26State = "on";
    digitalWrite(output26, HIGH);
    } else if (header.indexOf("GET /26/off") >= 0) {
    Serial.println("GPIO 26 off");
    output26State = "off";
    digitalWrite(output26, LOW);
    } else if (header.indexOf("GET /27/on") >= 0) {
    Serial.println("GPIO 27 on");
    output27State = "on";
    digitalWrite(output27, HIGH);
    } else if (header.indexOf("GET /27/off") >= 0) {
    Serial.println("GPIO 27 off");
    output27State = "off";
    digitalWrite(output27, LOW);
    }

    // Display the HTML web page
    client.println("");
    client.println("");
    client.println("");
    // CSS to style the on/off buttons
    // Feel free to change the background-color and font-size attributes to fit your preferences
    client.println("html { font-family: Helvetica; display: inline-block; margin: 0px auto; text-align: center;}");
    client.println(".button { background-color: #4CAF50; border: none; color: white; padding: 16px 40px;");
    client.println("text-decoration: none; font-size: 30px; margin: 2px; cursor: pointer;}");
    client.println(".button2 {background-color: #555555;}");

    // Web Page Heading
    client.println("ESP32 Web Server");

    // Display current state, and ON/OFF buttons for GPIO 26
    client.println("GPIO 26 - State " + output26State + "");
    // If the output26State is off, it displays the ON button
    if (output26State=="off") {
    client.println("ON");
    } else {
    client.println("OFF");
    }

    // Display current state, and ON/OFF buttons for GPIO 27
    client.println("GPIO 27 - State " + output27State + "");
    // If the output27State is off, it displays the ON button
    if (output27State=="off") {
    client.println("ON");
    } else {
    client.println("OFF");
    }
    client.println("");

    // The HTTP response ends with another blank line
    client.println();
    // Break out of the while loop
    break;
    } else { // if you got a newline, then clear currentLine
    currentLine = "";
    }
    } else if (c != '
    ') { // if you got anything else but a carriage return character,
    currentLine += c; // add it to the end of the currentLine
    }
    }
    }
    // Clear the header variable
    header = "";
    // Close the connection
    client.stop();
    Serial.println("Client disconnected.");
    Serial.println("");
    }
    }