Descripción
Usa la API de chrome.serial para leer y escribir en un dispositivo conectado a un puerto en serie.
Permisos
serialTipos
ConnectionInfo
Propiedades
- 
    bitratenú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.
- 
    bufferSizenúmero Ver ConnectionOptions.bufferSize
- 
    connectionIdnúmero Es el ID de la conexión del puerto en serie. 
- 
    ctsFlowControlbooleano opcional Consulta los ConnectionOptions.ctsFlowControl. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.
- 
    dataBitsDataBits opcional Consulta los ConnectionOptions.dataBits. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.
- 
    nombrestring Ver ConnectionOptions.name
- 
    parityBitParityBit opcional Consulta los ConnectionOptions.parityBit. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.
- 
    detenidobooleano Es una marca que indica si la conexión está bloqueada para activar eventos onReceive. 
- 
    persistentesbooleano Ver ConnectionOptions.persistent
- 
    receiveTimeoutnúmero Ver ConnectionOptions.receiveTimeout
- 
    sendTimeoutnúmero Ver ConnectionOptions.sendTimeout
- 
    stopBitsStopBits opcional Consulta los ConnectionOptions.stopBits. Este campo se puede omitir si se produjo un error durante la consulta del dispositivo subyacente.
ConnectionOptions
Propiedades
- 
    bitratenú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. 9600se pasará de forma predeterminada.
- 
    bufferSizenúmero opcional Es el tamaño del búfer que se usa para recibir datos. El valor predeterminado es 4096. 
- 
    ctsFlowControlbooleano 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". 
- 
    dataBitsDataBits opcional "eight"se pasará de forma predeterminada.
- 
    nombrecadena opcional Es una cadena definida por la aplicación para asociar con la conexión. 
- 
    parityBitParityBit opcional "no"se pasará de forma predeterminada.
- 
    persistentesbooleano 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.
- 
    receiveTimeoutnúmero opcional Es la cantidad máxima de tiempo (en milisegundos) que se espera para recibir datos nuevos antes de generar un evento onReceiveErrorcon 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.
- 
    sendTimeoutnúmero opcional Es la cantidad máxima de tiempo (en milisegundos) que se espera para que se complete una operación de sendantes 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.
- 
    stopBitsStopBits opcional "one"se pasará de forma predeterminada.
DataBits
Enum
"siete" 
 
"eight" 
 
DeviceControlSignals
Propiedades
- 
    ctsbooleano CTS (Clear To Send). 
- 
    dcdbooleano DCD (detección de portadora de datos) o RLSD (detección o recepción de señal de línea). 
- 
    dsrbooleano DSR (conjunto de datos listo). 
- 
    ribooleano RI (indicador de llamada) 
DeviceInfo
Propiedades
- 
    displayNamecadena opcional Es el nombre visible legible por humanos del dispositivo subyacente si se puede consultar desde el controlador del host. 
- 
    ruta de accesostring Es la ruta del sistema del dispositivo. Se debe pasar como el argumento pathachrome.serial.connectpara conectarse a este dispositivo.
- 
    productIdnúmero opcional Es el ID de producto USB si se puede determinar uno para el dispositivo subyacente. 
- 
    vendorIdnúmero opcional Es un ID de proveedor de PCI o USB si se puede determinar uno para el dispositivo subyacente. 
HostControlSignals
Propiedades
- 
    dtrbooleano opcional DTR (Data Terminal Ready, Terminal de datos lista). 
- 
    rtsbooleano 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
- 
    connectionIdnúmero Es el identificador de la conexión. 
- 
    errorEs un código de error que indica qué salió mal. 
ReceiveInfo
Propiedades
- 
    connectionIdnúmero Es el identificador de la conexión. 
- 
    datosArrayBuffer 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
- 
    bytesSentnúmero Es la cantidad de bytes enviados. 
- 
    errorSendError opcional Es un código de error si se produjo un error. 
StopBits
Enum
"one" 
 
"two" 
 
Métodos
clearBreak()
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
- 
    connectionIdnúmero Es el ID de la conexión. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
Se conecta a un puerto en serie determinado.
Parámetros
- 
    ruta de accesostring Es la ruta del sistema del puerto serie que se abrirá. 
- 
    opcionesConnectionOptions opcional Opciones de configuración de puertos 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(connectionInfo: ConnectionInfo) => void - 
    connectionInfo
 
- 
    
Muestra
- 
            Promise<ConnectionInfo> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Se desconecta de un puerto en serie.
Parámetros
- 
    connectionIdnúmero Es el ID de la conexión abierta. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
flush()
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
- 
    connectionIdnúmero 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
getConnections()
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
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(connectionInfos: ConnectionInfo[]) => void - 
    connectionInfos
 
- 
    
Muestra
- 
            Promise<ConnectionInfo[]> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Recupera el estado de los indicadores de control en una conexión determinada.
Parámetros
- 
    connectionIdnúmero Es el ID de la conexión. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(signals: DeviceControlSignals) => void - 
    indicadores
 
- 
    
Muestra
- 
            Promise<DeviceControlSignals> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
getDevices()
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
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(ports: DeviceInfo[]) => void - 
    ports
 
- 
    
Muestra
- 
            Promise<DeviceInfo[]> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Recupera el estado de una conexión determinada.
Parámetros
- 
    connectionIdnúmero Es el ID de la conexión abierta. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(connectionInfo: ConnectionInfo) => void - 
    connectionInfo
 
- 
    
Muestra
- 
            Promise<ConnectionInfo> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Escribe datos en la conexión determinada.
Parámetros
- 
    connectionIdnúmero Es el ID de la conexión. 
- 
    datosArrayBuffer Son los datos que se enviarán. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(sendInfo: SendInfo) => void - 
    sendInfo
 
- 
    
Muestra
- 
            Promise<SendInfo> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
setBreak()
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
- 
    connectionIdnúmero Es el ID de la conexión. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
setControlSignals()
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
- 
    connectionIdnúmero Es el ID de la conexión. 
- 
    indicadoresEs el conjunto de cambios de señal que se enviarán al dispositivo. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Pausa o reanuda una conexión abierta.
Parámetros
- 
    connectionIdnúmero Es el ID de la conexión abierta. 
- 
    detenidobooleano Es una marca que indica si se debe pausar o reanudar. 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:() => void 
Muestra
- 
            Promise<void> Chrome 117 y versiones posterioresLas promesas solo se admiten en Manifest V3 y versiones posteriores. Otras plataformas deben usar devoluciones de llamada. 
update()
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
- 
    connectionIdnúmero Es el ID de la conexión abierta. 
- 
    opcionesOpciones de configuración de puertos 
- 
    callbackfunción opcional El parámetro callbackse ve de la siguiente manera:(result: boolean) => void - 
    resultadobooleano 
 
- 
    
Muestra
- 
            Promise<boolean> Chrome 117 y versiones posterioresLas 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
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(info: ReceiveInfo) => void - 
    información
 
- 
    
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
- 
    callbackfunción El parámetro callbackse ve de la siguiente manera:(info: ReceiveErrorInfo) => void - 
    información
 
-