Exemplo ESP32 WebChat - Tutorial de Interface de Chat Interativa
Visão Geral
O exemplo WebChat mostra como criar uma interface de chat interativa entre um navegador web e o Arduino. Projetado para a plataforma educacional ESP32, com recursos de IoT avançados e integração perfeita com sensores embutidos. O ESP32 pode responder de forma inteligente às mensagens e controlar o hardware com base em comandos do chat.
Assista a este tutorial em vídeo passo a passo mostrando como usar o WebChat com o app DIYables ESP32 WebApps:
Recursos
Chat em Tempo Real: Mensagens instantâneas via WebSocket
Respostas Inteligentes: O ESP32 dá respostas contextuais
Controle de LED: Controle o LED embutido por comandos de chat
Reconhecimento do Usuário: O ESP32 lembra o seu nome
Histórico de Mensagens: Veja o histórico da conversa
Design Responsivo: Funciona em computadores e dispositivos móveis
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.
Clique no botão Upload na Arduino IDE para carregar o código no ESP32
Abra o Serial Monitor
Veja o resultado no Serial Monitor. Ele será parecido com o abaixo
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32 Dev Module
Newbiely.ino
···
8Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32 Dev Module' on 'COM15')
New Line
9600 baud
DIYables WebApp - WebChat Example
INFO: Added app /
INFO: Added app /chat
DIYables WebApp Library
Platform: ESP32
Network connected!
IP address: 192.168.0.2
HTTP server started on port 80
Configuring WebSocket server callbacks...
WebSocket server started on port 81
WebSocket URL: ws://192.168.0.2:81
WebSocket server started on port 81
==========================================
DIYables WebApp Ready!
==========================================
📱 Web Interface: http://192.168.0.2
🔗 WebSocket: ws://192.168.0.2:81
📋 Available Applications:
🏠 Home Page: http://192.168.0.2/
💬 WebChat: http://192.168.0.2/chat
==========================================
Ln 11, Col 1
ESP32 Dev Module on COM15
2
Se você não vir nada, reinicie a placa ESP32.
Anote o endereço IP exibido e digite esse endereço na barra de endereços de um navegador web no seu celular ou PC.
Exemplo: http://192.168.0.2
Você verá a home page como na imagem abaixo:
Clique no link Chat e você verá a interface do app Web Chat como abaixo:
Você também pode acessar a página diretamente pelo endereço IP seguido de /chat. Por exemplo: http://192.168.0.2/chat
Comece a conversar com o seu Arduino! Digite o seu nome quando solicitado e experimente comandos como "led on", "hello" ou "help" para interagir com o seu Arduino.
Como Usar
Iniciando uma Conversa
Abra a interface de chat no seu navegador
Digite o seu nome quando solicitado
Comece a conversar com o seu Arduino!
Comandos do Chat
O ESP32 reconhece estes comandos especiais:
Controle de LED
"led on" ou "turn on led" → Liga o LED embutido
"led off" ou "turn off led" → Desliga o LED embutido
"blink" ou "blink led" → Faz o LED piscar
Comandos de Informação
"hello" ou "hi" → Saudação amigável
"help" → Mostra os comandos disponíveis
"time" → Mostra o tempo de atividade do ESP32
"status" → Mostra o status do sistema
Perguntas
"how are you?" → O ESP32 compartilha o seu status
"what can you do?" → Lista os recursos
"what is your name?" → O ESP32 se apresenta
Exemplo de Conversa
You: Hello
ESP32: Hi there! I'm your assistant. What's your name?
You: My name is John
ESP32: Nice to meet you, John! I'm ready to help.
You: led on
ESP32: LED turned ON for you, John! 💡
You: what can you do?
ESP32: I can control LEDs, respond to your messages, and remember your name. Try saying 'help' for commands!
You: help
ESP32: Available commands:
* 'led on/off' - Control LED
* 'blink' - Blink LED
* 'status' - Show system info
* 'time' - Show uptime
Personalização Criativa - Crie o Seu Assistente Interativo
Transforme este exemplo básico de chat em algo incrível! O design modular permite adaptar e expandir a funcionalidade para criar o seu próprio assistente ESP32 interativo e único.
Estrutura do Código
Componentes Principais
Servidor WebApp: Gerencia as conexões HTTP e WebSocket
Página de Chat: Fornece a interface web
Tratador de Mensagens: Processa as mensagens de chat recebidas
Gerador de Respostas: Cria respostas inteligentes
Funções Principais
// Handle incoming chat messagesvoid handleChatMessage(String message, String clientId) {// Process message and generate response}// Send message to web interfacevoid sendChatResponse(String response, String clientId) {// Send response via WebSocket}
Adicionando Comandos Personalizados
Para adicionar novos comandos de chat, modifique a função handleChatMessage:
if (message.indexOf("your_command") >= 0) { response = "Your custom response";// Add your custom action here}
Opções de Personalização
Modifique a Personalidade do ESP32
Edite as mensagens de resposta para mudar a personalidade do Arduino:
String greetings[] = { "Hello! How can I help you today?", "Hi there! Ready to chat?", "Greetings! What's on your mind?"};
Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!