Illustre les modules 7 à 9 (6 figures)
M7 : modes Wi-Fi, requête HTTP. M8 : échanges navigateur/serveur, HTTP vs WebSocket. M9 : modèle GATT, session BLE. Diagrammes de séquence plus lisibles (étiquettes sur fond blanc, boîtes à la largeur du nom). Gabarit : figures pleine largeur par défaut. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
372c5a3e1e
commit
f4a80f4d5b
@@ -17,6 +17,8 @@ title: "Module 7 — Wi-Fi : station, point d'accès et client HTTP"
|
||||
| `WIFI_AP` (Point d'accès) | La carte crée son propre réseau Wi-Fi | Configuration sans routeur, projet autonome |
|
||||
| `WIFI_AP_STA` | Les deux simultanément | Portail de configuration puis bascule en client |
|
||||
|
||||
{#fig-m07-modes-wifi}
|
||||
|
||||
## 2. Mode station : se connecter à un réseau existant
|
||||
|
||||
```cpp
|
||||
@@ -74,6 +76,8 @@ void loop() {
|
||||
|
||||
Une fois connectée en mode station, la carte peut effectuer des requêtes HTTP vers des services web, par exemple pour récupérer la météo actuelle.
|
||||
|
||||
{#fig-m07-requete-http}
|
||||
|
||||
### 4.1 Bibliothèque nécessaire
|
||||
|
||||
HTTPClient est incluse nativement dans le core Arduino-ESP32. Pour analyser une réponse JSON, installez la bibliothèque « ArduinoJson » (Benoit Blanchon) depuis le gestionnaire de bibliothèques.
|
||||
|
||||
@@ -55,6 +55,8 @@ void loop() {
|
||||
|
||||
Construisons une page avec des boutons permettant de changer la couleur de la LED NeoPixel intégrée, directement depuis un navigateur.
|
||||
|
||||
{#fig-m08-echanges-serveur}
|
||||
|
||||
```cpp
|
||||
#include <WiFi.h>
|
||||
#include <WebServer.h>
|
||||
@@ -107,6 +109,8 @@ Le mot-clé PROGMEM place la chaîne de caractères HTML directement en mémoire
|
||||
|
||||
Le modèle utilisé ci-dessus (rechargement de page à chaque clic) fonctionne mais reste rudimentaire. Le WebSocket établit une connexion persistante entre le navigateur et la carte, permettant un échange de données en temps réel sans recharger la page — idéal pour afficher en continu une mesure de capteur ou réagir instantanément à une action utilisateur.
|
||||
|
||||
{#fig-m08-http-vs-websocket}
|
||||
|
||||
Cette technique nécessite la bibliothèque tierce « ESPAsyncWebServer » couplée à « AsyncTCP », plus avancée que WebServer.h. Elle sera abordée en détail dans le cadre du projet final (Module 12) si le projet choisi le nécessite (ex : dashboard de supervision en direct).
|
||||
|
||||
## 5. Exercice : dashboard de supervision
|
||||
|
||||
@@ -25,6 +25,8 @@ Contrairement à l'ESP32 « original », l'ESP32-S3 ne supporte pas le Bluetooth
|
||||
| Caractéristique | Une donnée précise à l'intérieur d'un service (ex : une couleur, une température), également identifiée par un UUID |
|
||||
| Notification | Mécanisme permettant au serveur d'envoyer une mise à jour au client sans que celui-ci ait à demander (poll) |
|
||||
|
||||
{#fig-m09-hierarchie-gatt}
|
||||
|
||||
::: {.callout-note title="Qu'est-ce qu'un UUID ?"}
|
||||
Un UUID (Universally Unique Identifier) est un identifiant sur 128 bits garantissant qu'aucun autre service ou caractéristique dans le monde n'utilisera accidentellement le même identifiant. Pour vos projets personnels, générez vos propres UUID aléatoires via un générateur en ligne plutôt que de réutiliser des exemples trouvés sur Internet.
|
||||
:::
|
||||
@@ -137,6 +139,8 @@ Sans développer d'application dédiée, on peut tester un serveur BLE avec une
|
||||
|
||||
À l'inverse de l'écriture (client → serveur), les notifications permettent au serveur d'envoyer spontanément une donnée au client sans attendre une requête (par exemple, la valeur d'un capteur mise à jour toutes les secondes).
|
||||
|
||||
{#fig-m09-sequence-ble width=85%}
|
||||
|
||||
```cpp
|
||||
// A ajouter a la caracteristique lors de sa creation :
|
||||
// BLECharacteristic::PROPERTY_NOTIFY en plus de READ/WRITE
|
||||
|
||||
Reference in New Issue
Block a user