Depurador de puerto serie en línea
Herramienta de depuración serie basada en navegador - sin descarga requerida, monitoreo en tiempo real vía Web Serial API
Conexión
Monitor de datos
Enviar datos
Historial de envío
Estadísticas
Documentación del Depurador de Puerto Serie
Cómo usar esta herramienta
- Conecte su dispositivo serie a la computadora
- Configure los parámetros de conexión (velocidad en baudios, bits de datos, paridad, bits de parada)
- Haga clic en "Conectar" para establecer la conexión serie
- Monitoree los datos recibidos en tiempo real
- Envíe datos en formato texto o HEX
- Use el historial de envío para repetir comandos anteriores
- Vea las estadísticas de conexión y la velocidad de datos
Parámetros de conexión
Principios de implementación
Esta herramienta está implementada utilizando la API Web Serial, una interfaz de navegador moderna que permite a las aplicaciones web comunicarse directamente con dispositivos serie. A continuación se detallan los detalles de implementación principales:
API principal: Web Serial API
La herramienta está construida sobre la API Web Serial, que proporciona interfaces JavaScript para acceder a puertos serie a través del navegador.
Características principales:
- Acceso nativo al puerto serie del navegador sin instalar controladores o complementos
- Admite múltiples configuraciones de puerto serie (velocidad en baudios, bits de datos, paridad, bits de parada, control de flujo)
- Comunicación de datos bidireccional usando Readable/Writable Streams
- Operaciones asíncronas basadas en Promises y async/await
Pasos de implementación
1. Solicitar acceso al puerto serie
const port = await navigator.serial.requestPort();
Use navigator.serial.requestPort() para solicitar al usuario que seleccione un dispositivo de puerto serie. Esto requiere interacción del usuario para garantizar la seguridad.
2. Configurar y abrir el puerto
await port.open({
baudRate: 9600,
dataBits: 8,
parity: 'none',
stopBits: 1,
flowControl: 'none'
});
Llame al método port.open() con parámetros de configuración que incluyen velocidad en baudios, bits de datos, paridad, bits de parada y control de flujo.
3. Leer datos
const reader = port.readable.getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
// Procesar datos recibidos (Uint8Array)
const text = new TextDecoder().decode(value);
}
Obtenga un reader de port.readable y use un bucle asíncrono para leer datos continuamente. Los datos recibidos están en formato Uint8Array y deben decodificarse usando TextDecoder.
4. Enviar datos
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);
Obtenga un writer de port.writable, use TextEncoder para convertir cadenas a Uint8Array, luego llame a writer.write() para enviar datos.
5. Cerrar la conexión
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();
Antes de cerrar, libere los bloqueos del reader y writer, luego llame a port.close() para cerrar la conexión del puerto serie.
APIs clave utilizadas
-
navigator.serial.requestPort() - Solicitar al usuario que seleccione un puerto serie -
port.open(options) - Abrir puerto serie con configuración -
port.readable.getReader() - Obtener reader del flujo de lectura -
port.writable.getWriter() - Obtener writer del flujo de escritura -
reader.read() - Leer datos del puerto serie -
writer.write(data) - Escribir datos en el puerto serie -
TextDecoder / TextEncoder - Convertir entre cadenas y matrices de bytes -
port.addEventListener('disconnect') - Escuchar eventos de desconexión del dispositivo
Referencia de documentación oficial
Características principales
API Web Serial
Acceso directo a puertos serie desde el navegador sin software adicional
Monitoreo en tiempo real
Monitoreo de datos en vivo con marca de tiempo y desplazamiento automático
Modo HEX
Envío y recepción de datos en formato hexadecimal con validación
Historial de envío
Seguimiento y repetición de comandos enviados anteriormente
Estadísticas
Monitoreo de tasas de transmisión de datos y tiempo de conexión
Multiidioma
Soporte para chino, inglés, japonés, francés y español
Casos de uso comunes
Desarrollo y depuración
- Desarrollo con Arduino y ESP32
- Depuración de sistemas embebidos
- Desarrollo y prueba de firmware
- Configuración de dispositivos IoT
Pruebas y comunicación
- Pruebas de comandos AT para módems
- Monitoreo de datos de sensores
- Análisis de protocolos y depuración
- Comunicación con dispositivos industriales
Soporte de navegador y requisitos
Navegadores soportados
- Chrome 89+
- Edge 89+
- Firefox (no soportado)
- Safari (no soportado)
Requisitos
- Navegador basado en Chromium con soporte de API Web Serial
- Conexión HTTPS (requerida para API Web Serial)
- Permiso de usuario para acceder a puertos serie
- Controladores de dispositivos serie compatibles instalados
Estándares y especificaciones relacionados
Para más información: Documentación de estándares de protocolo Wikipedia RS-232, UART
Herramientas Relacionadas
Calculadora de CRC
Calcular sumas de verificación CRC-8, CRC-16, CRC-32, CRC-64 con soporte para Modbus, CCITT y otros estándares de protocolo
Convertidor de Base
Convertir entre sistemas binario, octal, decimal y hexadecimal con soporte de bases personalizadas (2-36)
Conversor de marca de tiempo
Convertir entre marcas de tiempo Unix y fechas/horas legibles
Kit de Herramientas de Texto
Kit completo de manipulación de texto con contador de palabras, extracción de datos, dividir/unir, filtro de líneas, operaciones de prefijo/sufijo
Convertidor de Juego de Caracteres
Convertir codificación de texto entre UTF-8, GBK, Big5, Shift_JIS, ISO-8859, páginas de códigos Windows con detección automática
Probador de expresiones regulares
Pruebe y depure expresiones regulares con resultados de coincidencia instantáneos