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
número opcional
Consulte
ConnectionOptions.bitrate
. Esse campo pode ser omitido ou impreciso se um bitrate não padrão estiver em uso ou se ocorrer um erro ao consultar o dispositivo. -
bufferSize
number
Ver
ConnectionOptions.bufferSize
-
connectionId
number
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. -
dataBits
DataBits opcional
Consulte
ConnectionOptions.dataBits
. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo. -
nome
string
Ver
ConnectionOptions.name
-
parityBit
ParityBit opcional
Consulte
ConnectionOptions.parityBit
. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo. -
pausado
booleano
Flag que indica se a conexão está bloqueada para disparar eventos onReceive.
-
persistente
booleano
Ver
ConnectionOptions.persistent
-
receiveTimeout
number
Ver
ConnectionOptions.receiveTimeout
-
sendTimeout
number
Ver
ConnectionOptions.sendTimeout
-
stopBits
StopBits opcional
Consulte
ConnectionOptions.stopBits
. Esse campo pode ser omitido se ocorrer um erro ao consultar o dispositivo.
ConnectionOptions
Propriedades
-
taxa de bits
número opcional
O bitrate solicitado da conexão a ser aberta. Para compatibilidade com o maior número possível de hardwares, esse número precisa corresponder a um dos bitrates disponíveis, como 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200. Não há garantia, é claro, de que o dispositivo conectado à porta serial ofereça suporte à taxa de bits solicitada, mesmo que a própria porta ofereça suporte a essa taxa.
9600
será transmitido por padrão. -
bufferSize
número opcional
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 está 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 precisa ser mantida 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 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, os 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 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"
"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 em questão, se puder ser consultado pelo driver do host.
-
caminho
string
O caminho do sistema do dispositivo. Ele precisa ser transmitido como o argumento
path
parachrome.serial.connect
para se conectar ao dispositivo. -
productId
número opcional
Um ID de produto USB, se puder ser determinado para o dispositivo.
-
vendorId
número opcional
Um ID de fornecedor PCI ou USB, se puder ser determinado para o dispositivo.
HostControlSignals
Propriedades
-
dtr
booleano opcional
DTR (Data Terminal Ready).
-
rts
booleano opcional
RTS (solicitação para enviar).
ParityBit
Enumeração
"não"
"odd"
"even"
ReceiveError
Enumeração
"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 estouro de buffer de caracteres. O próximo caractere é perdido.
"buffer_overflow"
Ocorreu um buffer excedente 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 não ser recuperada.
ReceiveErrorInfo
Propriedades
-
connectionId
number
O identificador da conexão.
-
erro
Um código de erro que indica o que deu errado.
ReceiveInfo
Propriedades
-
connectionId
number
O identificador da conexão.
-
dados
ArrayBuffer
Os dados recebidos.
SendError
Enumeração
"desconectado"
A conexão foi desconectada.
"Pendente"
Um envio já estava pendente.
"timeout"
O envio expirou.
"system_error"
Ocorreu um erro no sistema, e a conexão pode não ser recuperada.
SendInfo
Propriedades
-
bytesSent
number
O número de bytes enviados.
-
erro
SendError opcional
Um código de erro, se ocorreu um erro.
StopBits
Enumeração
"one"
"two"
Métodos
clearBreak()
chrome.serial.clearBreak(
connectionId: number,
callback?: function,
)
Restaurar a transmissão de caracteres em uma determinada conexão e colocar a linha de transmissão em um estado contínuo.
Parâmetros
-
connectionId
number
O ID da conexão.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 da porta.
-
callback
função opcional
O parâmetro
callback
tem este formato:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
disconnect()
chrome.serial.disconnect(
connectionId: number,
callback?: function,
)
Desconecta de uma porta serial.
Parâmetros
-
connectionId
number
O ID da conexão aberta.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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.
Parâmetros
-
connectionId
number
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 porta serial abertas atualmente que pertencem ao aplicativo.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(connectionInfos: ConnectionInfo[]) => void
-
connectionInfos
-
Retorna
-
Promise<ConnectionInfo[]>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 opcional
O parâmetro
callback
tem este formato:(signals: DeviceControlSignals) => void
-
indicadores
-
Retorna
-
Promise<DeviceControlSignals>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getDevices()
chrome.serial.getDevices(
callback?: function,
)
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 este formato:(ports: DeviceInfo[]) => void
-
ports
-
Retorna
-
Promise<DeviceInfo[]>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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
O ID da conexão aberta.
-
callback
função opcional
O parâmetro
callback
tem este formato:(connectionInfo: ConnectionInfo) => void
-
connectionInfo
-
Retorna
-
Promise<ConnectionInfo>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 opcional
O parâmetro
callback
tem este formato:(sendInfo: SendInfo) => void
-
sendInfo
-
Retorna
-
Promessa<SendInfo>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 o clearBreak seja chamado.
Parâmetros
-
connectionId
number
O ID da conexão.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 a serem enviadas ao dispositivo.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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
O ID da conexão aberta.
-
pausado
booleano
Flag para indicar se a pausa deve ser ativada ou desativada.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
update()
chrome.serial.update(
connectionId: number,
options: ConnectionOptions,
callback?: function,
)
Atualize as configurações de opção em uma conexão de porta serial aberta.
Parâmetros
-
connectionId
number
O ID da conexão aberta.
-
opções
Opções de configuração da porta.
-
callback
função opcional
O parâmetro
callback
tem este formato:(result: boolean) => void
-
resultado
booleano
-
Retorna
-
Promise<boolean>
Chrome 117 e versões mais recentesAs promessas têm suporte apenas para 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 foram lidos da conexão.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(info: ReceiveInfo) => void
-
informações
-
onReceiveError
chrome.serial.onReceiveError.addListener(
callback: function,
)
Evento gerado quando um erro ocorreu enquanto o ambiente 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 este formato:(info: ReceiveErrorInfo) => void
-
informações
-