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
-
bitrate
número opcional
Consulte os
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
number
Ver
ConnectionOptions.bufferSize
-
connectionId
number
O código da conexão da porta serial.
-
ctsFlowControl
booleano opcional
Consulte os
ConnectionOptions.ctsFlowControl
. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
dataBits
DataBits opcional
Consulte os
ConnectionOptions.dataBits
. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
name
string
Ver
ConnectionOptions.name
-
parityBit
ParityBit opcional
Consulte os
ConnectionOptions.parityBit
. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente. -
pausado
boolean
Sinalização que indica se a conexão está bloqueada para disparar eventos onReceive.
-
permanentes
boolean
Ver
ConnectionOptions.persistent
-
receiveTimeout
number
Ver
ConnectionOptions.receiveTimeout
-
sendTimeout
number
Ver
ConnectionOptions.sendTimeout
-
stopBits
StopBits opcional
Consulte os
ConnectionOptions.stopBits
. Este campo pode ser omitido se ocorrer um erro ao consultar o dispositivo subjacente.
ConnectionOptions
Propriedades
-
bitrate
número opcional
A taxa de bits da conexão a ser aberta solicitada. Para compatibilidade com a maior variedade de hardwares, 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 de que o dispositivo conectado à porta serial oferecerá suporte à taxa de bits solicitada, mesmo que a própria porta seja compatível com essa taxa de bits.
9600
serão transmitidos por padrão. -
bufferSize
número opcional
O tamanho do buffer usado para receber dados. O valor padrão é 4.096.
-
ctsFlowControl
booleano opcional
Sinalização que indica se o controle de fluxo de hardware RTS/CTS será ativado ou não. O padrão é "false".
-
dataBits
DataBits opcional
"eight"
serão transmitidos por padrão. -
name
string opcional
Uma string definida pelo aplicativo para associar à conexão.
-
parityBit
ParityBit opcional
"no"
serão transmitidos por padrão. -
permanentes
booleano opcional
Sinalização que indica se a conexão deve ou não ser deixada em aberto quando o aplicativo for suspenso. Consulte Gerenciar o ciclo de vida do app. O valor padrão é "falso". Quando o aplicativo é carregado, todas as conexões seriais abertas anteriormente com persistent=true podem ser buscadas com
getConnections
. -
receiveTimeout
número opcional
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, erros de tempo limite de recebimento não serão gerados para a conexão. O padrão é 0. -
sendTimeout
número opcional
O tempo máximo (em milissegundos) de espera pela conclusão de uma operação
send
antes de chamar o callback com um erro de "tempo limite". Se for zero, erros de tempo limite de envio não serão acionados. O padrão é 0. -
stopBits
StopBits opcional
"one"
serão transmitidos por padrão.
DataBits
Tipo enumerado
DeviceControlSignals
Propriedades
-
cts
boolean
CTS (Limpar para enviar).
-
DC
boolean
DCD (Detecção de Operadora de Dados) ou RLSD (Detecção/ Sinal de Linha de Recebimento).
-
DSR
boolean
DSR (conjunto de dados pronto).
-
ri
boolean
RI (Ring Indicator).
DeviceInfo
Propriedades
-
displayName
string opcional
Um nome de exibição legível por humanos para o dispositivo, se for possível consultá-lo pelo driver do host.
-
caminho
string
Caminho do sistema do dispositivo. Isso precisa ser transmitido como o argumento
path
parachrome.serial.connect
para se conectar a esse dispositivo. -
productId
número opcional
Um ID do produto USB, se for possível determinar um para o dispositivo subjacente.
-
vendorId
número opcional
Um ID de fornecedor PCI ou USB, se for possível determinar um para o dispositivo subjacente.
HostControlSignals
Propriedades
-
dtr
booleano opcional
DTR (Terminal de dados pronto).
-
leis de trânsito
booleano opcional
RTS (solicitação de envio).
ParityBit
Tipo enumerado
ReceiveError
Tipo enumerado
"desconectado"
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 excesso de buffer de caracteres. O próximo caractere é perdido.
"buffer_overflow"
Ocorreu um estouro do buffer de entrada. Não há espaço no buffer de entrada ou um caractere foi recebido após o fim de arquivo (EOF, na sigla em inglês).
"parity_error"
O dispositivo detectou um erro de paridade.
"system_error"
Ocorreu um erro do sistema e a conexão pode ser irrecuperável.
ReceiveErrorInfo
Propriedades
-
connectionId
number
É o identificador da conexão.
-
error
Um código de erro indicando o que deu errado.
ReceiveInfo
Propriedades
-
connectionId
number
É o identificador da conexão.
-
dados
ArrayBuffer
Os dados recebidos.
SendError
Tipo enumerado
"desconectado"
A conexão foi desconectada.
"pending"
Um envio já estava pendente.
"timeout"
O tempo limite do envio expirou.
"system_error"
Ocorreu um erro do sistema e a conexão pode ser irrecuperável.
SendInfo
Propriedades
-
bytesSent
number
O número de bytes enviados.
-
error
SendError opcional
Um código caso tenha ocorrido um erro.
StopBits
Tipo enumerado
Métodos
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Restaure a transmissão de caracteres em uma determinada conexão e coloque a linha de transmissão em um estado sem interrupção.
Parâmetros
-
connectionId
number
O ID da conexão.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
connect()
chrome.serial.connect(
path: string,
options?: ConnectionOptions,
callback?: function,
)
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
tem esta aparência:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Desconecta-se de uma porta serial.
Parâmetros
-
connectionId
number
ID da conexão aberta.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
flush()
chrome.serial.flush(
connectionId: number,
callback?: function,
)
Limpa todos os bytes nos buffers de entrada e saída da conexão especificada.
Parâmetros
-
connectionId
number
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getConnections()
chrome.serial.getConnections(
callback?: function,
)
Recupera a lista de conexões de portas seriais abertas no momento pertencentes ao aplicativo.
Parâmetros
-
callback
função optional
O parâmetro
callback
tem esta aparência:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Retorna
-
Promise<ConnectionInfo[]>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getControlSignals()
chrome.serial.getControlSignals(
connectionId: number,
callback?: function,
)
Recupera o estado dos sinais de controle em uma determinada conexão.
Parâmetros
-
connectionId
number
O ID da conexão.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(signals: DeviceControlSignals) => void
-
indicadores
-
Retorna
-
Promise<DeviceControlSignals>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
Retorna informações sobre 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
tem esta aparência:(ports: DeviceInfo[]) => void
-
ports
-
Retorna
-
Promise<DeviceInfo[]>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getInfo()
chrome.serial.getInfo(
connectionId: number,
callback?: function,
)
Recupera o estado de uma determinada conexão.
Parâmetros
-
connectionId
number
ID da conexão aberta.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
send()
chrome.serial.send(
connectionId: number,
data: ArrayBuffer,
callback?: function,
)
Grava dados na conexão especificada.
Parâmetros
-
connectionId
number
O ID da conexão.
-
dados
ArrayBuffer
Os dados a serem enviados.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(sendInfo: SendInfo) => void
-
sendInfo
-
Retorna
-
Promise<SendInfo>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setBreak()
chrome.serial.setBreak(
connectionId: number,
callback?: function,
)
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
number
O ID da conexão.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setControlSignals()
chrome.serial.setControlSignals(
connectionId: number,
signals: HostControlSignals,
callback?: function,
)
Define o estado dos sinais de controle em uma determinada conexão.
Parâmetros
-
connectionId
number
O ID da conexão.
-
indicadores
O conjunto de mudanças de sinal para enviar ao dispositivo.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
setPaused()
chrome.serial.setPaused(
connectionId: number,
paused: boolean,
callback?: function,
)
Pausa ou retoma uma conexão aberta.
Parâmetros
-
connectionId
number
ID da conexão aberta.
-
pausado
boolean
Sinalização para indicar se é preciso pausar ou retomar.
-
callback
função optional
O parâmetro
callback
tem esta aparência:() => void
Retorna
-
Promise<void>
Chrome 117 ou mais recentePromessas são compatíveis apenas com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Atualizar as configurações de opção em uma conexão de porta serial aberta.
Parâmetros
-
connectionId
number
ID da conexão aberta.
-
opções
Opções de configuração de porta.
-
callback
função optional
O parâmetro
callback
tem esta aparência:(result: boolean) => void
-
resultado
boolean
-
Retorna
-
Promise<boolean>
Chrome 117 ou mais recentePromessas são compatíveis apenas 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 ocorre um erro enquanto o ambiente de execução aguarda os 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
-