Descrição
Use a API chrome.bluetoothSocket
para enviar e receber dados de dispositivos Bluetooth usando conexões RFCOMM e L2CAP.
Manifesto
Tipos
AcceptError
Enumeração
"system_error"
Ocorreu um erro no sistema, e a conexão pode não ser recuperada.
"not_listening"
O soquete não está em modo de escuta.
AcceptErrorInfo
Propriedades
-
erro
Um código de erro que indica o que deu errado.
-
errorMessage
string
A mensagem de erro.
-
socketId
number
O identificador do socket do servidor.
AcceptInfo
Propriedades
-
clientSocketId
number
O identificador do soquete do cliente, ou seja, o identificador do soquete da conexão recém estabelecida. Esse identificador de soquete deve ser usado apenas com funções do namespace
chrome.bluetoothSocket
. O socket do cliente é pausado inicialmente e precisa ser retomado explicitamente pelo aplicativo para começar a receber dados. -
socketId
number
O identificador do socket do servidor.
CreateInfo
Propriedades
-
socketId
number
O ID do soquete recém-criado. Os IDs de soquete criados com essa API não são compatíveis com os criados em outras APIs, como a
[
sockets.tcp](../sockets_tcp/)
.
ListenOptions
Propriedades
-
backlog
número opcional
Comprimento da fila de escuta do socket. O valor padrão depende do subsistema host do sistema operacional.
-
canal
número opcional
O canal RFCOMM usado por
listenUsingRfcomm
. Se especificado, esse canal não pode estar em uso anteriormente, ou a chamada de método vai falhar. Se não for especificado, um canal não utilizado será alocado automaticamente. -
psm
número opcional
O PSM L2CAP usado por
listenUsingL2cap
. Se especificado, esse PSM não pode estar em uso anteriormente, ou a chamada de método vai falhar. Quando não especificado, um PSM não utilizado será alocado automaticamente.
ReceiveError
Enumeração
"desconectado"
A conexão foi desconectada.
"system_error"
Ocorreu um erro no sistema, e a conexão pode não ser recuperada.
"not_connected"
O soquete não foi conectado.
ReceiveErrorInfo
Propriedades
-
erro
Um código de erro que indica o que deu errado.
-
errorMessage
string
A mensagem de erro.
-
socketId
number
O identificador do soquete.
ReceiveInfo
Propriedades
-
dados
ArrayBuffer
Os dados recebidos, com um tamanho máximo de
bufferSize
. -
socketId
number
O identificador do soquete.
SocketInfo
Propriedades
-
endereço
string opcional
Se o socket de origem estiver conectado, conterá o endereço Bluetooth do dispositivo ao qual ele está conectado.
-
bufferSize
número opcional
O tamanho do buffer usado para receber dados. Se nenhum tamanho de buffer tiver sido especificado explicitamente, o valor não será fornecido.
-
conectado
booleano
Flag que indica se o soquete está conectado a um peer remoto.
-
nome
string opcional
String definida pelo aplicativo associada ao soquete.
-
pausado
booleano
Flag que indica se um soquete conectado impede que o peer envie mais dados ou se as solicitações de conexão em um soquete de escuta são enviadas pelo evento
onAccept
ou enfileiradas no backlog da fila de escuta. Consulte ossetPaused
. O valor padrão é "false". -
persistente
booleano
Flag que indica se o socket permanece aberto quando a página de eventos do aplicativo é descarregada (consulte
SocketProperties.persistent
). O valor padrão é "false". -
socketId
number
O identificador do soquete.
-
uuid
string opcional
Se o socket de origem estiver conectado, conterá informações sobre o UUID do serviço ao qual ele está conectado. Caso contrário, se o socket de origem estiver em modo de escuta, conterá informações sobre o UUID do serviço em que ele está em modo de escuta.
SocketProperties
Propriedades
-
bufferSize
número opcional
O tamanho do buffer usado para receber dados. O valor padrão é 4096.
-
nome
string opcional
Uma string definida pelo aplicativo associada ao soquete.
-
persistente
booleano opcional
Flag que indica se o socket é deixado aberto quando a página de eventos do aplicativo é descarregada (consulte Gerenciar o ciclo de vida do app). O valor padrão é
false.
. Quando o aplicativo é carregado, todos os soquetes abertos anteriormente com persistent=true podem ser buscados comgetSockets
.
Métodos
close()
chrome.bluetoothSocket.close(
socketId: number,
callback?: function,
)
Desconecta e destrói o soquete. Cada soquete criado precisa ser fechado após o uso. O ID do socket deixa de ser válido assim que a função é chamada. No entanto, o socket só será fechado quando o callback for invocado.
Parâmetros
-
socketId
number
O identificador do soquete.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 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.bluetoothSocket.connect(
socketId: number,
address: string,
uuid: string,
callback?: function,
)
Conecta o soquete a um dispositivo Bluetooth remoto. Quando a operação connect
é concluída, os eventos onReceive
são gerados quando os dados são recebidos do dispositivo semelhante. Se um erro de rede ocorrer enquanto o ambiente de execução estiver recebendo pacotes, um evento onReceiveError
será gerado. Nesse ponto, nenhum outro evento onReceive
será gerado para esse socket até que o método setPaused(false)
seja chamado.
Parâmetros
-
socketId
number
O identificador do soquete.
-
endereço
string
O endereço do dispositivo Bluetooth.
-
uuid
string
O UUID do serviço a que você quer se conectar.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
create()
chrome.bluetoothSocket.create(
properties?: SocketProperties,
callback?: function,
)
Cria um soquete Bluetooth.
Parâmetros
-
properties
SocketProperties opcional
As propriedades do soquete (opcional).
-
callback
função opcional
O parâmetro
callback
tem este formato:(createInfo: CreateInfo) => void
-
createInfo
O resultado da criação do soquete.
-
Retorna
-
Promise<CreateInfo>
Chrome 91 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.bluetoothSocket.disconnect(
socketId: number,
callback?: function,
)
Desconecta o soquete. O identificador do socket continua válido.
Parâmetros
-
socketId
number
O identificador do soquete.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 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.bluetoothSocket.getInfo(
socketId: number,
callback?: function,
)
Recupera o estado do soquete fornecido.
Parâmetros
-
socketId
number
O identificador do soquete.
-
callback
função opcional
O parâmetro
callback
tem este formato:(socketInfo: SocketInfo) => void
-
socketInfo
Objeto que contém as informações do soquete.
-
Retorna
-
Promessa<SocketInfo>
Chrome 91 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
getSockets()
chrome.bluetoothSocket.getSockets(
callback?: function,
)
Recupera a lista de soquetes abertos atualmente que pertencem ao aplicativo.
Parâmetros
-
callback
função opcional
O parâmetro
callback
tem este formato:(sockets: SocketInfo[]) => void
-
soquetes
-
Retorna
-
Promise<SocketInfo[]>
Chrome 91 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
listenUsingL2cap()
chrome.bluetoothSocket.listenUsingL2cap(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Detectar conexões usando o protocolo L2CAP.
Parâmetros
-
socketId
number
O identificador do soquete.
-
uuid
string
UUID do serviço a ser detectado.
-
opções
ListenOptions opcional
Opções adicionais opcionais para o serviço.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 e versões mais recentesAs promessas têm suporte apenas para o Manifest V3 e versões mais recentes. Outras plataformas precisam usar callbacks.
listenUsingRfcomm()
chrome.bluetoothSocket.listenUsingRfcomm(
socketId: number,
uuid: string,
options?: ListenOptions,
callback?: function,
)
Detectar conexões usando o protocolo RFCOMM.
Parâmetros
-
socketId
number
O identificador do soquete.
-
uuid
string
UUID do serviço a ser detectado.
-
opções
ListenOptions opcional
Opções adicionais opcionais para o serviço.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 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.bluetoothSocket.send(
socketId: number,
data: ArrayBuffer,
callback?: function,
)
Envia dados no soquete Bluetooth fornecido.
Parâmetros
-
socketId
number
O identificador do soquete.
-
dados
ArrayBuffer
Os dados a serem enviados.
-
callback
função opcional
O parâmetro
callback
tem este formato:(bytesSent: number) => void
-
bytesSent
number
O número de bytes enviados.
-
Retorna
-
Promise<number>
Chrome 91 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.bluetoothSocket.setPaused(
socketId: number,
paused: boolean,
callback?: function,
)
Permite ou desativa que um soquete conectado receba mensagens do par ou que um soquete de escuta aceite novas conexões. O valor padrão é "false". A pausa de um socket conectado é normalmente usada por um aplicativo para limitar os dados enviados pelo peer. Quando um soquete conectado é pausado, nenhum evento onReceive
é acionado. Quando um soquete é conectado e retirado da pausa, os eventos onReceive
são gerados novamente quando as mensagens são recebidas. Quando um soquete de escuta é pausado, novas conexões são aceitas até que o backlog esteja cheio e outras solicitações de conexão sejam recusadas. Os eventos onAccept
são gerados somente quando o soquete é retomado.
Parâmetros
-
socketId
number
-
pausado
booleano
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 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.bluetoothSocket.update(
socketId: number,
properties: SocketProperties,
callback?: function,
)
Atualiza as propriedades do soquete.
Parâmetros
-
socketId
number
O identificador do soquete.
-
properties
As propriedades a serem atualizadas.
-
callback
função opcional
O parâmetro
callback
tem este formato:() => void
Retorna
-
Promise<void>
Chrome 91 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
onAccept
chrome.bluetoothSocket.onAccept.addListener(
callback: function,
)
Evento gerado quando uma conexão é estabelecida para um determinado soquete.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(info: AcceptInfo) => void
-
informações
-
onAcceptError
chrome.bluetoothSocket.onAcceptError.addListener(
callback: function,
)
Evento gerado quando um erro de rede ocorreu enquanto o ambiente de execução aguardava novas conexões no soquete fornecido. Quando esse evento é gerado, o soquete é definido como paused
, e nenhum outro evento onAccept
é gerado para esse soquete.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(info: AcceptErrorInfo) => void
-
informações
-
onReceive
chrome.bluetoothSocket.onReceive.addListener(
callback: function,
)
Evento gerado quando os dados são recebidos para um determinado soquete.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(info: ReceiveInfo) => void
-
informações
-
onReceiveError
chrome.bluetoothSocket.onReceiveError.addListener(
callback: function,
)
Evento gerado quando um erro de rede ocorreu enquanto o ambiente de execução aguardava dados no socket. Quando esse evento é gerado, o socket é definido como paused
, e nenhum outro evento onReceive
é gerado para esse socket.
Parâmetros
-
callback
função
O parâmetro
callback
tem este formato:(info: ReceiveErrorInfo) => void
-
informações
-