Exemplo Arduino WebMonitor - Tutorial de Serial Monitor Baseado em Web
Visão Geral
O exemplo WebMonitor substitui o Serial Monitor tradicional por uma interface web acessível de qualquer dispositivo da sua rede. Projetado para a plataforma educacional Arduino Uno R4 WiFi e DIYables STEM V4 IoT, com recursos IoT avançados, monitoramento de sensores integrado e integração perfeita com o ecossistema educacional.

Assista a este tutorial em vídeo passo a passo que mostra como usar o WebMonitor com o app DIYables WebApps:
Recursos
- Saída Serial em Tempo Real: Veja as mensagens do Arduino na hora, no navegador
- Entrada de Comandos: Envie comandos da interface web para o Arduino
- Tema Escuro: Interface estilo terminal, que cansa menos os olhos
- Rolagem Automática: Rola automaticamente até as mensagens mais recentes
- Marcação de Horário: Todas as mensagens incluem o horário
- Histórico de Comandos: Navegue pelos comandos anteriores com as setas do teclado
- Função Limpar: Limpe a tela do monitor
- Copiar/Colar: Suporte completo para selecionar e copiar texto
- Plataforma Extensível: Atualmente implementada para o Arduino Uno R4 WiFi, mas pode ser estendida para outras plataformas de hardware. Veja DIYables_WebApps_ESP32
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instruções de Configuração
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/DIYables STEM V4 IoT, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/DIYables STEM V4 IoT no Arduino IDE.
- Conecte a placa Arduino Uno R4/DIYables STEM V4 IoT ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Navegue até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise "DIYables WebApps" e encontre a biblioteca DIYables WebApps, da DIYables
- Clique no botão Install para instalar a biblioteca.

- Você será perguntado se quer instalar outras bibliotecas das quais ela depende
- Clique no botão Install All para instalar todas as dependências da biblioteca.

- No Arduino IDE, vá em File Examples DIYables WebApps WebMonitor para abrir o exemplo, ou copie o código acima e cole no editor do Arduino IDE
- Configure as credenciais do WiFi no código atualizando estas linhas:
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino UNO R4/DIYables STEM V4 IoT
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor. Ele deve ficar parecido com o abaixo
- Se você não vir nada, reinicie a placa Arduino.
- 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 Web Monitor e você verá a interface do app Web Monitor como abaixo:

- Você também pode acessar a página diretamente pelo endereço IP seguido de /web-monitor. Por exemplo: http://192.168.0.2/web-monitor
- Tente enviar comandos ao seu Arduino pela interface do web monitor e veja a saída serial do Arduino em tempo real.
Como Usar
Visualizando a Saída Serial
- Abra a interface do web monitor
- O Arduino envia mensagens de status automaticamente a cada 5 segundos
- Toda a saída de Serial.println() aparece no monitor
- As mensagens recebem o horário automaticamente
Enviando Comandos
- Digite os comandos no campo de entrada na parte inferior
- Pressione Enter ou clique no botão Send
- O Arduino processa o comando e responde
Comandos Integrados
O exemplo inclui estes comandos de demonstração:
Controle de LED
- "led on" → Liga o LED integrado
- "led off" → Desliga o LED integrado
- "led toggle" → Alterna o estado do LED
- "blink" → Pisca o LED 3 vezes
Comandos do Sistema
- "status" → Mostra o status e o tempo de atividade do Arduino
- "help" → Lista os comandos disponíveis
- "reset counter" → Zera o contador de mensagens
- "memory" → Mostra informações sobre a memória livre
Comandos de Depuração
- "test" → Envia uma mensagem de teste
- "echo [message]" → Devolve a sua mensagem
- "repeat [n] [message]" → Repete a mensagem n vezes
Recursos da Interface
Atalhos de Teclado
- Enter → Enviar comando
- Setas ↑/↓ → Navegar pelo histórico de comandos
- Ctrl+L → Limpar o monitor (se implementado)
- Ctrl+A → Selecionar todo o texto
Controles do Monitor
- Auto-scroll → Rola automaticamente até as novas mensagens
- Clear → Limpa a tela do monitor
- Copy → Copia o texto selecionado para a área de transferência
Personalização Criativa - Crie a Sua Ferramenta Avançada de Depuração
Expanda este exemplo de web monitor para criar uma interface poderosa de depuração e controle para os seus projetos! Adicione comandos personalizados, monitoramento de sensores e visualização de dados em tempo real para atender às suas necessidades criativas.
Estrutura do Código
Componentes Principais
- Servidor WebApp: Gerencia as conexões HTTP e WebSocket
- Página do Monitor: Fornece a interface web estilo terminal
- Tratador de Mensagens: Processa os comandos recebidos
- Ponte Serial: Encaminha a saída Serial para a interface web
Funções Principais
Adicionando Comandos Personalizados
Para adicionar novos comandos, modifique a função handleWebCommand:
Aplicações Práticas
Desenvolvimento e Depuração
Monitoramento Remoto do Sistema
Gerenciamento de Configuração
Recursos Avançados
Filtragem de Mensagens
Adicione tipos de mensagem e filtragem:
Análise de Comandos (Command Parsing)
Implemente uma análise de comandos mais sofisticada:
Registro de Dados (Data Logging)
Registre os dados do monitor em um cartão SD ou na EEPROM:
Solução de Problemas
Problemas Comuns
1. Sem saída no web monitor
- Verifique se Serial.begin() é chamado no setup()
- Confirme a conexão WebSocket (indicador de status verde)
- Verifique o console do navegador em busca de erros
2. Os comandos não funcionam
- Garanta que os comandos estejam exatamente como especificado
- Verifique a diferença entre maiúsculas e minúsculas nos comandos
- Procure as mensagens de resposta no monitor
3. A interface carrega devagar
- Verifique a intensidade do sinal WiFi
- Reduza a frequência das mensagens
- Limpe o cache do navegador
4. Desconexões do WebSocket
- Verifique a estabilidade da rede
- Reduza o tamanho das mensagens
- Implemente lógica de reconexão
Dicas de Depuração
Ative a depuração detalhada:
Monitore o status do WebSocket:
Considerações de Segurança
Validação de Comandos
Sempre valide os comandos recebidos:
Controle de Acesso
Implemente uma autenticação básica:
Exemplos de Integração
Sistema de Monitoramento de Sensores
Monitor de Automação Residencial
Arduino Uno R4 WebMonitor com DIYables WebApps
O código abaixo é uma adaptação do exemplo WebMonitor, e o resultado é mostrado no vídeo de demonstração abaixo:
Próximos Passos
Depois de dominar o exemplo WebMonitor, experimente:
- Chat - Para comunicação interativa
- DigitalPins - Para controlar saídas
- Slider - Para controle de valores analógicos
- MultipleWebApps - Combinando monitoramento com controle
Suporte
Para obter mais ajuda:
- Consulte a documentação de Referência da API
- Visite os tutoriais da DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Fóruns da comunidade Arduino