chrome.serial

Descripción

Usa la API de chrome.serial para leer y escribir en un dispositivo conectado a un puerto en serie.

Permisos

serial

Tipos

ConnectionInfo

Propiedades

  • bitrate

    número opcional

    Consulta los ConnectionOptions.bitrate. Este campo puede omitirse o ser inexacto si se utiliza una tasa de bits no estándar o si se produjo un error mientras se realizaba una consulta en el dispositivo subyacente.

  • bufferSize

    número

    Consulta ConnectionOptions.bufferSize

  • connectionId

    número

    El ID de la conexión del puerto en serie.

  • ctsFlowControl

    booleano opcional

    Consulta los ConnectionOptions.ctsFlowControl. Este campo puede omitirse si se produjo un error mientras se consultaba el dispositivo subyacente.

  • dataBits

    DataBits opcional

    Consulta los ConnectionOptions.dataBits. Este campo puede omitirse si se produjo un error mientras se consultaba el dispositivo subyacente.

  • name

    cadena

    Consulta ConnectionOptions.name

  • parityBit

    ParityBit opcional

    Consulta los ConnectionOptions.parityBit. Este campo puede omitirse si se produjo un error mientras se consultaba el dispositivo subyacente.

  • detenido

    boolean

    Marca que indica si la conexión está bloqueada y no puede activar eventos onReceive.

  • persistentes

    boolean

    Consulta ConnectionOptions.persistent

  • receiveTimeout

    número

    Consulta ConnectionOptions.receiveTimeout

  • sendTimeout

    número

    Consulta ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcional

    Consulta los ConnectionOptions.stopBits. Este campo puede omitirse si se produjo un error mientras se consultaba el dispositivo subyacente.

ConnectionOptions

Propiedades

  • bitrate

    número opcional

    La tasa de bits solicitada de la conexión que se abrirá. Para brindar compatibilidad con el rango más amplio de hardware, este número debe coincidir con una de las tasas de bits disponibles comúnmente, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600 y 115200. Por supuesto, no se garantiza que el dispositivo conectado al puerto en serie sea compatible con la tasa de bits solicitada, incluso si el puerto en sí admite esa tasa de bits. 9600 se pasará de forma predeterminada.

  • bufferSize

    número opcional

    Es el tamaño del búfer que se usa para recibir los datos. El valor predeterminado es 4,096.

  • ctsFlowControl

    booleano opcional

    Marca que indica si se habilita o no el control de flujo de hardware de RTS/CTS. La configuración predeterminada es "false".

  • dataBits

    DataBits opcional

    "eight" se pasará de forma predeterminada.

  • name

    cadena opcional

    Una string definida por la aplicación para asociar con la conexión.

  • parityBit

    ParityBit opcional

    "no" se pasará de forma predeterminada.

  • persistentes

    booleano opcional

    Marca que indica si la conexión debe dejarse abierta o no cuando se suspende la aplicación (consulta Cómo administrar el ciclo de vida de las apps). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier conexión en serie que se abriera anteriormente con Persistent=true se puede recuperar con getConnections.

  • receiveTimeout

    número opcional

    La cantidad máxima de tiempo (en milisegundos) que se debe esperar para recibir datos nuevos antes de generar un evento onReceiveError con un error de "tiempo de espera". Si es cero, no se generarán errores de tiempo de espera de recepción para la conexión. La configuración predeterminada es 0.

  • sendTimeout

    número opcional

    La cantidad máxima de tiempo (en milisegundos) que se debe esperar para que se complete una operación send antes de llamar a la devolución de llamada con un error de "tiempo de espera". Si es cero, no se activarán los errores de tiempo de espera de envío. La configuración predeterminada es 0.

  • stopBits

    StopBits opcional

    "one" se pasará de forma predeterminada.

DataBits

Enum

"seven"

DeviceControlSignals

Propiedades

  • cts

    boolean

    CTS (Borrar para enviar).

  • DCD

    boolean

    DCD (Detección de proveedor de datos) o RLSD (Detección/ Señal de línea)

  • DSR

    boolean

    DSR (conjunto de datos listo).

  • R

    boolean

    RI (indicador de tono).

DeviceInfo

Propiedades

  • displayName

    cadena opcional

    Un nombre visible legible para el dispositivo subyacente si se puede consultar uno desde el controlador de host.

  • ruta de acceso

    cadena

    La ruta del sistema del dispositivo. Se debe pasar como el argumento path a chrome.serial.connect para establecer una conexión con este dispositivo.

  • productId

    número opcional

    Un ID del producto USB, si se puede determinar uno para el dispositivo subyacente

  • vendorId

    número opcional

    Un ID del proveedor PCI o USB, si se puede determinar uno para el dispositivo subyacente

HostControlSignals

Propiedades

  • dtr

    booleano opcional

    DTR (terminal de datos lista).

  • RT

    booleano opcional

    RTS (solicitud de envío).

ParityBit

Enum

ReceiveError

Enum

"disconnected"
Se desconectó la conexión.

"timeout"
No se recibieron datos durante receiveTimeout milisegundos.

"device_lost"
Lo más probable es que el dispositivo se haya desconectado del host.

"break"
El dispositivo detectó una condición de pausa.

"frame_error"
El dispositivo detectó un error de encuadre.

"overrun"
Se produjo un exceso del búfer de caracteres. El próximo carácter se pierde.

"buffer_overflow"
Se produjo un desbordamiento del búfer de entrada. No hay espacio en el búfer de entrada o se recibió un carácter después del carácter de final de archivo (EOF).

