Files
servo/tests/html/bluetooth/bluetooth_primary_services_info.html
2016-09-26 20:02:42 +02:00

59 lines
2.1 KiB
HTML

<!DOCTYPE html>
<html>
<title>Primary Services info</title>
<body>
<input id="service" type="text" autofocus placeholder="Bluetooth Service">
<input id="name" type="text" placeholder="Device Name">
<input id="namePrefix" type="text" placeholder="Device Name Prefix">
<button type="button" onclick="onButtonClick()">Get Primary Services Info</button>
<pre id="log"></pre>
<script src="bluetooth_functions.js"></script>
<script>
function onButtonClick() {
clear();
var options = {filters: [], optionalServices: []};
var filterService = document.getElementById('service').value;
if (filterService) {
if (filterService.startsWith('0x'))
filterService = parseInt(filterService, 16);
options.filters.push({services: [filterService]});
}
var filterName = document.getElementById('name').value;
if (filterName)
options.filters.push({name: filterName});
var filterNamePrefix = document.getElementById('namePrefix').value;
if (filterNamePrefix)
options.filters.push({namePrefix: filterNamePrefix});
log('Requesting Bluetooth Device...');
window.navigator.bluetooth.requestDevice(options)
.then(device => {
log('Connecting to GATTserver on device...');
return device.gatt.connect();
})
.then(server => {
log('Getting Primary Service...');
if (filterService)
return server.getPrimaryServices(filterService);
else
return server.getPrimaryServices();
})
.then(services => {
log('> List of Services on the current device:');
for(i = 0; i < services.length; ++i) {
log('> #' + (i+1));
log('> UUID: ' + services[i].uuid);
log('> Is primary: ' + services[i].isPrimary);
}
})
.catch(err => {
log(err);
});
}
</script>
</body>
</html>