npm.io
1.0.5 • Published 7 years ago

noble_base

Licence
MIT
Version
1.0.5
Deps
1
Size
99 kB
Vulns
0
Weekly
0
Stars
2

noble_base

Typescript compatible Noble base class for manipulating BLE peripheral devices

Install

npm install noble_base

Usage

Take a look at the src/examples. Basic pattern is as follows:

  1. Extend NobleBase.Base class
    class ExamplePeripheral extends NobleBase.Base {
      public is(peripheral: Noble.Peripheral): boolean {
          //return true if you want connect to this peripheral
      }
    
      protected async onConnectAndSetupDone() {
          //do something when peripheral is connected
      }
    }
  2. Implement is() and onConnectAndSetupDone() methods
  3. In your application code instantiate ScanHelper for your child class
    let scanHelper = new NobleBase.ScanHelper<ExamplePeripheral>(ExamplePeripheral);
  4. (optional) Apply scan filter
    scanHelper.setScanFilter((peripheral) => {
        //return true if peripheral should be connected
    });
  5. (optional) Attach device discovered callback
        //called each time new SimplePeripheral is connected
        const deviceDiscoveredCallback = (peripheral: ExamplePeripheral) => {
            //do something with peripheral
        }
        scanHelper.on('discoveredDevice', deviceDiscoveredCallback);
  6. Start scanning
    scanHelper.discoverAll();
  7. Done!

Keywords