Описание
 Используйте API chrome.serial для чтения и записи данных на устройство, подключенное к последовательному порту.
Разрешения
serial Типы
ConnectionInfo
Характеристики
- битрейтномер необязательно См. ConnectionOptions.bitrate. Это поле может быть пропущено или содержать неточные данные, если используется нестандартный битрейт или произошла ошибка при запросе базового устройства.
- Размер буферачисло См. ConnectionOptions.bufferSize
- connectionIdчисло Идентификатор соединения последовательного порта. 
- ctsFlowControlлогическое необязательное См. ConnectionOptions.ctsFlowControl. Это поле может быть пропущено, если при запросе базового устройства произошла ошибка.
- dataBitsDataBits необязательный См. ConnectionOptions.dataBits. Это поле может быть пропущено, если при запросе базового устройства произошла ошибка.
- имянить См. ConnectionOptions.name
- parityBitParityBit необязательный См. ConnectionOptions.parityBit. Это поле может быть пропущено, если при запросе базового устройства произошла ошибка.
- приостановленобулев Флаг, указывающий, заблокировано ли соединение от возникновения событий onReceive. 
- настойчивыйбулев См. ConnectionOptions.persistent
- receiveTimeoutчисло См. ConnectionOptions.receiveTimeout
- sendTimeoutчисло См. ConnectionOptions.sendTimeout
- stopBitsStopBits опционально См. ConnectionOptions.stopBits. Это поле может быть пропущено, если при запросе базового устройства произошла ошибка.
ConnectionOptions
Характеристики
- битрейтномер необязательно Запрашиваемый битрейт открываемого соединения. Для совместимости с максимально широким спектром оборудования это число должно соответствовать одному из распространённых значений битрейта, например, 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Конечно, нет гарантии, что устройство, подключенное к последовательному порту, будет поддерживать запрошенный битрейт, даже если сам порт его поддерживает. По умолчанию будет передано значение 9600.
- Размер буфераномер необязательно Размер буфера, используемого для получения данных. Значение по умолчанию — 4096. 
- ctsFlowControlлогическое необязательное Флаг, указывающий, следует ли включить аппаратное управление потоком RTS/CTS. Значение по умолчанию — false. 
- dataBitsDataBits необязательный По умолчанию будет передано "eight".
- имястрока необязательная Определенная приложением строка для связи с соединением. 
- parityBitParityBit необязательный По умолчанию будет передано "no".
- настойчивыйлогическое необязательное Флаг, указывающий, следует ли оставлять соединение открытым при приостановке приложения (см. раздел Управление жизненным циклом приложения ). Значение по умолчанию — «false». При загрузке приложения все последовательные соединения, ранее открытые с параметром persistent=true, можно получить с помощью getConnections.
- receiveTimeoutномер необязательно Максимальное время (в миллисекундах) ожидания новых данных до вызова события onReceiveErrorс ошибкой «timeout». Если равно нулю, ошибки тайм-аута для соединения не будут возникать. Значение по умолчанию — 0.
- sendTimeoutномер необязательно Максимальное время (в миллисекундах) ожидания завершения операции sendперед вызовом функции обратного вызова с ошибкой «timeout». Если равно нулю, ошибки тайм-аута отправки не будут возникать. Значение по умолчанию — 0.
- stopBitsStopBits опционально По умолчанию будет передано "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 - информация