O Smart Display atua como uma interface homem-máquina e se comunica com o módulo ESP32-C3 por meio de comunicação serial UART. O ESP32-C3 é responsável pela conectividade WiFi e pela chamada da Open API dos painéis de iluminação inteligentes Nanoleaf Shapes, permitindo realizar testes de controle de iluminação e consulta de cenas. Este documento concentra-se nos testes preliminares em que o Smart Display envia comandos UART personalizados ao ESP32-C3, com o objetivo de verificar a viabilidade da comunicação UART, da conexão WiFi e das chamadas à API da Nanoleaf. Esta etapa estabelece a base para o desenvolvimento posterior de um sistema completo de controle com Smart Display, comprovando a confiabilidade da ponte UART e da integração com APIs de IoT.

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

Requisitos de hardware
1.Smart Display
- WINSTAR Smart Display (compatível com GUI TouchGFX)

2.ESP32-C3-DevKitC-02
- Conversor de alimentação: entrada de 5V, saída de 3,3V.

3.Nanoleaf Shapes
- Protocolo de comunicação: WiFi (2.4 GHz b/g/n)
- Tensão: 100VAC - 240VAC
- Potência máxima: 42W
- Consumo máximo por painel: 2W

Teste de controle via PC
1.Configuração do Nanoleaf Shapes
⏹︎ Pareamento do dispositivo Shapes via aplicativo móvel (iOS)
- O aplicativo oficial da Nanoleaf está disponível na App Store.
- Emparelhar o Shapes
- No Dashboard, toque no ícone de lápis no canto superior direito.
- Toque em “Add Device +”.
- O aplicativo abrirá automaticamente a janela de pareamento.
- Siga as instruções na tela e escolha uma das opções abaixo:
Opção A: escanear o código QR
Opção B: inserir o código de pareamento de 8 dígitos localizado na fonte de alimentação, no controlador ou no Quick Start Guide / Welcome Card
Opção C: usar NFC, aproximando a parte superior do dispositivo móvel dos botões do controlador
- Depois disso, o Nanoleaf Shapes estará conectado e pronto para uso.
⏹︎ Download de cenas para o Nanoleaf Shapes

2.Configuração do ESP32-C3
⏹︎ Configuração do ESP32-C3 via PC
PC-->USB to UART converter-->esp32-c3

⏹︎ Configuração do modo Station
Os modos WiFi do ESP32-C3 são semelhantes aos do ESP32 e do ESP8266, com suporte aos três modos mais comuns:
- Station mode (STA mode): o ESP32-C3 atua como cliente, conectando-se a um roteador WiFi existente (por exemplo, rede doméstica). Nesse modo, o dispositivo pode acessar a internet ou se comunicar com outros dispositivos na rede, mas não cria seu próprio hotspot. Exemplo de aplicação: sensores enviando dados para a nuvem (por exemplo, MQTT, HTTP).
- SoftAP mode (AP mode, Soft Access Point): o próprio ESP32-C3 passa a funcionar como um hotspot WiFi, permitindo que outros dispositivos (por exemplo, celulares e computadores) se conectem diretamente a ele. Esse modo é normalmente usado para configuração inicial da rede ou controle local. O SSID padrão costuma ser algo como "ESP32-AP", com IP padrão 192.168.4.1. O ESP32-C3 suporta até 4 clientes conectados simultaneamente (um pouco menos que o ESP8266). Exemplo de aplicação: uso de aplicativo móvel (por exemplo, EspTouch, página web de configuração) para inserir as credenciais do WiFi residencial.
- Station + SoftAP mode (STA+AP concurrent mode): os modos STA e AP ficam habilitados ao mesmo tempo. O ESP32-C3 se conecta ao roteador para acesso à internet e, ao mesmo tempo, disponibiliza seu próprio hotspot para conexão direta via smartphone. Esse é o modo mais comum em aplicações de casa inteligente: permite comunicação normal com a nuvem e, ao mesmo tempo, controle local pelo telefone mesmo sem internet. Observação: o ESP32-C3 possui uma única antena, portanto ambos os modos compartilham o mesmo canal, resultando em desempenho ligeiramente inferior ao modo único, mas suficiente para a maioria das aplicações.
AT: AT+CWMODE=1

