Skip to content

sisinflab-swot/psw-node-eddystone-beacon-scanner

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

psw-node-eddystone-beacon-scanner

Scan for Eddystone beacons using Node.js

Uses noble for BLE peripheral scanning, then attempts to parse discovered peripherals using the Eddystone Protocol Specification.

Setup

npm install eddystone-beacon-scanner

Examples

See examples folder.

Usage

var EddystoneBeaconScanner = require('eddystone-beacon-scanner');

Register event handlers

Found

Triggered when a beacon is first found.

EddystoneBeaconScanner.on('found', function(beacon) {
  // ...
});

Updated

Triggered when a beacon advertisement detected.

EddystoneBeaconScanner.on('updated', function(beacon) {
  // ...
});

Lost

Triggered when a beacon has not been detected for 5 seconds.

EddystoneBeaconScanner.on('lost', function(beacon) {
  // ...
});

The beacon object will have the following properties depending on the frame type:

URL/URL-PSW
  • type - Eddystone type
  • txPower - Measured received power at 0 m in dBm
  • url - (expanded) URL the beacon is broadcasting
  • tlm - TLM data, only present when interleaved broadcasts are used by the beacon
  • rssi - RSSI of discovered beacon
  • distance - Approximate distance from beacon
UID/UID-PSW
  • type - Eddystone type
  • txPower - Measured received power at 0 m in dBm
  • namespace - 10-byte ID Namespace
  • instance - 6-byte ID Instance
  • tlm - TLM data, only present when interleaved broadcasts are used by the beacon
  • rssi - RSSI of discovered beacon
  • distance - Approximate distance from beacon
TLM
  • tlm
    • version - TLM version
    • vbatt - Battery voltage
    • temp - Temperature
    • advCnt - Advertising PDU count
    • secCnt - Time since power-on or reboot
  • rssi - RSSI of discovered beacon
  • distance - Approximate distance from beacon

Start scanning

Start scanning for Eddystone beacons, you can specify whether to allow duplicates (default is false).

EddystoneBeaconScanner.startScanning(allowDuplicates);

Note: the lost event will only be triggered when allowDuplicates is set to true.

Stop scanning

Stop scanning for Eddystone beacons.

EddystoneBeaconScanner.stopScanning();

Packages

No packages published

Languages

  • JavaScript 100.0%