Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let options = {
- filters: [
- { namePrefix: discoveryNamePrefix }
- ],
- acceptAllDevices: false,
- optionalServices: discoveryOptionalServices
- }
- navigator.bluetooth.requestDevice(options)
- .then(device => {
- bluetoothDevice = device;
- bluetoothDevice.addEventListener('gattserverdisconnected', onDeviceDisconnected);
- return bluetoothDevice.gatt.connect()
- })
- .then(server => {
- return server.getPrimaryServices();
- })
- .then(services => {
- let promises = services.map(function(service) {
- return service.getCharacteristics()
- .then(characteristics => {
- characteristics.forEach(characteristic => {
- if(service.uuid==getCanonicalUUID(serviceDeviceInfoId))
- serviceDeviceInfoChars.push({ key: characteristic.uuid, value: characteristic });
- else if(service.uuid==getCanonicalUUID(serviceMonitorId))
- serviceMonitorChars.push({ key: characteristic.uuid, value: characteristic });
- });
- })
- .then(_ => { return service });
- });
- return Promise.all(promises);
- })
- .then(services => {
- let charRelease = serviceDeviceInfoChars.find(o => o.key === getCanonicalUUID(0x4));
- charRelease.value.readValue()
- .then(value => {
- console.log(decodeDataViewToString(value))
- });
- onDeviceConnected(bluetoothDevice);
- })
- .catch(error => {
- onDeviceFailedToConnect(error);
- });
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement