eddystone-web-bluetooth

v1.0.0
Eddystone Web Bluetooth client (works with Physical Web).
eddystone web bluetooth client config url typescript

Eddystone Web Bluetooth

Web Bluetooth Eddystone made easier

Build Status David David Code Climate


Getting started source-code using Physical Web beacons

Features

  • Scan Eddystone beacons
  • Connect / Disconnect
  • Monitor connection status
  • Read Capabilities
  • Read / Write Active Slot
  • Read / Write Advertising Interval
  • Read / Write Radio Tx Power
  • Read / Write Advertised Tx Power
  • Read Lock State
  • Write Lock State
  • Read / Write Unlock
  • Read Public ECDH Key
  • Read EID Identity Key
  • Read / Write ADV Slot Data
  • Write Factory reset
  • Read / Write Remain Connectable

Getting started

npm install --save eddystone-web-bluetooth
var eddystone = new Eddystone();
var beacon, service;
eddystone.request() // Scan for Eddystone beacons.
  .then((newBeacon) => {
    beacon = newBeacon;
    return beacon.connect(); // Connect to the Beacon's GATT service.
  })
  .then((newService) => {
    service = newService;
    return service.isLocked(); // Check if the beacon is locked.
  })
  .then((isLocked) => {
    if (isLocked) {
      return Promise.reject('The beacon is locked. Can\'t write new URL');
    }
    // Beacon's not locked. We can proceed with the recording of the new URL.
    // Keep in mind that the encoded URL must NOT be longer than 18 characters.
    return service.writeUrl('https://www.google.com');
  })
  .then(() => {
    beacon.disconnect();
    alert('OK!');
  });

See the rest of the services here.

Development

Eddystone Web Bluetooth implementation is based on the official specifications:

https://github.com/google/eddystone/tree/master/configuration-service

Contributions

Contributions are very welcome.

License

MIT © Gerard Rovira Sánchez


Special thanks to @beaufortfrancois for providing https://github.com/beaufortfrancois/sandbox/blob/gh-pages/web-bluetooth/eddystone-url-config/app.js magnificent example source code.

Metadata

  • MIT
  • Whatever
  • Gerard Rovira Sánchez
  • released 6/27/2017

Downloads

Maintainers