Smart Display pełni funkcję interfejsu człowiek-maszyna i komunikuje się z modułem ESP32-C3 za pośrednictwem interfejsu szeregowego UART. ESP32-C3 odpowiada za łączność WiFi oraz wywoływanie Open API inteligentnych paneli świetlnych Nanoleaf Shapes w celu realizacji testów sterowania oświetleniem i odczytu scen. Niniejszy dokument koncentruje się na wstępnych testach, w których Smart Display wysyła niestandardowe polecenia UART do ESP32-C3, w celu weryfikacji możliwości komunikacji UART, połączenia WiFi oraz wywołań API Nanoleaf. Etap ten stanowi podstawę do dalszego rozwoju kompletnego systemu sterowania opartego na smart display i potwierdza niezawodność mostka UART oraz integracji z API IoT.

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

Wymagania sprzętowe
1.Smart Display
- WINSTAR Smart Display (obsługa GUI TouchGFX)

2.ESP32-C3-DevKitC-02
- Przetwornica zasilania: wejście 5V, wyjście 3,3V.

3.Nanoleaf Shapes
- Protokół komunikacji: WiFi (2.4 GHz b/g/n)
- Napięcie: 100VAC - 240VAC
- Maksymalna moc: 42W
- Maksymalny pobór mocy na panel: 2W

Testy sterowania z poziomu komputera PC
1.Konfiguracja Nanoleaf Shapes
⏹︎ Parowanie urządzenia Shapes za pomocą aplikacji mobilnej (iOS)
- Oficjalną aplikację Nanoleaf można znaleźć w App Store.
- Parowanie urządzenia Shapes
- Na ekranie Dashboard dotknij ikony ołówka w prawym górnym rogu.
- Wybierz „Add Device +”.
- Aplikacja automatycznie otworzy okno parowania.
- Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, wybierając jedną z poniższych opcji:
Opcja A: zeskanuj kod QR
Opcja B: wprowadź 8-cyfrowy kod parowania znajdujący się na zasilaczu, kontrolerze lub w Quick Start Guide / Welcome Card
Opcja C: użyj NFC, przykładając górną część urządzenia mobilnego do przycisków kontrolera
- Po zakończeniu Nanoleaf Shapes będzie połączony i gotowy do użycia.
⏹︎ Pobieranie scen do Nanoleaf Shapes

2.Konfiguracja ESP32-C3
⏹︎ Konfiguracja ESP32-C3 za pomocą komputera PC
PC-->USB to UART converter-->esp32-c3

⏹︎ Ustawienie trybu Station
Tryby WiFi w ESP32-C3 są podobne do tych dostępnych w ESP32 i ESP8266 i obsługują trzy typowe tryby pracy:
- Station mode (STA mode): ESP32-C3 działa jako klient i łączy się z istniejącym routerem WiFi (np. siecią domową). W tym trybie urządzenie może uzyskać dostęp do Internetu lub komunikować się z innymi urządzeniami w sieci, ale nie tworzy własnego hotspotu. Przykład zastosowania: czujniki przesyłające dane do chmury (np. MQTT, HTTP).
- SoftAP mode (AP mode, Soft Access Point): ESP32-C3 sam staje się hotspotem WiFi, umożliwiając innym urządzeniom (np. telefonom, komputerom) bezpośrednie połączenie. Tryb ten jest zwykle używany do wstępnej konfiguracji sieci lub sterowania lokalnego. Domyślny SSID zazwyczaj ma nazwę zbliżoną do "ESP32-AP", a domyślny adres IP to 192.168.4.1. ESP32-C3 obsługuje do 4 jednoczesnych połączeń klientów (nieco mniej niż ESP8266). Przykład zastosowania: użycie aplikacji mobilnej (np. EspTouch, strony konfiguracyjnej WWW) do wprowadzenia danych dostępowych do domowej sieci WiFi.
- Station + SoftAP mode (STA+AP concurrent mode): tryby STA i AP są aktywne jednocześnie. ESP32-C3 łączy się z routerem, aby uzyskać dostęp do Internetu, a jednocześnie udostępnia własny hotspot do bezpośredniego połączenia ze smartfonem. Jest to najczęściej stosowany tryb w aplikacjach smart home: umożliwia standardową komunikację z chmurą, a jednocześnie lokalne sterowanie telefonem nawet bez dostępu do Internetu. Uwaga: ESP32-C3 ma pojedynczą antenę, dlatego oba tryby współdzielą ten sam kanał, co skutkuje nieco niższą wydajnością niż w trybie pojedynczym, ale w większości zastosowań jest to w pełni wystarczające.
AT: AT+CWMODE=1

