Difference between revisions of "XIAO-ESP32S3 Wi-Fi LED Code"

From
Jump to: navigation, search
(ESP32)
(ESP32)
Line 35: Line 35:
 
void loop() {
 
void loop() {
 
   // La LED reste allumée
 
   // La LED reste allumée
 +
}
 +
</PRE>
 +
 +
<PRE>
 +
#include <WiFi.h>
 +
 +
const char* ssid = "monsid";
 +
const char* password = "monpass";
 +
 +
WiFiServer server(80);
 +
 +
// Broche de la LED utilisateur sur XIAO ESP32S3
 +
#define USER_LED 21
 +
 +
void setup()
 +
{
 +
    Serial.begin(115200);
 +
    pinMode(USER_LED, OUTPUT);      // Définir la broche LED comme sortie
 +
    digitalWrite(USER_LED, HIGH);  // Éteindre la LED au démarrage
 +
 +
    delay(10);
 +
 +
    Serial.println();
 +
    Serial.print("Connecting to ");
 +
    Serial.println(ssid);
 +
 +
    WiFi.mode(WIFI_STA);
 +
    WiFi.begin(ssid, password);
 +
 +
    while (WiFi.status() != WL_CONNECTED) {
 +
        delay(500);
 +
        Serial.print(".");
 +
    }
 +
 +
    Serial.println("");
 +
    Serial.println("WiFi connected.");
 +
    Serial.println("IP address: ");
 +
    Serial.println(WiFi.localIP());
 +
   
 +
    server.begin();
 +
}
 +
 +
void loop(){
 +
    WiFiClient client = server.available();
 +
 +
    if (client) {
 +
        Serial.println("New Client.");
 +
        String currentLine = "";
 +
 +
        while (client.connected()) {
 +
            if (client.available()) {
 +
                char c = client.read();
 +
                Serial.write(c);
 +
 +
                if (c == '\n') {
 +
                    if (currentLine.length() == 0) {
 +
                        client.println("HTTP/1.1 200 OK");
 +
                        client.println("Content-type:text/html");
 +
                        client.println();
 +
 +
                        client.print("Click <a href=\"/H\">here</a> to turn the LED ON.<br>");
 +
                        client.print("Click <a href=\"/L\">here</a> to turn the LED OFF.<br>");
 +
                        client.println();
 +
                        break;
 +
                    } else {
 +
                        currentLine = "";
 +
                    }
 +
                } else if (c != '\r') {
 +
                    currentLine += c;
 +
                }
 +
 +
                if (currentLine.endsWith("GET /H")) {
 +
                    digitalWrite(USER_LED, LOW);  // Allumer la LED
 +
                }
 +
                if (currentLine.endsWith("GET /L")) {
 +
                    digitalWrite(USER_LED, HIGH);  // Éteindre la LED
 +
                }
 +
            }
 +
        }
 +
        client.stop();
 +
        Serial.println("Client Disconnected.");
 +
    }
 
}
 
}
 
</PRE>
 
</PRE>

Revision as of 21:10, 12 September 2025

ESP32

https://www.raspberryme.com/fonctions-utiles-de-la-bibliotheque-wi-fi-esp32-arduino-ide/

Variante avec clignotement

#define USER_LED 21

void setup() {
  pinMode(USER_LED, OUTPUT);
}

void loop() {
  digitalWrite(USER_LED, LOW);  // Allume la LED
  delay(1000);                  // Attendre 1 seconde
  digitalWrite(USER_LED, HIGH); // Éteint la LED
  delay(1000);                  // Attendre 1 seconde
}

La LED s’allume lorsque la broche est mise à **LOW** (niveau bas) et s’éteint lorsqu’elle est mise à **HIGH**.

⚠️ Petite subtilité : sur le XIAO ESP32S3, la LED s’allume quand on écrit LOW et s’éteint avec HIGH (logique inversée).

// Définir la broche de la LED utilisateur
#define USER_LED 21  // GPIO21 est généralement utilisé pour la LED utilisateur

void setup() {
  pinMode(USER_LED, OUTPUT);  // Définir la broche comme sortie
  digitalWrite(USER_LED, LOW); // Allumer la LED (LOW = ON)
}

void loop() {
  // La LED reste allumée
}
#include <WiFi.h>

const char* ssid = "monsid";
const char* password = "monpass";

WiFiServer server(80);

// Broche de la LED utilisateur sur XIAO ESP32S3
#define USER_LED 21

void setup()
{
    Serial.begin(115200);
    pinMode(USER_LED, OUTPUT);      // Définir la broche LED comme sortie
    digitalWrite(USER_LED, HIGH);   // Éteindre la LED au démarrage

    delay(10);

    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.mode(WIFI_STA);
    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
        delay(500);
        Serial.print(".");
    }

    Serial.println("");
    Serial.println("WiFi connected.");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    
    server.begin();
}

void loop(){
    WiFiClient client = server.available();

    if (client) {
        Serial.println("New Client.");
        String currentLine = "";

        while (client.connected()) {
            if (client.available()) {
                char c = client.read();
                Serial.write(c);

                if (c == '\n') {
                    if (currentLine.length() == 0) {
                        client.println("HTTP/1.1 200 OK");
                        client.println("Content-type:text/html");
                        client.println();

                        client.print("Click <a href=\"/H\">here</a> to turn the LED ON.<br>");
                        client.print("Click <a href=\"/L\">here</a> to turn the LED OFF.<br>");
                        client.println();
                        break;
                    } else {
                        currentLine = "";
                    }
                } else if (c != '\r') {
                    currentLine += c;
                }

                if (currentLine.endsWith("GET /H")) {
                    digitalWrite(USER_LED, LOW);   // Allumer la LED
                }
                if (currentLine.endsWith("GET /L")) {
                    digitalWrite(USER_LED, HIGH);  // Éteindre la LED
                }
            }
        }
        client.stop();
        Serial.println("Client Disconnected.");
    }
}