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

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

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

Promessa Chrome 45+
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

connect()

Promessa
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

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

  • callback

    função opcional

    O parâmetro callback tem este formato:

    (connectionInfo: ConnectionInfo) => void

Retorna

  • Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

disconnect()

Promessa
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

flush()

Promessa
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getConnections()

Promessa
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

Retorna

  • Promise<ConnectionInfo[]>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getControlSignals()

Promessa
chrome.serial.getControlSignals(
  connectionId: number,
  callback?: function,
)

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

Parâmetros

Retorna

  • Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getDevices()

Promessa
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

Retorna

  • Promise<DeviceInfo[]>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

getInfo()

Promessa
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

Retorna

  • Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

send()

Promessa
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

Retorna

  • Promessa<SendInfo>

    Chrome 117 e versões mais recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setBreak()

Promessa Chrome 45+
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setControlSignals()

Promessa
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

setPaused()

Promessa
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 recentes

    As promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

update()

Promessa
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 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 recentes

    As 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

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