"parity_error"
El dispositivo detectó un error de paridad.

"system_error"
Se produjo un error del sistema y es posible que la conexión no se pueda recuperar.

ReceiveErrorInfo

Propiedades

  • connectionId

    número

    Es el identificador de conexión.

  • error

    Un código de error que indica qué salió mal.

ReceiveInfo

Propiedades

  • connectionId

    número

    Es el identificador de conexión.

  • datos

    ArrayBuffer

    Los datos recibidos

SendError

Enum

"disconnected"
Se desconectó la conexión.

"pending"
Ya había un envío pendiente.

"timeout"
Se agotó el tiempo de espera del envío.

"system_error"
Se produjo un error del sistema y es posible que la conexión no se pueda recuperar.

SendInfo

Propiedades

  • bytesSent

    número

    La cantidad de bytes enviados.

  • error

    SendError opcional

    Un código de error si se produjo un error

StopBits

Enum

Métodos

clearBreak()

Promesa Chrome 45 y versiones posteriores
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)

Restablece la transmisión de caracteres en una conexión determinada y coloca la línea de transmisión en un estado de no separación.

Parámetros

  • connectionId

    número

    El ID de la conexión.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

connect()

Promesa
chrome.serial.connect(
  path: string,
  options?: ConnectionOptions,
  callback?: function,
)

Se conecta a un puerto en serie determinado.

Parámetros

  • ruta de acceso

    cadena

    Es la ruta de acceso del sistema del puerto en serie que se debe abrir.

  • Opciones

    Opciones de configuración de puertos.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (connectionInfo: ConnectionInfo)=>void

Devuelve

  • Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

disconnect()

Promesa
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)

Se desconecta de un puerto en serie.

Parámetros

  • connectionId

    número

    El ID de la conexión abierta.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

flush()

Promesa
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)

Vacía todos los bytes en los búferes de entrada y salida de la conexión determinada.

Parámetros

  • connectionId

    número

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getConnections()

Promesa
chrome.serial.getConnections(
  callback?: function,
)

Recupera la lista de conexiones de puertos en serie abiertas actualmente que son propiedad de la aplicación.

Parámetros

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (connectionInfos: ConnectionInfo[])=>void

Devuelve

  • Promise<ConnectionInfo[]>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getControlSignals()

Promesa
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

Recupera el estado de las señales de control en una conexión determinada.

Parámetros

Devuelve

  • Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getDevices()

Promesa
chrome.serial.getDevices(
  callback?: function,
)

Devuelve información sobre los dispositivos en serie disponibles en el sistema. La lista se vuelve a generar cada vez que se llama a este método.

Parámetros

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (ports: DeviceInfo[])=>void

Devuelve

  • Promise<DeviceInfo[]>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

getInfo()

Promesa
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)

Recupera el estado de una conexión determinada.

Parámetros

  • connectionId

    número

    El ID de la conexión abierta.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (connectionInfo: ConnectionInfo)=>void

Devuelve

  • Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

send()

Promesa
chrome.serial.send(
  connectionId: number,
  data: ArrayBuffer,
  callback?: function,
)

Escribe datos en la conexión determinada.

Parámetros

  • connectionId

    número

    El ID de la conexión.

  • datos

    ArrayBuffer

    Los datos que se enviarán.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (sendInfo: SendInfo)=>void

Devuelve

  • Promise<SendInfo>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

setBreak()

Promesa Chrome 45 y versiones posteriores
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)

Suspende la transmisión de caracteres en una conexión determinada y coloca la línea de transmisión en un estado de interrupción hasta que se llame a clearBreak.

Parámetros

  • connectionId

    número

    El ID de la conexión.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

setControlSignals()

Promesa
chrome.serial.setControlSignals(
  connectionId: number,
  signals: HostControlSignals,
  callback?: function,
)

Establece el estado de las señales de control en una conexión determinada.

Parámetros

  • connectionId

    número

    El ID de la conexión.

  • indicadores

    El conjunto de indicadores cambia para enviar al dispositivo.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

setPaused()

Promesa
chrome.serial.setPaused(
  connectionId: number,
  paused: boolean,
  callback?: function,
)

Pausa o reanuda una conexión abierta.

Parámetros

  • connectionId

    número

    El ID de la conexión abierta.

  • detenido

    boolean

    Marca para indicar si se debe pausar o reanudar

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    ()=>void

Devuelve

  • Promise<void>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

update()

Promesa
chrome.serial.update(
  connectionId: number,
  options: ConnectionOptions,
  callback?: function,
)

Actualiza la configuración de opciones en una conexión de puerto en serie abierta.

Parámetros

  • connectionId

    número

    El ID de la conexión abierta.

  • Opciones de configuración de puertos.

  • callback

    Función opcional

    El parámetro callback se ve de la siguiente manera:

    (result: boolean)=>void

    • resultado

      boolean

Devuelve

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

Eventos

onReceive

chrome.serial.onReceive.addListener(
  callback: function,
)

Se generó un evento cuando se leyeron datos de la conexión.

Parámetros

  • callback

    la función

    El parámetro callback se ve de la siguiente manera:

    (info: ReceiveInfo)=>void

onReceiveError

chrome.serial.onReceiveError.addListener(
  callback: function,
)

Se generó un evento cuando se produjo un error mientras el entorno de ejecución estaba esperando datos en el puerto en serie. Una vez que se genere este evento, la conexión se podrá establecer en paused. Un error "timeout" no detiene la conexión.

Parámetros