chrome.serial

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 para chrome.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.

  • 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()

Promise Chrome 45 ou mais recente
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

connect()

Promise
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

    Opções de configuração de porta.

  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    (connectionInfo: ConnectionInfo) => void

Retorna

  • Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promise
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

flush()

Promise
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getConnections()

Promise
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

Retorna

  • Promise<ConnectionInfo[]>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getControlSignals()

Promise
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)
: Promise<DeviceControlSignals>

Recupera o estado dos sinais de controle em uma determinada conexão.

Parâmetros

Retorna

  • Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

Promise
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

Retorna

  • Promise<DeviceInfo[]>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getInfo()

Promise
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

Retorna

  • Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

Promise
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

Retorna

  • Promise<SendInfo>

    Chrome 117 ou mais recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setBreak()

Promise Chrome 45 ou mais recente
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setControlSignals()

Promise
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setPaused()

Promise
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 recente

    As promessas só são compatíveis com o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

Promise
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 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 recente

    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 tem esta aparência:

    (info: ReceiveInfo) => void

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