Le Smart Display sert d’interface homme-machine et communique avec le module ESP32-C3 via une communication série UART. L’ESP32-C3 est chargé de la connectivité WiFi et de l’appel à l’Open API des panneaux lumineux intelligents Nanoleaf Shapes afin d’effectuer des tests de contrôle de l’éclairage et d’interrogation des scènes. Ce document se concentre sur les tests préliminaires dans lesquels le Smart Display envoie des commandes UART personnalisées à l’ESP32-C3, afin de vérifier la faisabilité de la communication UART, de la connexion réseau WiFi et des appels à l’API Nanoleaf. Cette étape constitue la base du développement ultérieur d’un système complet de contrôle par smart display et démontre la fiabilité du pont UART ainsi que de l’intégration de l’API IoT.

Architecture du système
Smart Display ↔ UART ↔ ESP32-C3 ↔ WiFi ↔ Nanoleaf Shapes (Open API)

Configuration matérielle requise
1.Smart Display
- WINSTAR Smart Display (compatible GUI TouchGFX)

2.ESP32-C3-DevKitC-02
- Convertisseur d’alimentation : entrée 5V, sortie 3,3V.

3.Nanoleaf Shapes
- Protocole de communication : WiFi (2.4 GHz b/g/n)
- Tension : 100VAC - 240VAC
- Puissance maximale : 42W
- Consommation électrique maximale par panneau : 2W

Test de contrôle sur PC
1.Configuration de Nanoleaf Shapes
⏹︎ Appairage du dispositif Shapes via l’application mobile (iOS)
- L’application officielle Nanoleaf est disponible sur l’App Store.
- Appairer votre dispositif Shapes
- Dans le Dashboard, appuyez sur l’icône en forme de crayon en haut à droite.
- Appuyez sur « Add Device + ».
- L’application ouvrira automatiquement la fenêtre d’appairage.
- Suivez les instructions affichées à l’écran en choisissant l’une des options suivantes :
Option A : scanner le code QR
Option B : saisir le code d’appairage à 8 chiffres figurant sur l’alimentation, le contrôleur ou le Quick Start Guide / Welcome Card
Option C : utiliser la fonction NFC en plaçant le haut de votre appareil mobile au-dessus des boutons du contrôleur
- Votre Nanoleaf Shapes est alors connecté et prêt à l’emploi.
⏹︎ Téléchargement des scènes vers Nanoleaf Shapes

2.Configuration de l’ESP32-C3
⏹︎ Configuration de l’ESP32-C3 via PC
PC-->USB to UART converter-->esp32-c3

⏹︎ Configuration du mode Station
Les modes WiFi de l’ESP32-C3 sont similaires à ceux de l’ESP32 et de l’ESP8266, et prennent en charge les trois modes courants suivants :
- Station mode (STA mode): L’ESP32-C3 fonctionne comme un client et se connecte à un routeur WiFi existant (par exemple un réseau domestique). Dans ce mode, l’appareil peut accéder à Internet ou communiquer avec d’autres appareils du réseau, mais ne crée pas son propre point d’accès. Exemple d’application : des capteurs qui envoient des données vers le cloud (par ex. MQTT, HTTP).
- SoftAP mode (AP mode, Soft Access Point): L’ESP32-C3 devient lui-même un point d’accès WiFi, permettant à d’autres appareils (par ex. téléphones, ordinateurs) de s’y connecter directement. Ce mode est généralement utilisé pour la configuration initiale du réseau ou pour le contrôle local. Le SSID par défaut est généralement de type "ESP32-AP", avec l’adresse IP par défaut 192.168.4.1. L’ESP32-C3 prend en charge jusqu’à 4 connexions clientes simultanées (légèrement moins que l’ESP8266). Exemple d’application : utilisation d’une application mobile (par ex. EspTouch, page Web de configuration) pour saisir les identifiants du WiFi domestique.
- Station + SoftAP mode (STA+AP concurrent mode): Les modes STA et AP sont activés simultanément. L’ESP32-C3 se connecte au routeur pour accéder à Internet tout en fournissant son propre hotspot afin de permettre une connexion directe depuis un smartphone. Il s’agit du mode le plus courant dans les applications de maison intelligente : il permet un fonctionnement cloud normal tout en autorisant un contrôle local par téléphone même sans accès Internet. Remarque : l’ESP32-C3 dispose d’une seule antenne, de sorte que les deux modes partagent le même canal, ce qui entraîne des performances légèrement inférieures à celles d’un mode unique, mais suffisantes pour la plupart des applications.
AT: AT+CWMODE=1

