Descrição
Use a API chrome.serial para ler e gravar em um dispositivo conectado a uma porta serial.
Permissões
serialDisponibilidade
Tipos
ConnectionInfo
Propriedades
-
bitrate
número optional
Consulte
ConnectionOptions.bitrate. Esse campo pode ser omitido ou impreciso se uma taxa de bits não padrão estiver em uso ou se ocorrer um erro ao consultar o dispositivo subjacente. -
bufferSize
número
Ver
ConnectionOptions.bufferSize -
connectionId
número
O ID da conexão da porta serial.
-
ctsFlowControl
booleano opcional
Consulte
ConnectionOptions.ctsFlowControl. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
dataBits
DataBits opcional
Consulte
ConnectionOptions.dataBits. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
nome
string
Ver
ConnectionOptions.name -
parityBit
ParityBit opcional
Consulte
ConnectionOptions.parityBit. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
pausado
booleano
Sinalização que indica se a conexão está impedida de disparar eventos onReceive.
-
permanente
booleano
Ver
ConnectionOptions.persistent -
receiveTimeout
número
Ver
ConnectionOptions.receiveTimeout -
sendTimeout
número
Ver
ConnectionOptions.sendTimeout -
stopBits
StopBits opcional
Consulte
ConnectionOptions.stopBits. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.
ConnectionOptions
Propriedades
-
bitrate
número optional
A taxa de bits solicitada da conexão a ser aberta. Para compatibilidade com a maior variedade de hardware, esse número precisa corresponder a uma das taxas de bits mais comuns, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Não há garantia, é claro, de que o dispositivo conectado à porta serial será compatível com a taxa de bits solicitada, mesmo que a porta em si seja compatível com essa taxa de bits.
9600será transmitido por padrão. -
bufferSize
número optional
O tamanho do buffer usado para receber dados. O valor padrão é 4096.
-
ctsFlowControl
booleano opcional
Sinalização que indica se o controle de fluxo de hardware RTS/CTS deve ser ativado. O padrão é "falso".
-
dataBits
DataBits opcional
"eight"será transmitido por padrão. -
nome
string opcional
Uma string definida pelo aplicativo para associar à conexão.
-
parityBit
ParityBit opcional
"no"será transmitido por padrão. -
permanente
booleano opcional
Sinalização que indica se a conexão deve ser deixada aberta quando o aplicativo é suspenso (consulte Gerenciar o ciclo de vida do app). O valor padrão é "false". Quando o aplicativo é carregado, todas as conexões seriais abertas anteriormente com persistent=true podem ser buscadas com
getConnections. -
receiveTimeout
número optional
O tempo máximo (em milissegundos) de espera por novos dados antes de gerar um evento
onReceiveErrorcom um erro de "tempo limite". Se for zero, os erros de tempo limite de recebimento não serão gerados para a conexão. O padrão é 0. -
sendTimeout
número optional
O tempo máximo (em milissegundos) de espera para que uma operação
sendseja concluída antes de chamar o callback com um erro de "tempo limite". Se for zero, os erros de tempo limite de envio não serão acionados. O padrão é 0. -
stopBits
StopBits opcional
"one"será transmitido por padrão.
DataBits
Enumeração
"seven"
"eight"
DeviceControlSignals
Propriedades
-
cts
booleano
CTS (Clear To Send).
-
dcd
booleano
DCD (Data Carrier Detect) ou RLSD (Receive Line Signal/ Detect).
-
dsr
booleano
DSR (Data Set Ready).
-
ri
booleano
RI (indicador de toque).
DeviceInfo
Propriedades
-
displayName
string opcional
Um nome de exibição legível por humanos para o dispositivo subjacente, se for possível consultar um no driver do host.
-
caminho
string
O caminho do sistema do dispositivo. Ele precisa ser transmitido como o argumento
pathparachrome.serial.connectpara se conectar a esse dispositivo. -
productId
número optional
Um ID do produto USB, se for possível determinar um para o dispositivo.
-
vendorId
número optional
Um ID de fornecedor de PCI ou USB, se for possível determinar um para o dispositivo.
HostControlSignals
Propriedades
-
dtr
booleano opcional
DTR (Data Terminal Ready).
-
rts
booleano opcional
RTS (solicitação para enviar).
ParityBit
Enumeração
"no"
"odd"
"even"
ReceiveError
Enumeração
"disconnected"
A conexão foi desconectada.
"timeout"
Nenhum dado foi recebido por receiveTimeout milissegundos.
"device_lost"
O dispositivo provavelmente foi desconectado do host.
"break"
O dispositivo detectou uma condição de interrupção.
"frame_error"
O dispositivo detectou um erro de enquadramento.
"overrun"
Ocorreu um estouro de buffer de caracteres. O próximo personagem é perdido.
"buffer_overflow"
Ocorreu um estouro de buffer de entrada. Não há espaço no buffer de entrada ou um caractere foi recebido após o caractere de fim de arquivo (EOF).
"parity_error"
O dispositivo detectou um erro de paridade.
"system_error"
Ocorreu um erro do sistema, e talvez não seja possível recuperar a conexão.
ReceiveErrorInfo
Propriedades
-
connectionId
número
O identificador da conexão.
-
erro
Um código do erro que indica o que deu errado.
ReceiveInfo
Propriedades
-
connectionId
número
O identificador da conexão.
-
dados
ArrayBuffer
Os dados recebidos.
SendError
Enumeração
"disconnected"
A conexão foi desconectada.
"pending"
Um envio já estava pendente.
"timeout"
O tempo limite do envio foi atingido.
"system_error"
Ocorreu um erro do sistema, e talvez não seja possível recuperar a conexão.
SendInfo
Propriedades
-
bytesSent
número
O número de bytes enviados.
-
erro
SendError opcional
Um código do erro, se houver.
StopBits
Enumeração
"one"
"two"
Métodos
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Restaura a transmissão de caracteres em uma determinada conexão e coloca a linha de transmissão em um estado sem interrupção.
Parâmetros
-
connectionId
número
O ID da conexão.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
): Promise<ConnectionInfo>
Conecta-se a uma determinada porta serial.
Parâmetros
-
caminho
string
O caminho do sistema da porta serial a ser aberta.
-
opções
ConnectionOptions opcional
Opções de configuração de porta.
-
callback
função optional
O parâmetro
callbacké semelhante a:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
): Promise<boolean>
Desconecta de uma porta serial.
Parâmetros
-
connectionId
número
O ID da conexão aberta.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
): Promise<boolean>
Limpa todos os bytes nos buffers de entrada e saída da conexão fornecida.
Parâmetros
-
connectionId
número
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getConnections()
chrome.serial.getConnections(
callback?: function,
): Promise<ConnectionInfo[]>
Recupera a lista de conexões de porta serial abertas no momento que pertencem ao aplicativo.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Retorna
-
Promise<ConnectionInfo[]>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
): Promise<DeviceControlSignals>
Recupera o estado dos indicadores de controle em uma determinada conexão.
Parâmetros
-
connectionId
número
O ID da conexão.
-
callback
função optional
O parâmetro
callbacké semelhante a:(signals: DeviceControlSignals) => void
-
indicadores
-
Retorna
-
Promise<DeviceControlSignals>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.serial.getDevices(
callback?: function,
): Promise<DeviceInfo[]>
Retorna informações sobre os dispositivos seriais disponíveis no sistema. A lista é gerada novamente sempre que esse método é chamado.
Parâmetros
-
callback
função optional
O parâmetro
callbacké semelhante a:(ports: DeviceInfo[]) => void
-
portas
-
Retorna
-
Promise<DeviceInfo[]>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
): Promise<ConnectionInfo>
Recupera o estado de uma determinada conexão.
Parâmetros
-
connectionId
número
O ID da conexão aberta.
-
callback
função optional
O parâmetro
callbacké semelhante a:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
): Promise<SendInfo>
Grava dados na conexão fornecida.
Parâmetros
-
connectionId
número
O ID da conexão.
-
dados
ArrayBuffer
Os dados a serem enviados.
-
callback
função optional
O parâmetro
callbacké semelhante a:(sendInfo: SendInfo) => void
-
sendInfo
-
Retorna
-
Promise<SendInfo>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
): Promise<boolean>
Suspende a transmissão de caracteres em uma determinada conexão e coloca a linha de transmissão em um estado de interrupção até que clearBreak seja chamado.
Parâmetros
-
connectionId
número
O ID da conexão.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
): Promise<boolean>
Define o estado dos indicadores de controle em uma determinada conexão.
Parâmetros
-
connectionId
número
O ID da conexão.
-
indicadores
O conjunto de mudanças de indicador a serem enviadas ao dispositivo.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
): Promise<void>
Pausa ou retoma uma conexão aberta.
Parâmetros
-
connectionId
número
O ID da conexão aberta.
-
pausado
booleano
Sinalização para indicar se é preciso pausar ou retomar.
-
callback
função optional
O parâmetro
callbacké semelhante a:() => void
Retorna
-
Promessa<void>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
): Promise<boolean>
Atualize as configurações de opção em uma conexão de porta serial aberta.
Parâmetros
-
connectionId
número
O ID da conexão aberta.
-
opções
Opções de configuração de porta.
-
callback
função optional
O parâmetro
callbacké semelhante a:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117+As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
Eventos
onReceive
chrome.serial.onReceive.addListener(
callback: function,
)
Evento gerado quando os dados são lidos da conexão.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(info: ReceiveInfo) => void
-
informações
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Evento gerado quando ocorre um erro enquanto o ambiente de execução aguarda dados na porta serial. Depois que esse evento é gerado, a conexão pode ser definida como paused. Um erro "timeout" não pausa a conexão.
Parâmetros
-
callback
função
O parâmetro
callbacké semelhante a:(info: ReceiveErrorInfo) => void
-
informações
-