Ejemplo de Arduino WebChat - Tutorial de interfaz de chat interactiva
Visión general
El ejemplo de WebChat demuestra cómo crear una interfaz de chat interactiva entre un navegador web y Arduino. Diseñado para la plataforma educativa Arduino Uno R4 WiFi y DIYables STEM V4 IoT con capacidades IoT mejoradas e integración perfecta con sensores integrados. El Arduino puede responder de forma inteligente a los mensajes y controlar el hardware en función de los comandos de chat.

Características
- Chat en tiempo real: Mensajería instantánea vía WebSocket
- Respuestas inteligentes: Arduino proporciona respuestas contextuales
- Control del LED: Control del LED incorporado mediante comandos de chat
- Reconocimiento de usuario: Arduino recuerda tu nombre
- Historial de mensajes: Ver historial de la conversación
- Diseño responsivo: Funciona en escritorio y móvil
- Plataforma extensible: Actualmente implementado para Arduino Uno R4 WiFi, pero puede extenderse a otras plataformas de hardware. Ver DIYables_WebApps_ESP32
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instrucciones de configuración
Pasos Rápidos
Siga estas instrucciones paso a paso:
- Si es la primera vez que usas el Arduino Uno R4 WiFi/DIYables STEM V4 IoT, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/DIYables STEM V4 IoT en el IDE de Arduino.
- Conecta la placa Arduino Uno R4/DIYables STEM V4 IoT a tu computadora con un cable USB.
- Inicia el IDE de Arduino en tu computadora.
- Selecciona la placa adecuada de Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
- Navega hasta el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "DIYables WebApps", luego encuentra la biblioteca DIYables WebApps de DIYables
- Haz clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá instalar algunas otras dependencias de la biblioteca.
- Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.

- En el IDE de Arduino, vaya a Archivo Ejemplos DIYables WebApps WebChat ejemplo, o copie el código anterior y péguelo en el editor del IDE de Arduino
- Configura las credenciales de WiFi en el código actualizando estas líneas:
- Haz clic en el botón Subir en el IDE de Arduino para subir código al Arduino UNO R4/DIYables STEM V4 IoT
- Abre el Monitor Serial
- Revisa el resultado en el Monitor Serial. Se ve como lo siguiente
- Si no ve nada, reinicie la placa Arduino.
- Tome nota de la dirección IP que se muestre y escriba esta dirección en la barra de direcciones de un navegador web en su teléfono inteligente o PC.
- Ejemplo: http://192.168.0.2
- Verá la página de inicio como se muestra en la imagen a continuación:

- Haz clic en el enlace de Chat; verás la interfaz de usuario de la aplicación Web Chat como la que se muestra a continuación:

- O también puedes acceder a la página directamente mediante la dirección IP seguida de /chat. Por ejemplo: http://192.168.0.2/chat
- ¡Empieza a chatear con tu Arduino! Escribe tu nombre cuando se te solicite y prueba comandos como "led on", "hello" o "help" para interactuar con tu Arduino.
Cómo usar
Comenzar una conversación
- Abre la interfaz de chat en tu navegador
- Escribe tu nombre cuando se te pida
- ¡Empieza a chatear con tu Arduino!
Comandos de chat
El Arduino reconoce estos comandos especiales:
Control de LEDs
- "led on" o "turn on led" → Enciende el LED integrado
- "led off" o "turn off led" → Apaga el LED integrado
- "blink" o "blink led" → Hace que el LED parpadee
Comandos de Información
- "hola" o "¡hola!" → Saludo amistoso
- "ayuda" → Muestra los comandos disponibles
- "tiempo" → Muestra el tiempo de actividad de Arduino
- "estado" → Muestra el estado del sistema
Preguntas
- "¿Cómo estás?" → Arduino comparte su estado
- "¿Qué puedes hacer?" → Enumera las capacidades
- "¿Cómo te llamas?" → Arduino se presenta
Ejemplo de conversación
Personalización creativa - Construye tu asistente interactivo
¡Transforma este ejemplo básico de chat en algo increíble! El diseño modular te permite adaptar y ampliar la funcionalidad para crear tu propio asistente interactivo de Arduino único.
Estructura del código
Componentes principales
- Servidor WebApp: Gestiona las conexiones HTTP y WebSocket
- Página de chat: Proporciona la interfaz web
- Manejador de mensajes: Procesa los mensajes de chat entrantes
- Generador de respuestas: Crea respuestas inteligentes
Funciones clave
Añadir comandos personalizados
Para añadir nuevos comandos de chat, modifica la función handleChatMessage:
Opciones de personalización
Modificar la personalidad de Arduino
Edita los mensajes de respuesta para cambiar la personalidad de Arduino:
Añadir control de hardware
Extender el control de LED a otros componentes:
Cambiar el tema de la interfaz web
La interfaz de chat puede personalizarse modificando el CSS en los archivos de la biblioteca:
- Colores: Editar fondos degradados
- Fuentes: Cambiar las familias de fuentes
- Diseño: Ajustar el espaciado y el tamaño
Solución de problemas
Problemas comunes
1. Arduino no responde a los mensajes
- Verificar el Monitor Serial para mensajes de error
- Verificar el estado de la conexión WebSocket
- Actualizar la página del navegador
- Conexión WiFi fallida
- Vuelve a comprobar el SSID y la contraseña
- Asegúrate de que sea la red de 2,4 GHz (no 5 GHz)
- Comprueba la intensidad de la señal
- No se puede acceder a la página de chat
- Verifica que la dirección IP sea correcta
- Verifica si Arduino sigue conectado a WiFi
- Intenta acceder primero a la página de inicio: http://[IP]/
4. El LED no responde a los comandos
- Verificar el cableado (el LED incorporado debería funcionar por defecto)
- Verificar que los comandos estén escritos correctamente
- Verificar el Monitor Serial para mensajes de depuración
Consejos de depuración
Activa el modo de depuración añadiendo esta línea en setup():
Monitorear la salida serial para ver:
- Mensajes entrantes
- Análisis de comandos
- Generación de respuestas
- Acciones de hardware
Características Avanzadas
Soporte para múltiples clientes
El chat admite múltiples usuarios al mismo tiempo:
- Cada usuario tiene una sesión única
- Arduino recuerda nombres individuales
- Difunde mensajes a todos los usuarios
Persistencia de mensajes
Agregar registro de mensajes en la EEPROM:
Integración con sensores
Conecta sensores y hazlos accesibles a través del chat:
Próximos pasos
Después de dominar el ejemplo de Chat, prueba:
- I. WebMonitor - Para depurar y desarrollar
- I. DigitalPins - Para controlar múltiples salidas
- I. Joystick - Para control direccional
- I. MultipleWebApps - Combinando todas las funciones
Soporte
Para obtener ayuda adicional:
- Consulta la documentación de la API
- Visita los tutoriales de DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Foros de la comunidad de Arduino