Descrição
Use a API chrome.serial
para ler e gravar em um dispositivo conectado a uma porta serial.
Permissões
serial
Tipos
ConnectionInfo
Propriedades
-
taxa de bits
number 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
Flag que indica se a conexão está bloqueada para disparar eventos onReceive.
-
persistente
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
-
taxa de bits
number optional
A taxa de bits solicitada da conexão a ser aberta. Para compatibilidade com a mais ampla variedade de hardware, esse número precisa corresponder a uma das taxas de bits comumente disponíveis, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Não há garantia de que o dispositivo conectado à porta serial vai oferecer suporte à taxa de bits solicitada, mesmo que a porta seja compatível com ela.
9600
será transmitido por padrão. -
bufferSize
number optional
O tamanho do buffer usado para receber dados. O valor padrão é 4096.
-
ctsFlowControl
booleano opcional
Flag que indica se o controle de fluxo de hardware RTS/CTS deve ser ativado ou não. O padrão é "false".
-
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. -
persistente
booleano opcional
Flag que indica se a conexão deve permanecer aberta quando o aplicativo é suspenso. Consulte Gerenciar 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
number optional
O tempo máximo (em milissegundos) de espera por novos dados antes de gerar um evento
onReceiveError
com 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
number optional
O tempo máximo (em milissegundos) de espera para que uma operação
send
seja 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"
"oito"
DeviceControlSignals
Propriedades
-
cts
booleano
CTS (Clear To Send).
-
dcd
booleano
DCD (Data Carrier Detect) ou RLSD (Receive Line Signal/ Detect).
-
dsr
booleano
DSR (conjunto de dados pronto).
-
ri
booleano
RI (indicador de toque).
DeviceInfo
Propriedades
-
displayName
string opcional
Um nome de exibição legível para o dispositivo subjacente, se for possível consultar um do driver do host.
-
caminho
string
O caminho do sistema do dispositivo. Ele precisa ser transmitido como o argumento
path
parachrome.serial.connect
a fim de se conectar a esse dispositivo. -
productId
number optional
Um ID de produto USB, se for possível determinar um para o dispositivo subjacente.
-
vendorId
number optional
Um ID de fornecedor PCI ou USB, se for possível determinar um para o dispositivo subjacente.
HostControlSignals
Propriedades
-
dtr
booleano opcional
DTR (Data Terminal Ready).
-
rts
booleano opcional
RTS (Request To Send).
ParityBit
Enumeração
"não"
"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.
"excesso"
Ocorreu um excesso de buffer de caracteres. O próximo caractere é 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 no sistema, e a conexão pode ser irrecuperável.
ReceiveErrorInfo
Propriedades
-
connectionId
número
O identificador da conexão.
-
erro
Um código de 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 envio atingiu o tempo limite.
"system_error"
Ocorreu um erro no sistema, e a conexão pode ser irrecuperável.
SendInfo
Propriedades
-
bytesSent
número
O número de bytes enviados.
-
erro
SendError opcional
Um código de erro, se um erro ocorreu.
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 opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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 opcional
O parâmetro
callback
tem esta aparência:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 ou mais recenteAs 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 opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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>
Despeja todos os bytes nos buffers de entrada e saída da conexão especificada.
Parâmetros
-
connectionId
número
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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 pertencentes ao aplicativo.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Retorna
-
Promise<ConnectionInfo[]>
Chrome 117 ou mais recenteAs 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 sinais de controle em uma determinada conexão.
Parâmetros
-
connectionId
número
O ID da conexão.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(signals: DeviceControlSignals) => void
-
indicadores
-
Retorna
-
Promise<DeviceControlSignals>
Chrome 117 ou mais recenteAs 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 é regenerada sempre que esse método é chamado.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(ports: DeviceInfo[]) => void
-
ports
-
Retorna
-
Promise<DeviceInfo[]>
Chrome 117 ou mais recenteAs 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 conexão específica.
Parâmetros
-
connectionId
número
O ID da conexão aberta.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 ou mais recenteAs 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 especificada.
Parâmetros
-
connectionId
número
O ID da conexão.
-
dados
ArrayBuffer
Os dados a serem enviados.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(sendInfo: SendInfo) => void
-
sendInfo
-
Retorna
-
Promise<SendInfo>
Chrome 117 ou mais recenteAs 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 opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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 sinais de controle em uma determinada conexão.
Parâmetros
-
connectionId
número
O ID da conexão.
-
indicadores
O conjunto de mudanças de sinal a serem enviadas ao dispositivo.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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
Flag para indicar se é preciso pausar ou retomar.
-
callback
função opcional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recenteAs 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 opcional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recenteAs 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
tem esta aparência:(info: ReceiveInfo) => void
-
informações
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Evento gerado quando ocorreu um erro enquanto o tempo de execução aguardava dados na porta serial. Quando 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
tem esta aparência:(info: ReceiveErrorInfo) => void
-
informações
-