Depurador de Porta Serial Online
Ferramenta de depuração serial baseada em navegador - sem necessidade de download, monitoramento em tempo real via Web Serial API
Conexão
Monitor de Dados
Enviar Dados
Histórico de Envio
Estatísticas
Documentação do Depurador de Porta Serial
Como Usar Esta Ferramenta
- Conecte seu dispositivo serial ao computador
- Configure os parâmetros de conexão (taxa de baud, bits de dados, paridade, bits de parada)
- Clique em "Conectar" para estabelecer conexão serial
- Monitore os dados recebidos em tempo real
- Envie dados em formato de texto ou HEX
- Use o histórico de envio para repetir comandos anteriores
- Visualize estatísticas de conexão e taxa de dados
Parâmetros de Conexão
Princípios de implementação
Esta ferramenta é implementada usando a API Web Serial, uma interface de navegador moderna que permite que aplicações web se comuniquem diretamente com dispositivos seriais. Abaixo estão os detalhes principais de implementação:
API principal: Web Serial API
A ferramenta é construída sobre a API Web Serial, que fornece interfaces JavaScript para acessar portas seriais através do navegador.
Recursos principais:
- Acesso nativo à porta serial do navegador sem instalar drivers ou plugins
- Suporta múltiplas configurações de porta serial (taxa de transmissão, bits de dados, paridade, bits de parada, controle de fluxo)
- Comunicação de dados bidirecional usando Readable/Writable Streams
- Operações assíncronas baseadas em Promises e async/await
Etapas de implementação
1. Solicitar acesso à porta serial
const port = await navigator.serial.requestPort();
Use navigator.serial.requestPort() para solicitar ao usuário que selecione um dispositivo de porta serial. Isso requer interação do usuário para garantir segurança.
2. Configurar e abrir a porta
await port.open({
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: 'none'
});
Chame o método port.open() com parâmetros de configuração incluindo taxa de transmissão, bits de dados, paridade, bits de parada e controle de fluxo.
3. Ler dados
const reader = port.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
// Processar dados recebidos (Uint8Array)
const text = new TextDecoder().decode(value);
}
Obtenha um reader de port.readable e use um loop assíncrono para ler dados continuamente. Os dados recebidos estão no formato Uint8Array e precisam ser decodificados usando TextDecoder.
4. Enviar dados
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);
Obtenha um writer de port.writable, use TextEncoder para converter strings em Uint8Array, depois chame writer.write() para enviar dados.
5. Fechar conexão
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();
Antes de fechar, libere os bloqueios do reader e writer, depois chame port.close() para fechar a conexão da porta serial.
APIs principais usadas
-
navigator.serial.requestPort() - Solicitar ao usuário que selecione uma porta serial -
port.open(options) - Abrir porta serial com configuração -
port.readable.getReader() - Obter reader do fluxo de leitura -
port.writable.getWriter() - Obter writer do fluxo de escrita -
reader.read() - Ler dados da porta serial -
writer.write(data) - Escrever dados na porta serial -
TextDecoder / TextEncoder - Converter entre strings e arrays de bytes -
port.addEventListener('disconnect') - Ouvir eventos de desconexão do dispositivo
Referência de documentação oficial
Recursos Principais
Web Serial API
Acesso direto do navegador às portas seriais sem software adicional
Monitoramento em Tempo Real
Monitoramento de dados ao vivo com suporte a carimbo de tempo e rolagem automática
Modo HEX
Envie e receba dados em formato hexadecimal com validação
Histórico de Envio
Rastreie e reproduza comandos enviados anteriormente
Estatísticas
Monitore taxas de transmissão de dados e tempo de conexão
Multi-idioma
Suporte para chinês, inglês, japonês, francês e espanhol
Casos de Uso Comuns
Desenvolvimento e Depuração
- Desenvolvimento Arduino e ESP32
- Depuração de sistemas embarcados
- Desenvolvimento e teste de firmware
- Configuração de dispositivos IoT
Teste e Comunicação
- Teste de comandos AT para modems
- Monitoramento de dados de sensores
- Análise e depuração de protocolos
- Comunicação com dispositivos industriais
Suporte de Navegador e Requisitos
Navegadores Suportados
- Chrome 89+
- Edge 89+
- Firefox (não suportado)
- Safari (não suportado)
Requisitos
- Navegador baseado em Chromium com suporte à Web Serial API
- Conexão HTTPS (necessária para Web Serial API)
- Permissão do usuário para acessar portas seriais
- Drivers de dispositivos seriais compatíveis instalados
Padrões e Especificações Relacionados
Para mais informações: Documentação de Padrões de Protocolo RS-232 e UART na Wikipedia
Ferramentas Relacionadas
Calculadora CRC
Calcule checksums CRC-8, CRC-16, CRC-32, CRC-64 com suporte para Modbus, CCITT e outros padrões de protocolo
Conversor de Base
Converter entre sistemas binário, octal, decimal e hexadecimal com suporte para bases personalizadas (2-36)
Conversor de Timestamp
Converta entre timestamps Unix e data/hora legível por humanos
Kit de Ferramentas de Texto
Kit de ferramentas abrangente de manipulação de texto com contador de palavras, extração de dados, dividir/juntar, filtro de linha, operações de prefixo/sufixo
Conversor de Conjunto de Caracteres
Converta codificação de texto entre UTF-8, GBK, Big5, Shift_JIS, ISO-8859, páginas de código Windows com detecção automática
Testador Regex
Teste e depure expressões regulares com resultados de correspondência instantâneos