⏹︎ Conexão ao hotspot do Nanoleaf Shapes (sem senha no modo de pareamento)
- AT+CWJAP: o ESP32-C3 (em modo Station) conecta-se ao ponto de acesso WiFi especificado.
- "Shapes 4992": este é o SSID WiFi do painel de iluminação Nanoleaf Shapes.
- "": senha vazia (os painéis Nanoleaf, em configuração inicial ou em modo de pareamento após reset, normalmente disponibilizam um hotspot aberto, sem senha).
AT: AT+CWJAP="Shapes 4992",""

⏹︎ Consulta do IP obtido
O ESP32-C3 obterá um endereço IP atribuído pelo painel (normalmente na faixa 192.168.x.x).
AT: AT+CIPSTA?

⏹︎ Obtenção do token Nanoleaf (pressione o controlador para entrar no modo de pareamento)
- O endereço é fixo no hotspot do painel: http://192.168.2.1:16021/api/v1/new.
- Em caso de sucesso, é retornado um JSON como {"auth_token": "your long token"}. Primeiro, coloque o Shapes em modo de pareamento.
Primeiro, coloque o Shapes em modo de pareamento.

Obtenção do token do Shapes:
AT:AT+HTTPCLIENT=3,0,"http://192.168.2.1:16021/api/v1/new",,,1,""

⏹︎ Recuperação da lista de cenas do Nanoleaf Shapes
AT+HTTPCLIENT é um comando de cliente HTTP amplamente utilizado, adequado para interação com a API da Nanoleaf (por exemplo, obtenção de informações, consulta da lista de cenas, entre outros).
AT:AT+HTTPCLIENT=2,1,"http://192.168.2.1:16021/api/v1/FXzbb1CapQ3e0GJsxrga6RvVKWXVjrbA/effects/effectsList",,,1

⏹︎ Controle para ligar as luzes do Shapes
Use HTTP PUT para enviar uma solicitação de acendimento das luzes.
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}}


⏹︎ Controle para desligar as luzes do Shapes
Use HTTP PUT para enviar uma solicitação de desligamento das luzes.
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}}


Teste de integração (Smart Display + ESP32-C3)
Ambiente de desenvolvimento:
- STM32CubeIDE: 1.16.0
- TouchGFX : 4.24.2 Designer
1.Projeto no TouchGFX (criação de botão)

2.Implementação do programa (winstar_screenView.cpp)
Adicionar uma função de transmissão UART com um protocolo simples de comandos personalizados.

Evento de clique do botão: alterna o estado e envia o comando UART correspondente.

3.Teste de acender e apagar as luzes
Clique em Button1: o primeiro clique acende as luzes; o segundo clique as apaga.
Clique em Button1 para acender as luzes
Clique novamente em Button1 para apagar as luzes
Conclusão
Este teste validou com sucesso que o Smart Display pode controlar de forma eficaz o módulo ESP32-C3 por meio de comandos seriais UART, estabelecer conexão com a rede e chamar a API do Nanoleaf Shapes, implementando rapidamente a função de ligar/desligar dos painéis de iluminação Nanoleaf Shapes. Isso estabelece a base para o desenvolvimento posterior de uma interface gráfica do usuário (GUI) com toque para controle de iluminação. O sistema apresenta baixa latência, alta estabilidade e comunicação confiável. No futuro, poderá ser expandido para um controle completo da iluminação (por exemplo, ajuste de brilho, alteração de cores e troca dinâmica de cenas), além de exibir no Smart Display o status do painel, feedback em tempo real ou painéis de controle personalizados, possibilitando integração com ainda mais aplicações de IoT.
Referências