CoderTools

Онлайн-отладчик последовательного порта

Браузерный инструмент отладки последовательного порта - не требует загрузки, мониторинг в реальном времени через Web Serial API

Подключение

Статус: Отключено

Монитор данных

Отправить данные

Интервал (мс):

Статистика

0
Байт отправлено
0
Байт получено
00:00:00
Время подключения
0
Скорость передачи данных (Б/с)

Документация отладчика последовательного порта

Как использовать этот инструмент

  1. Подключите последовательное устройство к компьютеру
  2. Настройте параметры подключения (скорость передачи, биты данных, четность, стоп-биты)
  3. Нажмите "Подключить" для установления последовательного соединения
  4. Отслеживайте получаемые данные в реальном времени
  5. Отправляйте данные в текстовом формате или формате HEX
  6. Используйте историю отправки для повторения предыдущих команд
  7. Просматривайте статистику подключения и скорость передачи данных

Параметры подключения

Скорость передачи
Скорость передачи данных (бит в секунду)
Биты данных
Количество битов на кадр данных (5-8)
Четность
Метод обнаружения ошибок (Нет, Четная, Нечетная)
Стоп-биты
Индикаторы конца кадра (1 или 2)

Принципы реализации

Этот инструмент реализован с использованием Web Serial API, современного интерфейса браузера, который позволяет веб-приложениям напрямую взаимодействовать с последовательными устройствами. Ниже приведены основные детали реализации:

Основной API: Web Serial API

Инструмент построен на основе Web Serial API, который предоставляет JavaScript-интерфейсы для доступа к последовательным портам через браузер.

Основные функции:

  • Собственный доступ браузера к последовательному порту без установки драйверов или плагинов
  • Поддержка нескольких конфигураций последовательного порта (скорость передачи, биты данных, четность, стоповые биты, управление потоком)
  • Двунаправленная передача данных с использованием Readable/Writable Streams
  • Асинхронные операции на основе Promises и async/await

Шаги реализации

1. Запрос доступа к последовательному порту
const port = await navigator.serial.requestPort();

Используйте navigator.serial.requestPort(), чтобы попросить пользователя выбрать устройство последовательного порта. Это требует взаимодействия с пользователем для обеспечения безопасности.

2. Настройка и открытие порта
await port.open({
  baudRate: 9600,
  dataBits: 8,
  parity: 'none',
  stopBits: 1,
  flowControl: 'none'
});

Вызовите метод port.open() с параметрами конфигурации, включая скорость передачи, биты данных, четность, стоповые биты и управление потоком.

3. Чтение данных
const reader = port.readable.getReader();
while (true) {
  const { value, done } = await reader.read();
  if (done) break;
  // Обработка полученных данных (Uint8Array)
  const text = new TextDecoder().decode(value);
}

Получите reader из port.readable и используйте асинхронный цикл для непрерывного чтения данных. Полученные данные находятся в формате Uint8Array и должны быть декодированы с помощью TextDecoder.

4. Отправка данных
const writer = port.writable.getWriter();
const encoder = new TextEncoder();
const data = encoder.encode('Hello Serial!');
await writer.write(data);

Получите writer из port.writable, используйте TextEncoder для преобразования строк в Uint8Array, затем вызовите writer.write() для отправки данных.

5. Закрытие соединения
await reader.cancel();
await reader.releaseLock();
await writer.releaseLock();
await port.close();

Перед закрытием освободите блокировки reader и writer, затем вызовите port.close() для закрытия соединения с последовательным портом.

Используемые ключевые API

  • navigator.serial.requestPort() - Запрос у пользователя выбора последовательного порта
  • port.open(options) - Открытие последовательного порта с конфигурацией
  • port.readable.getReader() - Получение reader потока чтения
  • port.writable.getWriter() - Получение writer потока записи
  • reader.read() - Чтение данных из последовательного порта
  • writer.write(data) - Запись данных в последовательный порт
  • TextDecoder / TextEncoder - Преобразование между строками и массивами байтов
  • port.addEventListener('disconnect') - Прослушивание событий отключения устройства

Справочная информация официальной документации

Ключевые возможности

Web Serial API

Прямой доступ браузера к последовательным портам без дополнительного программного обеспечения

Мониторинг в реальном времени

Мониторинг данных в реальном времени с поддержкой временных меток и автопрокрутки

Режим HEX

Отправка и получение данных в шестнадцатеричном формате с проверкой

История отправки

Отслеживание и повтор ранее отправленных команд

Статистика

Мониторинг скорости передачи данных и времени подключения

Многоязычность

Поддержка китайского, английского, японского, французского и испанского языков

Распространенные случаи использования

Разработка и отладка

  • Разработка Arduino и ESP32
  • Отладка встраиваемых систем
  • Разработка и тестирование прошивки
  • Настройка устройств IoT

Тестирование и связь

  • Тестирование AT-команд для модемов
  • Мониторинг данных датчиков
  • Анализ и отладка протоколов
  • Связь с промышленными устройствами

Поддержка браузеров и требования

Поддерживаемые браузеры

  • Chrome 89+
  • Edge 89+
  • Firefox (не поддерживается)
  • Safari (не поддерживается)

Требования

  • Браузер на основе Chromium с поддержкой Web Serial API
  • HTTPS-соединение (требуется для Web Serial API)
  • Разрешение пользователя на доступ к последовательным портам
  • Установлены совместимые драйверы последовательных устройств

Связанные стандарты и спецификации

RS-232: RS-232: Классический стандарт последовательной связи, определяющий электрические характеристики и спецификации разъемов
UART: UART: Универсальный асинхронный приемопередатчик, основной протокол для последовательной связи
USB-to-Serial: USB-в-последовательный: Распространенный метод последовательного преобразования в современных устройствах

Для получения дополнительной информации: Документация стандартов протокола RS-232 и UART в Википедии

Быстрое меню

Нет недавних инструментов