⏹︎ Connexion au hotspot Nanoleaf Shapes (sans mot de passe en mode appairage)
- AT+CWJAP: L’ESP32-C3 (en mode Station) se connecte au point d’accès WiFi spécifié.
- "Shapes 4992": il s’agit du SSID WiFi du panneau lumineux Nanoleaf Shapes.
- "": mot de passe vide (les panneaux Nanoleaf en mode de configuration initiale ou de réappairage après réinitialisation fournissent généralement un hotspot ouvert sans mot de passe).
AT: AT+CWJAP="Shapes 4992",""

⏹︎ Vérification de l’adresse IP obtenue
L’ESP32-C3 obtient une adresse IP attribuée par le panneau (généralement dans le segment 192.168.x.x).
AT: AT+CIPSTA?

⏹︎ Obtention du token Nanoleaf (appui long sur le contrôleur pour entrer en mode appairage)
- L’adresse est fixe sur le hotspot du panneau : http://192.168.2.1:16021/api/v1/new.
- En cas de succès, un JSON du type {"auth_token": "your long token"} est renvoyé. Commencez par placer le Shapes en mode appairage.
Commencez par placer le Shapes en mode appairage.

Obtention du token Shapes :
AT:AT+HTTPCLIENT=3,0,"http://192.168.2.1:16021/api/v1/new",,,1,""

⏹︎ Récupération de la liste des scènes Nanoleaf Shapes
AT+HTTPCLIENT est une commande client HTTP couramment utilisée, adaptée à l’interaction avec l’API Nanoleaf (par exemple pour récupérer des informations ou interroger la liste des scènes).
AT:AT+HTTPCLIENT=2,1,"http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/effects/effectsList",,,1

⏹︎ Contrôle de l’allumage des lumières Shapes
Utilisez HTTP PUT pour envoyer une requête d’allumage des lumières.
AT:AT+HTTPCPUT="http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/state",23,2,"connection: keep-alive","content-type: application/json"

AT: {"on": {"value": true}}


⏹︎ Contrôle de l’extinction des lumières Shapes
Utilisez HTTP PUT pour envoyer une requête d’extinction des lumières.
AT:AT+HTTPCPUT="http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/state",24,2,"connection: keep-alive","content-type: application/json"

AT: {"on": {"value": false}}


Test d’intégration (Smart Display + ESP32-C3)
Environnement de développement:
- STM32CubeIDE: 1.16.0
- TouchGFX : 4.24.2 Designer
1.Conception TouchGFX (création d’un bouton)

2.Mise en œuvre du programme (winstar_screenView.cpp)
Ajoutez une fonction de transmission UART avec un protocole de commande simple et personnalisé.

Événement de clic sur le bouton : bascule de l’état et envoi de la commande UART correspondante.

3.Test d’allumage et d’extinction des lumières
Cliquez sur Button1 : le premier clic allume les lumières, le second les éteint.
Cliquez sur Button1 pour allumer les lumières
Cliquez de nouveau sur Button1 pour éteindre les lumières
Conclusion
Ce test a permis de vérifier avec succès que le Smart Display peut contrôler efficacement le module ESP32-C3 via des commandes série UART, établir une connexion réseau et appeler l’API Nanoleaf Shapes, afin de mettre en œuvre rapidement la fonction marche/arrêt des panneaux lumineux Nanoleaf Shapes. Cela constitue la base du développement ultérieur d’une interface graphique utilisateur (GUI) tactile pour le contrôle de l’éclairage. Le système offre une faible latence, une grande stabilité et une communication fiable. À l’avenir, il pourra être étendu à un contrôle complet de l’éclairage (par exemple réglage de la luminosité, changement de couleur, commutation dynamique des scènes), ainsi qu’à l’affichage de l’état des panneaux, de retours en temps réel ou de panneaux de commande personnalisés sur le Smart Display, permettant ainsi une intégration plus poussée avec davantage d’applications IoT.
Références