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
achrome.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()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
connect()
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
ConnectionOptions opcional
Opciones de configuración de puertos.
-
callback
Función opcional
El parámetro
callback
se ve de la siguiente manera:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Devuelve
-
Promise<ConnectionInfo>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
disconnect()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
flush()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getConnections()
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
-
connectionInfos
-
Devuelve
-
Promise<ConnectionInfo[]>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Recupera el estado de las señales de control en una conexión determinada.
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:(signals: DeviceControlSignals) => void
-
indicadores
-
Devuelve
-
Promise<DeviceControlSignals>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getDevices()
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
-
ports
-
Devuelve
-
Promise<DeviceInfo[]>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
getInfo()
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
-
connectionInfo
-
Devuelve
-
Promise<ConnectionInfo>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
send()
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
-
sendInfo
-
Devuelve
-
Promise<SendInfo>
Chrome 117 y versiones posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setBreak()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setControlSignals()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
setPaused()
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 posterioresLas promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.
update()
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
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 posterioresLas 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
-
info
-
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
-
callback
la función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
info
-