Descripción
Usa la API de chrome.serial
para leer y escribir en un dispositivo conectado a un puerto serie.
Permisos
serial
Tipos
ConnectionInfo
Propiedades
-
bitrate
número opcional
Consulta los
ConnectionOptions.bitrate
. Este campo puede omitirse o ser inexacto si se usa una tasa de bits no estándar o si se produjo un error mientras se consultaba 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
. Se puede omitir este campo si se produjo un error mientras se consultaba el dispositivo subyacente. -
dataBits
DataBits opcional
Consulta los
ConnectionOptions.dataBits
. Se puede omitir este campo si se produjo un error mientras se consultaba el dispositivo subyacente. -
nombre
string
Ver
ConnectionOptions.name
-
parityBit
ParityBit opcional
Consulta los
ConnectionOptions.parityBit
. Se puede omitir este campo si se produjo un error mientras se consultaba el dispositivo subyacente. -
detenido
booleano
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
. Se puede omitir este campo si se produjo un error mientras se consultaba el dispositivo subyacente.
ConnectionOptions
Propiedades
-
bitrate
número opcional
Es la tasa de bits solicitada de la conexión que se abrirá. Para lograr la compatibilidad con la más amplia variedad de hardware, este número debe coincidir con una de las tasas de bits disponibles, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. 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í la admite. Se pasará
9600
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
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
Se pasará
"eight"
de forma predeterminada. -
nombre
cadena opcional
Es una cadena definida por la aplicación para asociarla con la conexión.
-
parityBit
ParityBit opcional
Se pasará
"no"
de forma predeterminada. -
persistentes
booleano opcional
Marca que indica si la conexión debe permanecer abierta o no cuando se suspende la aplicación (consulta Administra el ciclo de vida de la app). El valor predeterminado es "false". Cuando se carga la aplicación, se pueden recuperar con
getConnections
las conexiones serie que se abrieron anteriormente con persistent=true. -
receiveTimeout
número opcional
Es la cantidad máxima de tiempo (en milisegundos) que se espera para obtener 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
Es la cantidad máxima de tiempo (en milisegundos) que se espera 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
Se pasará
"one"
de forma predeterminada.
DataBits
Enum
“siete”
"eight"
DeviceControlSignals
Propiedades
-
cts
booleano
CTS (permiso para enviar).
-
dcd
booleano
DCD (detección de portadora de datos) o RLSD (detección de señal de línea de recepción).
-
dsr
booleano
DSR (Data Set Ready).
-
ri
booleano
RI (indicador de anillo).
DeviceInfo
Propiedades
-
displayName
cadena opcional
Es un nombre visible legible por humanos para el dispositivo subyacente si se puede consultar desde el controlador de host.
-
ruta de acceso
string
Es la ruta de acceso del sistema del dispositivo. Se debe pasar como argumento
path
achrome.serial.connect
para conectarse a este dispositivo. -
productId
número opcional
Un ID de producto USB si se puede determinar uno para el dispositivo subyacente
-
vendorId
número opcional
Un ID de proveedor PCI o USB, si se puede determinar uno para el dispositivo subyacente
HostControlSignals
Propiedades
-
dtr
booleano opcional
DTR (Data Terminal Ready).
-
rts
booleano opcional
RTS (solicitud de envío).
ParityBit
Enum
"no"
"odd"
"even"
ReceiveError
Enum
"disconnected"
La conexión se desconectó.
"timeout"
No se recibieron datos durante receiveTimeout
milisegundos.
"device_lost"
Es 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 enmarcado.
"overrun"
Se produjo un desbordamiento del búfer de caracteres. Se pierde el siguiente carácter.
"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 no se pueda recuperar la conexión.
ReceiveErrorInfo
Propiedades
-
connectionId
número
El identificador de la conexión.
-
error
Un código de error que indica qué salió mal.
ReceiveInfo
Propiedades
-
connectionId
número
El identificador de la conexión.
-
datos
ArrayBuffer
Los datos recibidos
SendError
Enum
"disconnected"
La conexión se desconectó.
“pendiente”
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 no se pueda recuperar la conexión.
SendInfo
Propiedades
-
bytesSent
número
Es la cantidad de bytes enviados.
-
error
SendError opcional
Un código de error si se produjo un error.
StopBits
Enum
"one"
"two"
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 sin interrupciones.
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
booleano
-
Muestra
-
Promise<boolean>
Chrome 117 y versiones posterioresLas promesas solo se admiten para 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
string
Es la ruta de acceso del sistema del puerto serie que se 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
-
Muestra
-
Promise<ConnectionInfo>
Chrome 117 y versiones posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Desconecta 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 posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Borra 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 posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Recupera la lista de conexiones de puerto serie abiertas actualmente que pertenecen a la aplicación.
Parámetros
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Muestra
-
Promise<ConnectionInfo[]>
Chrome 117 y versiones posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Recupera el estado de los indicadores 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
-
Muestra
-
Promise<DeviceControlSignals>
Chrome 117 y versiones posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Muestra información sobre los dispositivos 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
-
Muestra
-
Promise<DeviceInfo[]>
Chrome 117 y versiones posterioresLas promesas solo se admiten para 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
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
-
connectionInfo
-
Muestra
-
Promise<ConnectionInfo>
Chrome 117 y versiones posterioresLas promesas solo se admiten para 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
-
Muestra
-
Promise<SendInfo>
Chrome 117 y versiones posterioresLas promesas solo se admiten para 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 pausa 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
booleano
-
Muestra
-
Promise<boolean>
Chrome 117 y versiones posterioresLas promesas solo se admiten para 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 los indicadores de control en una conexión determinada.
Parámetros
-
connectionId
número
El ID de la conexión.
-
indicadores
Es el conjunto de cambios de indicadores 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 posterioresLas promesas solo se admiten para 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
Es el ID de la conexión abierta.
-
detenido
booleano
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 posterioresLas promesas solo se admiten para 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 serie abierta.
Parámetros
-
connectionId
número
Es 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
booleano
-
Muestra
-
Promise<boolean>
Chrome 117 y versiones posterioresLas promesas solo se admiten para Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada.
Eventos
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Se genera un evento 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
-
información
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Se genera un evento cuando se produce un error mientras el entorno de ejecución espera datos en el puerto serie. Una vez que se genera este evento, la conexión se puede establecer en paused
. Un error "timeout"
no pausa la conexión.
Parámetros
-
callback
función
El parámetro
callback
se ve de la siguiente manera:(info: ReceiveErrorInfo) => void
-
información
-