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 impreciso si se usa una tasa de bits no estándar o si se produjo un error al consultar el dispositivo subyacente.

  • bufferSize

    número

    Ver ConnectionOptions.bufferSize

  • connectionId

    número

    Es el ID de la conexión del puerto en serie.

  • ctsFlowControl

    booleano opcional

    Consulta los ConnectionOptions.ctsFlowControl. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.

  • dataBits

    DataBits opcional

    Consulta los ConnectionOptions.dataBits. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.

  • nombre

    string

    Ver ConnectionOptions.name

  • parityBit

    ParityBit opcional

    Consulta los ConnectionOptions.parityBit. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.

  • detenido

    booleano

    Es una marca que indica si la conexión está bloqueada para activar eventos onReceive.

  • persistentes

    booleano

    Ver ConnectionOptions.persistent

  • receiveTimeout

    número

    Ver ConnectionOptions.receiveTimeout

  • sendTimeout

    número

    Ver ConnectionOptions.sendTimeout

  • stopBits

    StopBits opcional

    Consulta los ConnectionOptions.stopBits. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.

ConnectionOptions

Propiedades

  • bitrate

    número opcional

    Es la tasa de bits solicitada de la conexión que se abrirá. Para lograr la mayor compatibilidad con el hardware, este número debe coincidir con una de las tasas de bits disponibles comúnmente, como 110, 300, 1,200, 2,400, 4,800, 9,600, 14,400, 19,200, 38,400, 57,600 y 115,200. Por supuesto, no hay garantía de que el dispositivo conectado al puerto serie admita 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 datos. El valor predeterminado es 4096.

  • ctsFlowControl

    booleano opcional

    Es una marca que indica si se debe habilitar o no el control de flujo de hardware RTS/CTS. La configuración predeterminada es "false".

  • dataBits

    DataBits opcional

    "eight" se pasará de forma predeterminada.

  • nombre

    cadena opcional

    Es una cadena definida por la aplicación para asociar con la conexión.

  • parityBit

    ParityBit opcional

    "no" se pasará de forma predeterminada.

  • persistentes

    booleano opcional

    Es una marca que indica si la conexión debe permanecer abierta cuando la aplicación se suspende (consulta Administra el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, cualquier conexión serial que se haya abierto previamente con persistent=true se puede recuperar con getConnections.

  • receiveTimeout

    número opcional

    Es la cantidad máxima de tiempo (en milisegundos) que se espera para recibir datos nuevos antes de generar un evento onReceiveError con un error de "tiempo de espera agotado". 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

    Es la cantidad máxima de tiempo (en milisegundos) que se espera para que se complete una operación de send antes de llamar a la devolución de llamada con un error de "tiempo de espera agotado". 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

"siete"

"eight"

DeviceControlSignals

Propiedades

  • cts

    booleano

    CTS (Clear To Send).

  • dcd

    booleano

    DCD (detección de portadora de datos) o RLSD (detección o recepción de señal de línea).

  • dsr

    booleano

    DSR (conjunto de datos listo).

  • ri

    booleano

    RI (indicador de llamada)

DeviceInfo

Propiedades

  • displayName

    cadena opcional

    Es el nombre visible legible por humanos del dispositivo subyacente si se puede consultar desde el controlador del host.

  • ruta de acceso

    string

    Es la ruta del sistema del dispositivo. Se debe pasar como el argumento path a chrome.serial.connect para conectarse a este dispositivo.

  • productId

    número opcional

    Es el ID de producto USB si se puede determinar uno para el dispositivo subyacente.

  • vendorId

    número opcional

    Es un ID de proveedor de PCI o USB si se puede determinar uno para el dispositivo subyacente.

HostControlSignals

Propiedades

  • dtr

    booleano opcional

    DTR (Data Terminal Ready, Terminal de datos lista).

  • rts

    booleano opcional

    RTS (Request To Send): Es la solicitud de envío.

ParityBit

Enum

"no"

"odd"

"even"

ReceiveError

Enum

"disconnected"
Se desconectó la conexión.

"timeout"
No se recibieron datos durante receiveTimeout milisegundos.

"device_lost"
Es muy probable que el dispositivo se haya desconectado del host.

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

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

"overrun"
Se produjo un desbordamiento del búfer de caracteres. El siguiente 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 fin 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 la conexión.

  • error

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

ReceiveInfo

Propiedades

  • connectionId

    número

    Es el identificador de la conexión.

  • datos

    ArrayBuffer

    Son 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

    Es la cantidad de bytes enviados.

  • error

    SendError opcional

    Es un código de error si se produjo un error.

StopBits

Enum

"one"

"two"

Métodos

clearBreak()

Promise Chrome 45 y versiones posteriores
chrome.serial.clearBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

Parámetros

  • connectionId

    número

    Es el ID de la conexión.

  • callback

    función opcional

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

    (result: boolean) => void

    • resultado

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

connect()

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

Se conecta a un puerto en serie determinado.

Parámetros

  • ruta de acceso

    string

    Es la ruta del sistema del puerto serie que se 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

Muestra

  • Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

disconnect()

Promesa
chrome.serial.disconnect(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Se desconecta de un puerto en serie.

Parámetros

  • connectionId

    número

    Es 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

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

flush()

Promesa
chrome.serial.flush(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

Vacía todos los bytes de 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

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getConnections()

Promesa
chrome.serial.getConnections(
  callback?: function,
)
: Promise<ConnectionInfo[]>

Recupera la lista de conexiones de puertos seriales 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

Muestra

  • Promise<ConnectionInfo[]>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getControlSignals()

Promesa
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Recupera el estado de los indicadores de control en una conexión determinada.

Parámetros

  • connectionId

    número

    Es el ID de la conexión.

  • callback

    función opcional

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

    (signals: DeviceControlSignals) => void

Muestra

  • Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getDevices()

Promesa
chrome.serial.getDevices(
  callback?: function,
)
: Promise<DeviceInfo[]>

Devuelve información sobre los dispositivos seriales 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

Muestra

  • Promise<DeviceInfo[]>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

getInfo()

Promesa
chrome.serial.getInfo(
  connectionId: number,
  callback?: function,
)
: Promise<ConnectionInfo>

Recupera el estado de una conexión determinada.

Parámetros

  • connectionId

    número

    Es el ID de la conexión abierta.

  • callback

    función opcional

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

    (connectionInfo: ConnectionInfo) => void

Muestra

  • Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

send()

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

Escribe datos en la conexión determinada.

Parámetros

  • connectionId

    número

    Es el ID de la conexión.

  • datos

    ArrayBuffer

    Son los datos que se enviarán.

  • callback

    función opcional

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

    (sendInfo: SendInfo) => void

Muestra

  • Promise<SendInfo>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

setBreak()

Promise Chrome 45 y versiones posteriores
chrome.serial.setBreak(
  connectionId: number,
  callback?: function,
)
: Promise<boolean>

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

    Es el ID de la conexión.

  • callback

    función opcional

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

    (result: boolean) => void

    • resultado

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

setControlSignals()

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

Establece el estado de los indicadores de control en una conexión determinada.

Parámetros

  • connectionId

    número

    Es el ID de la conexión.

  • indicadores

    Es el conjunto de cambios de señal que se enviarán al dispositivo.

  • callback

    función opcional

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

    (result: boolean) => void

    • resultado

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

setPaused()

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

Pausa o reanuda una conexión abierta.

Parámetros

  • connectionId

    número

    Es el ID de la conexión abierta.

  • detenido

    booleano

    Es una marca que indica si se debe pausar o reanudar.

  • callback

    función opcional

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

    () => void

Muestra

  • Promise<void>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

update()

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

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

Parámetros

  • connectionId

    número

    Es 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

      booleano

Muestra

  • Promise<boolean>

    Chrome 117 y versiones posteriores

    Las promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.

Eventos

onReceive

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

Evento que se genera cuando se leen datos de la conexión.

Parámetros

  • callback

    función

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

    (info: ReceiveInfo) => void

onReceiveError

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

Evento que se genera cuando se produce un error mientras el tiempo de ejecución espera datos en el puerto serie. Una vez que se genera este evento, es posible que la conexión se establezca en paused. Un error de "timeout" no pausa la conexión.

Parámetros