Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. let options = {
  2. filters: [
  3. { namePrefix: discoveryNamePrefix }
  4. ],
  5. acceptAllDevices: false,
  6. optionalServices: discoveryOptionalServices
  7. }
  8.  
  9. navigator.bluetooth.requestDevice(options)
  10. .then(device => {
  11. bluetoothDevice = device;
  12. bluetoothDevice.addEventListener('gattserverdisconnected', onDeviceDisconnected);
  13. return bluetoothDevice.gatt.connect()
  14. })
  15. .then(server => {
  16. return server.getPrimaryServices();
  17. })
  18. .then(services => {
  19. let promises = services.map(function(service) {
  20. return service.getCharacteristics()
  21. .then(characteristics => {
  22. characteristics.forEach(characteristic => {
  23. if(service.uuid==getCanonicalUUID(serviceDeviceInfoId))
  24. serviceDeviceInfoChars.push({ key: characteristic.uuid, value: characteristic });
  25. else if(service.uuid==getCanonicalUUID(serviceMonitorId))
  26. serviceMonitorChars.push({ key: characteristic.uuid, value: characteristic });
  27. });
  28. })
  29. .then(_ => { return service });
  30. });
  31.  
  32. return Promise.all(promises);
  33. })
  34. .then(services => {
  35. let charRelease = serviceDeviceInfoChars.find(o => o.key === getCanonicalUUID(0x4));
  36. charRelease.value.readValue()
  37. .then(value => {
  38. console.log(decodeDataViewToString(value))
  39. });
  40.  
  41. onDeviceConnected(bluetoothDevice);
  42. })
  43. .catch(error => {
  44. onDeviceFailedToConnect(error);
  45. });
  46. }
  47. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement