Referência de API JavaScript para a classe WVBluetooth. Use estas APIs para adicionar suporte a Bluetooth Low Energy (BLE) em aplicativos HTML5 e Miniapps, incluindo solicitação de permissão de Bluetooth, varredura e conexão com dispositivos BLE, além da descoberta de serviços e características.
Todos os métodos seguem a mesma convenção de chamada:
window.WindVane.call('WVBluetooth', '<methodName>', params, successCallback, failureCallback);
O fluxo de trabalho típico de BLE é: solicitar autorização → varrer → parar varredura → conectar → obter serviços → obter características → ler/escrever/inscrever-se → desconectar.
WVBluetooth.requestAuthorization
Solicita permissão de Bluetooth e ativa o adaptador Bluetooth.
Parâmetros de entrada
Nenhum.
Parâmetros de callback
Parâmetros do callback de sucesso:
-
[
object] value: Um objeto JSON com o seguinte campo:[
string] state: RetornapoweredOnquando o Bluetooth estiver pronto.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
window.WindVane.call('WVBluetooth', 'requestAuthorization', {}, function(e) {
alert('success: ' + JSON.stringify(e));
}, function(e) {
alert('failure: ' + JSON.stringify(e));
});
WVBluetooth.scan
Inicia a varredura de dispositivos BLE próximos. O evento WV.Event.WVBluetooth.discoverDevice reporta os dispositivos encontrados.
Parâmetros de entrada
Nenhum.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
Escuta de eventos
WV.Event.WVBluetooth.discoverDevice: Dispositivo BLE descoberto
Registre este listener de evento antes de chamar scan para receber os dispositivos descobertos.
Parâmetros do evento:
[
string] name: Nome do dispositivo Bluetooth descoberto.[
string] deviceId: Endereço Bluetooth do dispositivo. Salve este valor, pois ele é necessário paraconnect,getServicese outras chamadas subsequentes.
document.addEventListener('WV.Event.WVBluetooth.discoverDevice', function (e) {
alert('event discoverDevice: ' + JSON.stringify(e.param));
});
window.WindVane.call('WVBluetooth', 'scan', {}, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.stopScan
Interrompe a varredura de dispositivos BLE. Chame este método após encontrar o dispositivo alvo para economizar bateria.
Parâmetros de entrada
Nenhum.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
window.WindVane.call('WVBluetooth', 'stopScan', {}, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.connect
Conecta-se a um dispositivo BLE pelo endereço Bluetooth.
Parâmetros de entrada
[
string] deviceId: Endereço Bluetooth do dispositivo alvo, obtido no eventodiscoverDevice.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd'
};
window.WindVane.call('WVBluetooth', 'connect', params, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.disconnect
Desconecta do dispositivo BLE atualmente conectado. Escute o evento WV.Event.WVBluetooth.GATTServerDisconnected para lidar com quedas inesperadas de conexão.
Parâmetros de entrada
Nenhum.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
Escuta de eventos
WV.Event.WVBluetooth.GATTServerDisconnected: Conexão Bluetooth perdida
Este evento dispara quando o servidor GATT se desconecta, seja por uma chamada explícita de disconnect ou devido a uma queda de conexão.
document.addEventListener('WV.Event.WVBluetooth.GATTServerDisconnected', function (e) {
alert('event GATTServerDisconnected: ' + JSON.stringify(e.param));
});
window.WindVane.call('WVBluetooth', 'disconnect', {}, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.getServices
Inicia a descoberta de serviços em um dispositivo BLE conectado.
Pré-requisitos
Chame connect com sucesso antes de invocar este método.
Parâmetros de entrada
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.
Conecte-se ao dispositivo antes de chamar este método.
Parâmetros de callback
Parâmetros do callback de sucesso:
[
boolean] started:truese a descoberta de serviços tiver iniciado com sucesso;falsecaso contrário.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd'
};
window.WindVane.call('WVBluetooth', 'getServices', params, function(e) {
alert('success: ' + JSON.stringify(e));
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.getCharacteristics
Recupera todas as características de um serviço especificado em um dispositivo BLE conectado.
Pré-requisitos
Chame connect com sucesso antes de usar este método.
Parâmetros de entrada
-
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.NotaConecte-se ao dispositivo antes de chamar este método.
[
string] serviceId: UUID do serviço.
Parâmetros de callback
Parâmetros do callback de sucesso:
-
[
object] characteristics: Array de objetos de característica. Cada objeto contém:[
string] characteristicId: UUID da característica.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd',
serviceId: 'xxxx'
};
window.WindVane.call('WVBluetooth', 'getCharacteristics', params, function(e) {
alert('success: ' + JSON.stringify(e));
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.writeValue
Grava um valor em uma característica de um dispositivo BLE conectado.
Pré-requisitos
Conecte-se ao dispositivo primeiro.
Ative as notificações via
startNotificationsantes de gravar, caso deseje receber o eventocharacteristicValueChangedcomo resposta.O valor deve ser uma string codificada em Base64.
Parâmetros de entrada
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.[
string] serviceId: UUID do serviço.[
string] characteristicId: UUID da característica.-
[
string] value: Valor a ser gravado, codificado como string Base64.NotaO valor deve ser uma string codificada em Base64.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
Escuta de eventos
WV.Event.WVBluetooth.characteristicValueChanged: Valor da característica alterado
Este evento dispara quando o dispositivo atualiza o valor de uma característica. Requer que startNotifications esteja ativo para a característica.
document.addEventListener('WV.Event.WVBluetooth.characteristicValueChanged', function (e) {
alert('event characteristicValueChanged: ' + JSON.stringify(e.param));
});
var params = {
deviceId: '00:aa:bb:cc:dd',
serviceId: 'xxxx',
characteristicId: 'xxx',
value: 'xxx'
};
window.WindVane.call('WVBluetooth', 'writeValue', params, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.readValue
Lê o valor atual de uma característica de um dispositivo BLE conectado.
Pré-requisitos
Chame connect com sucesso antes de usar este método.
Parâmetros de entrada
-
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.NotaConecte-se ao dispositivo antes de chamar este método.
[
string] serviceId: UUID do serviço.[
string] characteristicId: UUID da característica.
Parâmetros de callback
Parâmetros do callback de sucesso:
Objeto contendo o valor da característica como string codificada em Base64.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd',
serviceId: 'xxxx',
characteristicId: 'xxx'
};
window.WindVane.call('WVBluetooth', 'readValue', params, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.startNotifications
Inscreve-se nas notificações de alteração de valor da característica. Após o sucesso desta chamada, o evento WV.Event.WVBluetooth.characteristicValueChanged dispara sempre que o dispositivo atualizar o valor da característica.
Pré-requisitos
Conecte-se ao dispositivo primeiro.
Parâmetros de entrada
-
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.NotaConecte-se ao dispositivo antes de chamar este método.
[
string] serviceId: UUID do serviço.[
string] characteristicId: UUID da característica.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd',
serviceId: 'xxxx',
characteristicId: 'xxx'
};
window.WindVane.call('WVBluetooth', 'startNotifications', params, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}
WVBluetooth.stopNotifications
Cancela a inscrição nas notificações de alteração de valor da característica.
Pré-requisitos
Chame connect e startNotifications antes de invocar este método.
Parâmetros de entrada
-
[
string] deviceId: Endereço Bluetooth do dispositivo conectado.NotaConecte-se ao dispositivo antes de chamar este método.
[
string] serviceId: UUID do serviço.[
string] characteristicId: UUID da característica.
Parâmetros de callback
Parâmetros do callback de sucesso:
Nenhum.
Parâmetros do callback de falha:
[
string] msg: Uma mensagem de erro.
var params = {
deviceId: '00:aa:bb:cc:dd',
serviceId: 'xxxx',
characteristicId: 'xxx'
};
window.WindVane.call('WVBluetooth', 'stopNotifications', params, function(e) {
}, function(e) {
alert('failure: ' + JSON.stringify(e));
}