Skip to content
Scan for Eddystone beacons using Node.js
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples - change discover event name to updated Sep 13, 2015
lib Make the grace period configurable (#19) Dec 23, 2016
.gitignore Minimum entry just for pyCharm Jun 2, 2015
LICENSE Initial commit Apr 28, 2015
README.md Make the grace period configurable (#19) Dec 23, 2016
index.js - rename to eddystone-beacon-scanner Aug 29, 2015
package.json

README.md

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
  • 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
  • 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).

You can also specify the grace period (time to wait before declaring the beacon as lost). Default is 5000 ms.

EddystoneBeaconScanner.startScanning(allowDuplicates, gracePeriod);

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

Stop scanning

Stop scanning for Eddystone beacons.

EddystoneBeaconScanner.stopScanning();
You can’t perform that action at this time.