nuage de tags sur la liste, suppression dropdown navbar, rôles/droits sur le profil

This commit is contained in:
Cedric Abonnel
2026-05-12 20:07:33 +02:00
parent 1d2e3d9a24
commit 6e438835f8
3470 changed files with 97124 additions and 109 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

@@ -0,0 +1,109 @@
![Commander la LED intégrer aux boards basées sur ESP866 par une page HTML via une connexion Wifi.](dummy.png)
Nous avons vu dans le chapitre [..] comment la carte ESP 8266 peut se connecter à un **point d'accès** Wifi. Nous nous fixons comme objectif de connecter l'ESP 8266 au même réseau quun smartphone ou un ordinateur pour commander une LED. Pour ce faire, nous allons configurer l'ESP 8266 afin d'**offrir un service**. Dans un premier temps nous **offrirons** une page Web à l'utilisateur. Elle permettra de commander la LED incorporée sur votre plaque de développement ESP 8266.
![Carte ESP-12F avec la LED BUILT IN allumée](20220325-185318.png)
Sur la carte de développement, comme l'ESP-12F, est soudée une LED. Cette LED est celle qui clignote faiblement quand vous téléversez une programme. C'est également celle qui clignote avec le programme **blink led**. Techniquement parlant, cette LED est branchée sur le port GPIO 16. Mais il n'est pas forcément nécessaire de connaître cette valeur par cœur car nous utiliserons dans le code la **constante** (mot clé défini dans l'IDE ARDUINO) `LED_BUILTIN`.
..
Jusqu'à présent nous avons utiliser l'ESP pour **présenter une page Web**, fournir un moyen de **commander la LED** et **informer de l'état de la LED**. Dans les objets connectés il n'est pas nécessaire de **présenter une page Web** car celle-ci est fournie par un service centralisé comme **Domoticz** ou **OpenHAB**.
```C
#include <ESP8266WiFi.h>
const char* ssid = "MON-REZO-WIFI";
const char* password = "leMotDePasseDuRezoWifi";
int ledPin = 16;
* Déclaration du Server sur le port 80
WiFiServer server(80);
void setup()
{
- initialisation de la communication série
Serial.begin(115200);
delay(100);
- initialisation de la sortie pour la LED
int valeurLED = HIGH;
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, valeurLED);
- Connexion wifi
Serial.println();
Serial.print("Connexion au réseau Wifi ");
Serial.println(ssid);
WiFi.begin(ssid, password);
- connexion en cours ...
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
- Wifi connecter
Serial.println("Réseau WIFI connecté");
- Démmarrage du serveur.
server.begin();
Serial.println("Serveur démarré !");
- Affichage de l'adresse IP
Serial.print("Utiliser cette adresse URL pour la connexion : ");
Serial.print("http:*");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
- Attente de connexion d'un client
client = server.available();
if (!client)
{
return;
}
- Attendre si le client envoie des données ...
Serial.println("nouveau client");
while(!client.available()){
delay(1);
}
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
if (request.indexOf("/LED=ON") != -1) {
valeurLED = LOW;
digitalWrite(ledPin, valeurLED); * allumer la led
}
if (request.indexOf("/LED=OFF") != -1) {
valeurLED = HIGH;
digitalWrite(ledPin, valeurLED); * éteindre la led
}
- Réponse
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: application/json");
client.println("");
if(valeurLED == LOW) {
client.println("{\"LED\": \"on\"}");
} else {
client.println("{\"LED\": \"off\"}");
}
Serial.println("Client déconnecté");
Serial.println("");
}
```
@@ -0,0 +1,18 @@
{
"uuid": "e5652004-dbab-44f0-b4fa-85948b357769",
"slug": "esp32-commander-led-wifi",
"title": "Commander une LED Wifi",
"author": "cedric.abonnel@gmail.com",
"published": true,
"published_at": "2022-03-25 18:52:47",
"created_at": "2022-03-25 18:52:47",
"updated_at": "2022-03-25 18:52:47",
"revisions": [],
"cover": "",
"files_meta": [],
"external_links": [],
"seo_title": "",
"seo_description": "",
"og_image": "",
"category": "Électronique"
}