Описание
Используйте API chrome.serial для чтения и записи данных на устройство, подключенное к последовательному порту.
Разрешения
serialДоступность
Типы
ConnectionInfo
Характеристики
- битрейт
число необязательно
См.
ConnectionOptions.bitrate. Это поле может быть опущено или содержать неточные данные, если используется нестандартный битрейт или если при запросе к базовому устройству произошла ошибка. - размер буфера
число
См.
ConnectionOptions.bufferSize - connectionId
число
Идентификатор соединения последовательного порта.
- ctsFlowControl
логический необязательный
См.
ConnectionOptions.ctsFlowControl. Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка. - биты данных
DataBits (необязательно)
См.
ConnectionOptions.dataBits. Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка. - имя
нить
См.
ConnectionOptions.name - parityBit
ParityBit ( необязательно)
См.
ConnectionOptions.parityBit. Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка. - пауза
логический
Флаг, указывающий, заблокировано ли соединение для генерации событий onReceive.
- настойчивый
логический
См.
ConnectionOptions.persistent - receiveTimeout
число
См.
ConnectionOptions.receiveTimeout - sendTimeout
число
См.
ConnectionOptions.sendTimeout - стопБитс
Стопбиты (необязательно)
См.
ConnectionOptions.stopBits. Это поле может быть опущено, если при запросе к базовому устройству произошла ошибка.
ConnectionOptions
Характеристики
- битрейт
число необязательно
Запрашиваемая скорость передачи данных для открываемого соединения. Для обеспечения совместимости с максимально широким спектром оборудования это число должно соответствовать одному из распространенных значений скорости передачи данных, таких как 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Конечно, нет гарантии, что устройство, подключенное к последовательному порту, будет поддерживать запрашиваемую скорость передачи данных, даже если сам порт поддерживает эту скорость. По умолчанию будет передано значение
9600. - размер буфера
число необязательно
Размер буфера, используемого для приема данных. Значение по умолчанию — 4096.
- ctsFlowControl
логический необязательный
Флаг, указывающий, следует ли включать аппаратное управление потоком RTS/CTS. По умолчанию — false.
- биты данных
DataBits (необязательно)
"eight"будет передано по умолчанию. - имя
строка необязательный
Строка, определяемая приложением, которая будет связана с соединением.
- parityBit
ParityBit ( необязательно)
По умолчанию будет передано значение
"no". - настойчивый
логический необязательный
Флаг, указывающий, следует ли оставлять соединение открытым при приостановке работы приложения (см. раздел «Управление жизненным циклом приложения »). Значение по умолчанию — «false». При загрузке приложения любые последовательные соединения, ранее открытые с параметром persistent=true, можно получить с помощью
getConnections. - receiveTimeout
число необязательно
Максимальное время (в миллисекундах) ожидания новых данных перед возникновением события
onReceiveErrorс ошибкой "timeout". Если значение равно нулю, ошибки тайм-аута приема данных для данного соединения генерироваться не будут. Значение по умолчанию — 0. - sendTimeout
число необязательно
Максимальное время (в миллисекундах), в течение которого следует ожидать завершения операции
sendперед вызовом функции обратного вызова с ошибкой "timeout". Если значение равно нулю, ошибки "timeout" при отправке не будут срабатывать. Значение по умолчанию — 0. - стопБитс
Стопбиты (необязательно)
По умолчанию будет передано значение
"one".
DataBits
Перечисление
"Семь" "восемь"
DeviceControlSignals
Характеристики
- cts
логический
CTS (Clear To Send — Разрешена отправка).
- дкд
логический
DCD (обнаружение несущей данных) или RLSD (обнаружение сигнала приемной линии).
- дср
логический
DSR (Data Set Ready).
- ри
логический
RI (кольцевой индикатор).
DeviceInfo
Характеристики
- отображаемое имя
строка необязательный
Удобочитаемое отображаемое имя базового устройства, если таковое можно получить от драйвера хоста.
- путь
нить
Системный путь устройства. Его следует передать в качестве аргумента
pathchrome.serial.connectдля подключения к этому устройству. - продуктId
число необязательно
Если для данного устройства можно определить идентификатор продукта USB, это будет его идентификатор.
- vendorId
число необязательно
Идентификатор производителя PCI или USB, если таковой может быть определен для базового устройства.
HostControlSignals
Характеристики
- дтр
логический необязательный
DTR (Data Terminal Ready — готовность терминала данных).
- ртс
логический необязательный
RTS (Запрос на отправку).
ParityBit
Перечисление
"нет" "странный" "даже"
ReceiveError
Перечисление
«отключен» "тайм-аут" "device_lost" "перерыв" "frame_error" "перегрузка" "переполнение буфера" "parity_error" "system_error"
Соединение было разорвано.
Данные за время receiveTimeout в миллисекундах не получены.
Вероятнее всего, устройство было отключено от хоста.
Устройство обнаружило повреждение.
Устройство обнаружило ошибку кадрирования.
Произошло переполнение буфера символов. Следующий символ потерян.
Произошло переполнение входного буфера. Либо в буфере ввода нет места, либо после символа конца файла (EOF) был получен символ.
Устройство обнаружило ошибку четности.
Произошла системная ошибка, и соединение может быть невосстановимым.
ReceiveErrorInfo
Характеристики
- connectionId
число
Идентификатор соединения.
- ошибка
Код ошибки, указывающий на причину неполадки.
ReceiveInfo
Характеристики
- connectionId
число
Идентификатор соединения.
- данные
ArrayBuffer
Полученные данные.
SendError
Перечисление
«отключен» "в ожидании" "тайм-аут" "system_error"
Соединение было разорвано.
Уже была отправлена операция, ожидающая подтверждения.
Время отправки истекло.
Произошла системная ошибка, и соединение может быть невосстановимым.
SendInfo
Характеристики
- байтыОтправлено
число
Количество отправленных байтов.
- ошибка
SendError ( необязательно)
Код ошибки, если произошла ошибка.
StopBits
Перечисление
"один" "два"
Методы
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Восстановить передачу символов по заданному соединению и перевести линию передачи в состояние без обрыва.
Параметры
- connectionId
число
Идентификатор соединения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
Подключается к заданному последовательному порту.
Параметры
- путь
нить
Системный путь к открываемому последовательному порту.
- параметры
ConnectionOptions ( необязательно)
Параметры конфигурации порта.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(connectionInfo: ConnectionInfo) => void
- connectionInfo
Возвраты
Promise <ConnectionInfo>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Отключается от последовательного порта.
Параметры
- connectionId
число
Идентификатор открытого соединения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
Очищает все байты во входном и выходном буферах данного соединения.
Параметры
- connectionId
число
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
Получает список открытых в данный момент соединений последовательного порта, принадлежащих приложению.
Параметры
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(connectionInfos: ConnectionInfo[]) => void
- connectionInfos
Возвраты
Promise< ConnectionInfo []>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Получает состояние управляющих сигналов в заданном соединении.
Параметры
- connectionId
число
Идентификатор соединения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(signals: DeviceControlSignals) => void
- сигналы
Возвраты
Promise< DeviceControlSignals >
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
Возвращает информацию о доступных в системе последовательных устройствах. Список обновляется при каждом вызове этого метода.
Параметры
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(ports: DeviceInfo[]) => void
- порты
Возвраты
Promise< DeviceInfo []>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Получает состояние заданного соединения.
Параметры
- connectionId
число
Идентификатор открытого соединения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(connectionInfo: ConnectionInfo) => void
- connectionInfo
Возвраты
Promise <ConnectionInfo>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Записывает данные в указанное соединение.
Параметры
- connectionId
число
Идентификатор соединения.
- данные
ArrayBuffer
Данные для отправки.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(sendInfo: SendInfo) => void
- sendInfo
Возвраты
Promise< SendInfo >
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Приостанавливает передачу символов по заданному соединению и переводит линию передачи в состояние разрыва до вызова функции clearBreak.
Параметры
- connectionId
число
Идентификатор соединения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
Устанавливает состояние управляющих сигналов на данном соединении.
Параметры
- connectionId
число
Идентификатор соединения.
- сигналы
Набор изменений сигналов для отправки на устройство.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Приостанавливает или возобновляет открытое соединение.
Параметры
- connectionId
число
Идентификатор открытого соединения.
- пауза
логический
Флажок, указывающий, следует ли приостановить или возобновить работу.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:() => void
Возвраты
Обещание<пустота>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
Обновите параметры подключения через открытый последовательный порт.
Параметры
- connectionId
число
Идентификатор открытого соединения.
- параметры
Параметры конфигурации порта.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(result: boolean) => void
- результат
логический
Возвраты
Promise<boolean>
Chrome 117+Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.
События
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Событие генерируется при считывании данных из соединения.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(info: ReceiveInfo) => void
- информация
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Событие генерируется, когда во время ожидания данных на последовательном порту происходит ошибка в среде выполнения. После генерации этого события соединение может быть paused . Ошибка "timeout" не приостанавливает соединение.
Параметры
- перезвонить
функция
Параметр
callbackвыглядит следующим образом:(info: ReceiveErrorInfo) => void
- информация