Difference between revisions of "XIAO-ESP32S3 Wi-Fi LED Code"
(→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.");
}
}