⏹︎ Połączenie z hotspotem Nanoleaf Shapes (bez hasła w trybie parowania)
- AT+CWJAP: ESP32-C3 (w trybie Station) łączy się z określonym punktem dostępowym WiFi.
- "Shapes 4992": jest to SSID sieci WiFi panelu świetlnego Nanoleaf Shapes.
- "": puste hasło (panele Nanoleaf w trybie początkowej konfiguracji lub po resecie w trybie parowania zwykle udostępniają otwarty hotspot bez hasła).
AT: AT+CWJAP="Shapes 4992",""

⏹︎ Odczyt przydzielonego adresu IP
ESP32-C3 otrzyma adres IP przydzielony przez panel (zwykle z zakresu 192.168.x.x).
AT: AT+CIPSTA?

⏹︎ Uzyskanie tokenu Nanoleaf (przytrzymaj kontroler, aby przejść do trybu parowania)
- Adres w hotspotcie panelu jest stały: http://192.168.2.1:16021/api/v1/new.
- Po powodzeniu zwracany jest JSON w formacie {"auth_token": "your long token"}. Najpierw przełącz Shapes w tryb parowania.
Najpierw przełącz Shapes w tryb parowania.

Uzyskanie tokenu Shapes:
AT:AT+HTTPCLIENT=3,0,"http://192.168.2.1:16021/api/v1/new",,,1,""

⏹︎ Pobranie listy scen Nanoleaf Shapes
AT+HTTPCLIENT to powszechnie używane polecenie klienta HTTP, odpowiednie do komunikacji z API Nanoleaf (np. pobieranie informacji, odczyt listy scen itp.).
AT:AT+HTTPCLIENT=2,1,"http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/effects/effectsList",,,1

⏹︎ Sterowanie włączeniem świateł Shapes
Użyj HTTP PUT, aby wysłać żądanie włączenia świateł.
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}}


⏹︎ Sterowanie wyłączeniem świateł Shapes
Użyj HTTP PUT, aby wysłać żądanie wyłączenia świateł.
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 integracyjny (Smart Display + ESP32-C3)
Środowisko programistyczne:
- STM32CubeIDE: 1.16.0
- TouchGFX : 4.24.2 Designer
1.Projekt TouchGFX (utworzenie przycisku)

2.Implementacja programu (winstar_screenView.cpp)
Dodaj funkcję transmisji UART z prostym, niestandardowym protokołem poleceń.

Zdarzenie kliknięcia przycisku: przełączenie stanu i wysłanie odpowiedniego polecenia UART.

3.Test włączania i wyłączania świateł
Kliknij Button1: pierwsze kliknięcie włącza światła, drugie kliknięcie je wyłącza.
Kliknij Button1, aby włączyć światła
Kliknij ponownie Button1, aby wyłączyć światła
Wnioski
Test ten pomyślnie potwierdził, że Smart Display może skutecznie sterować modułem ESP32-C3 za pomocą poleceń UART, łączyć się z siecią i wywoływać API Nanoleaf Shapes, umożliwiając szybkie wdrożenie funkcji włączania/wyłączania paneli świetlnych Nanoleaf Shapes. Stanowi to podstawę do dalszego rozwoju dotykowego graficznego interfejsu użytkownika (GUI) do sterowania oświetleniem. System charakteryzuje się niskimi opóźnieniami, wysoką stabilnością i niezawodną komunikacją. W przyszłości może zostać rozszerzony o pełne sterowanie oświetleniem (np. regulację jasności, zmianę kolorów, dynamiczne przełączanie scen), a także o wyświetlanie stanu panelu, informacji zwrotnej w czasie rzeczywistym lub niestandardowych paneli sterowania na Smart Display, co umożliwi dalszą integrację z kolejnymi aplikacjami IoT.
Materiały referencyjne