Про F12 в курсе, но на ноутбуке (это его я зову "PC") этот блютус не работает. Хотя Хром у меня регулярно всякие апдейты ставит (значит актуальная версия). Может надо еще что доинсталлировать? А вот как на планшете нажать F12 - ума не приложу. Придется отлаживаться по записям в лог.
Ну хорошо, устройство я вижу, но дальше что-то не идёт. Проблема в этом коде:
Код: Выделить всё
// Подключение к определенному устройству, получение сервиса и характеристики
function connectDeviceAndCacheCharacteristic(device) {
if (device.gatt.connected && characteristicCache) {
return Promise.resolve(characteristicCache);
}
log('Connecting to GATT server...');
return device.gatt.connect().
then(server => {
log('GATT server connected, getting service...');
return server.getPrimaryService('c3766409-8778-63d8-3cbb-dcf0e0c36022');
}).
then(service => {
log('Service found, getting characteristic...');
return service.getCharacteristic('14996d8a-8669-0ed5-2d5e-a892bd1d6212');
}).
then(characteristic => {
log('Characteristic Left found');
characteristicCache = characteristic;
return service.getCharacteristic('74c1bfe8-2221-c915-c9fc-dd941f10f215');
}).
then(characteristic => {
log('Characteristic Right found');
characteristicCache = characteristic;
return characteristicRightCache;
});
}
Вот что выдаёт лог:
Search bluetooth device...
"Bargraph thermometer" bluetooth device selected
Connecting to GATT server...
GATT server connected, getting service...
SecurityError: Origin is not allowed to access any service. Tip: Add the service UUID to 'optionalServices' in requestDevice() options.
https://goo.gl/HxfxSQ
вот тут затык. при чем тут безопасность?
Пошел почитать по ссылке. Оно хочет, чтобы было в фильтре объявлено хотябы optionalServices. Но как только добавляю фильтр, так функция жалуется на acceptAllDevices - противоречие. Пока работает так:
Код: Выделить всё
// Запрос выбора Bluetooth устройства
let options = {
filters: [
{name: 'Bargraph thermometer'}
],
optionalServices: ['c3766409-8778-63d8-3cbb-dcf0e0c36022']
}
Но зато уже даже одной характеристике cache записал...