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