Cerca
Filters
Close

FIRST Components Academy | Integrazione IoT di Smart Display tramite UART e Wi-Fi

mercoledì 13 maggio 2026

Dalla News di Winstar di Maggio '26

 

Integrazione di Smart Display con dispositivi IoT tramite UART e gateway Wi-Fi

 

Lo Smart Display funge da interfaccia uomo-macchina, comunicando con il modulo ESP32-C3 tramite comunicazione seriale UART. L’ESP32-C3 è responsabile della connettività Wi-Fi e della chiamata alle Open API dei pannelli luminosi intelligenti Nanoleaf Shapes per eseguire il controllo delle luci e il test delle scene. Questo documento si concentra sull’invio di comandi UART personalizzati dallo Smart Display all’ESP32-C3 per test preliminari, verificando la fattibilità della comunicazione UART, della connessione Wi-Fi e delle chiamate API Nanoleaf. Questa fase costituisce la base per un futuro sistema completo di controllo smart display, dimostrando l’affidabilità del bridging UART e dell’integrazione delle API IoT.


Architettura del sistema

Smart Display ↔ UART ↔ ESP32-C3 ↔ WiFi ↔ Nanoleaf Shapes (Open API)


Requisiti Hardware

1. Smart Display

         WINSTAR Smart Display (supporta GUI TouchGFX)

2. ESP32-C3-DevKitC-02

         Convertitore di alimentazione: ingresso 5V, uscita 3.3V

3. Nanoleaf Shapes

      •   Protocollo di comunicazione: Wi-Fi (2.4 GHz b/g/n)
      •   Tensione: 100VAC - 240VAC
      •   Potenza massima: 42W
      •   Consumo massimo per pannello: 2W


Test di controllo da PC

1. Configurazione di Nanoleaf Shapes

⏹︎ Associazione del dispositivo Shapes tramite app mobile (iOS)

      •   L’app ufficiale Nanoleaf è disponibile sull’App Store.
      •   Associare Shapes
           ◦   Nella Dashboard, toccare l’icona della matita nell’angolo in alto a destra.
           ◦   Toccare “Add Device +”.
           ◦   L’app aprirà automaticamente la finestra di pairing.
           ◦   Seguire le istruzioni sullo schermo scegliendo una delle seguenti opzioni:
               -   Opzione A: Scansionare il QR code
               -   Opzione B: Inserire il codice di pairing a 8 cifre presente sull’alimentatore, sul controller o sulla Quick Start Guide/Welcome Card
               -   Opzione C: Utilizzare NFC Tap avvicinando la parte superiore del dispositivo mobile ai pulsanti del controller
      •   I dispositivi Nanoleaf Shapes saranno ora connessi e pronti all’uso.

⏹︎ Download delle scene su Nanoleaf Shapes

2. Configurazione di ESP32-C3

⏹︎ Configurazione di ESP32-C3 tramite PC

PC-->Convertitore USB-UART-->esp32-c3

⏹︎ Impostazione della modalità Station

Le modalità Wi-Fi di ESP32-C3 sono simili a quelle di ESP32 ed ESP8266 e supportano le seguenti tre modalità comuni:

      •   Station mode (STA mode): ESP32-C3 agisce come client, collegandosi a un router Wi-Fi esistente (ad esempio una rete domestica). In questa modalità il
          dispositivo può accedere a Internet o comunicare con altri dispositivi della rete, ma non crea un proprio hotspot.
          Esempio applicativo: sensori che caricano dati sul cloud (es. MQTT, HTTP).

      •   SoftAP mode (AP mode, Soft Access Point): ESP32-C3 diventa esso stesso un hotspot Wi-Fi, consentendo ad altri dispositivi (smartphone, computer,
          ecc.) di collegarsi direttamente. Questa modalità viene generalmente utilizzata per la configurazione iniziale della rete o per il controllo locale. L’SSID
          predefinito è solitamente qualcosa come “ESP32-AP”, con IP predefinito 192.168.4.1. ESP32-C3 supporta fino a 4 connessioni client simultanee
          (leggermente meno rispetto a ESP8266).
          Esempio applicativo: utilizzo di un’app mobile (es. EspTouch o pagina web di configurazione) per inserire le credenziali Wi-Fi domestiche.

      •   Station + SoftAP mode (STA+AP concurrent mode): le modalità STA e AP sono abilitate contemporaneamente. ESP32-C3 si collega al router per
          l’accesso Internet mentre fornisce anche un proprio hotspot per la connessione diretta da smartphone. È la modalità più comune per le applicazioni smart
          home, poiché consente la comunicazione cloud mantenendo il controllo locale anche senza accesso Internet.
          Nota: ESP32-C3 dispone di una singola antenna, quindi entrambe le modalità condividono lo stesso canale, con prestazioni leggermente inferiori rispetto
          all’utilizzo di una sola modalità, ma comunque sufficienti per la maggior parte delle applicazioni.

