CoderTools

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

Status: Desconectado

Monitor de Dados

Enviar Dados

Intervalo (ms):

Estatísticas

0
Bytes Enviados
0
Bytes Recebidos
00:00:00
Tempo de Conexão
0
Taxa de Dados (B/s)

Documentação do Depurador de Porta Serial

Como Usar Esta Ferramenta

  1. Conecte seu dispositivo serial ao computador
  2. Configure os parâmetros de conexão (taxa de baud, bits de dados, paridade, bits de parada)
  3. Clique em "Conectar" para estabelecer conexão serial
  4. Monitore os dados recebidos em tempo real
  5. Envie dados em formato de texto ou HEX
  6. Use o histórico de envio para repetir comandos anteriores
  7. Visualize estatísticas de conexão e taxa de dados

Parâmetros de Conexão

Taxa de Baud
Velocidade de transmissão de dados (bits por segundo)
Bits de Dados
Número de bits por quadro de dados (5-8)
Paridade
Método de detecção de erros (Nenhuma, Par, Ímpar)
Bits de Parada
Indicadores de fim de quadro (1 ou 2)

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

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

RS-232: RS-232: Padrão clássico de comunicação serial definindo características elétricas e especificações de conectores
UART: UART: Receptor-Transmissor Assíncrono Universal, o protocolo central para comunicação serial
USB-to-Serial: USB-para-Serial: Método comum de conversão serial em dispositivos modernos

Para mais informações: Documentação de Padrões de Protocolo RS-232 e UART na Wikipedia

Menu Rápido

Nenhuma ferramenta recente