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