AT: AT+CWMODE=1



⏹︎ Connessione all’hotspot Nanoleaf Shapes (senza password in modalità pairing)

      •   AT+CWJAP: ESP32-C3 (in modalità Station) si collega al punto di accesso Wi-Fi specificato.
      •   "Shapes 4992": SSID Wi-Fi del pannello luminoso Nanoleaf Shapes.
      •   "": password vuota (i pannelli Nanoleaf in modalità pairing o reset espongono generalmente un hotspot aperto senza password).

AT: AT+CWJAP="Shapes 4992",""



⏹︎ Verifica dell’indirizzo IP ottenuto

ESP32-C3 otterrà un indirizzo IP assegnato dal pannello (generalmente nel range 192.168.x.x).

AT: AT+CIPSTA?



⏹︎ Ottenimento del token Nanoleaf (tenere premuto il controller per entrare in modalità pairing)

      •   L’indirizzo è fisso: http://192.168.2.1:16021/api/v1/new sull’hotspot del pannello.
      •   Una richiesta eseguita con successo restituisce un JSON come {"auth_token": "your long token"}.

Per prima cosa, mettere Shapes in modalità pairing.

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



⏹︎ Recupero della lista scene di Nanoleaf Shapes

AT+HTTPCLIENT è un comando HTTP client comunemente utilizzato per interagire con le API Nanoleaf (ad esempio per recuperare informazioni o interrogare le liste scene).

AT:AT+HTTPCLIENT=2,1,"http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/effects/effectsList",,,1



⏹︎ Controllo Shapes per accendere le luci

Utilizzare HTTP PUT per inviare una richiesta di accensione luci.

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}}

⏹︎ Controllo Shapes per spegnere le luci

Utilizzare HTTP PUT per inviare una richiesta di spegnimento luci.

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 di integrazione (Smart Display + ESP32-C3)

Ambiente di sviluppo
      •   STM32CubeIDE: 1.16.0
      •   TouchGFX : 4.24.2 Designer

1. Design TouchGFX (creazione di un pulsante)


2. Implementazione del programma (winstar_screenView.cpp)

Aggiunta di una funzione di trasmissione UART con protocollo di comando personalizzato semplificato.


Evento click del pulsante: cambio stato e invio del relativo comando UART.


3. Test di accensione e spegnimento luci

Click su Button1: il primo click accende le luci, il secondo le spegne.

Click Button1 per accendere le luci Click Button1 nuovamente per spegnere le luci

 

Conclusioni

Questo test verifica con successo che lo Smart Display può controllare efficacemente il modulo ESP32-C3 tramite comandi seriali UART per connettersi alla rete e richiamare le API Nanoleaf Shapes, implementando rapidamente la funzione di accensione/spegnimento dei pannelli luminosi Nanoleaf Shapes. Questo costituisce la base per il successivo sviluppo di un’interfaccia grafica touch (GUI) dedicata al controllo luci. Il sistema dimostra bassa latenza, elevata stabilità e comunicazione affidabile. In futuro potrà essere ampliato per supportare il controllo completo dell’illuminazione (ad esempio regolazione luminosità, variazione colori e gestione di scene dinamiche), oltre alla visualizzazione dello stato del pannello, feedback in tempo reale o pannelli di controllo personalizzati sullo Smart Display, integrando ulteriori applicazioni IoT.