Arduino Nano ESP32 Web Chat com a Biblioteca DIYables ESP32 WebApps
Visão Geral
Este tutorial demonstra como usar a classe DIYablesWebChatPage da Biblioteca DIYables ESP32 WebApps em um Arduino Nano ESP32. A placa executa um servidor WebSocket; um navegador se conecta a ele e troca mensagens de texto simples em tempo real. O sketch pode interpretar as mensagens recebidas e responder com texto, controle de LED ou qualquer outra ação.

Assista a este tutorial em vídeo passo a passo, que demonstra como usar o WebChat com o app DIYables ESP32 WebApps:
O Que Este Tutorial Aborda
- Conectar um navegador a uma interface de chat do Arduino Nano ESP32 via WebSocket
- Interpretar as mensagens de chat recebidas e gerar respostas no sketch
- Controlar o LED integrado por meio de comandos digitados
- Acessar a página de chat a partir de um celular ou PC na mesma rede WiFi
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instruções de Configuração
Passos
Siga estas instruções passo a passo:
- Se esta for a primeira vez que você usa o Arduino Nano ESP32, consulte o tutorial sobre como configurar o ambiente de desenvolvimento do Arduino Nano ESP32.
- Conecte a placa Arduino Nano ESP32 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa apropriada (por exemplo, Arduino Nano ESP32) e a porta COM.
- Vá até o ícone Libraries na barra à esquerda da Arduino IDE.
- Pesquise por "DIYables ESP32 WebApps" e encontre a DIYables ESP32 WebApps Library, de DIYables
- Clique no botão Install para instalar a biblioteca.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- Será solicitado que você instale algumas outras dependências da biblioteca
- Clique no botão Install All para instalar todas as dependências da biblioteca.
- Na Arduino IDE, vá até File Examples DIYables ESP32 WebApps WebChat, ou copie o código acima e cole-o no editor da Arduino IDE
- Atualize as credenciais do WiFi no sketch:
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino Nano ESP32
- Abra o Serial Monitor
- A saída do Serial Monitor deve ser parecida com esta:
- Se nada aparecer, pressione o botão de reset da placa.
- Anote o endereço IP mostrado na saída e digite-o em um navegador em um celular ou PC conectado à mesma rede.
- Exemplo: http://192.168.0.2
- A página inicial exibe links para os aplicativos registrados:

- Selecione o link Chat para abrir a interface de chat:

- A página também pode ser acessada diretamente em http://192.168.0.2/chat.
Comandos Suportados
O sketch de exemplo reconhece as seguintes entradas de chat:
Controle do LED
- led on ou turn on led — Liga o LED integrado
- led off ou turn off led — Desliga o LED integrado
- blink ou blink led — Pisca o LED
Status e Informações
- hello ou hi — Retorna uma saudação
- help — Lista os comandos reconhecidos
- time — Informa o tempo de funcionamento da placa
- status — Informa o status do sistema
- how are you? — Retorna uma mensagem de status
- what can you do? — Lista os recursos
- what is your name? — Retorna o nome da placa
Exemplo de Sessão
Estrutura do Código
O sketch é organizado em torno de três componentes:
- Servidor WebApp — gerencia o roteamento HTTP e as conexões WebSocket
- Página de Chat — registra a rota /chat e fornece a interface do navegador
- Tratador de Mensagens — um callback chamado para cada mensagem de chat recebida
O tratador de mensagens recebe o texto, interpreta-o e envia uma resposta usando chatPage.sendToWebChat().
Adicionando Comandos
Para ampliar o conjunto de comandos, adicione condições dentro do callback do tratador de mensagens:
Controlando Outros Hardwares
O mesmo padrão se aplica a qualquer periférico:
Solução de Problemas
A placa não responde às mensagens
- Verifique se há mensagens de erro no Serial Monitor
- Confirme se o indicador de status do WebSocket no navegador mostra "connected"
- Recarregue a página
A conexão WiFi falha
- Confirme o SSID e a senha
- O Arduino Nano ESP32 se conecta apenas a redes de 2,4 GHz; 5 GHz não é suportado
- Aproxime a placa do roteador se o sinal estiver fraco
A página de chat não está acessível
- Confirme o endereço IP no Serial Monitor
- Verifique se o dispositivo do navegador está na mesma rede WiFi da placa
- Tente primeiro a página inicial (http://[IP]/) para verificar se o servidor está em execução
O LED não responde
- O exemplo usa o LED integrado, que funciona sem nenhuma ligação
- Verifique se a grafia do comando corresponde às strings reconhecidas
- Verifique no Serial Monitor a mensagem bruta recebida pela placa