• Stars
    star
    102
  • Rank 335,584 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 9 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Scan for Eddystone beacons using Node.js

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();

More Repositories

1

arduino-LoRa

An Arduino library for sending and receiving data using LoRa radios.
C++
1,627
star
2

arduino-nRF5

Arduino Core for Nordic Semiconductor nRF5 based boards
C
881
star
3

arduino-CAN

An Arduino library for sending and receiving data using CAN bus.
C++
664
star
4

node-bleacon

A Node.js library for creating, discovering, and configuring iBeacons
JavaScript
499
star
5

arduino-BLEPeripheral

An Arduino library for creating custom BLE peripherals with Nordic Semiconductor's nRF8001 or nR51822.
C
454
star
6

arduino-OBD2

An Arduino library for reading OBD-II data from your car over CAN bus
C++
440
star
7

node-sensortag

Node.js lib for the TI SensorTag
JavaScript
215
star
8

pico-rmii-ethernet

C
203
star
9

node-chip-io

Johnny-Five IO Plugin for the Next Thing Co. C.H.I.P.
JavaScript
95
star
10

osx-ble-peripheral

Example of using CoreBluetooth in peripheral mode
Objective-C
84
star
11

node-bbc-microbit

Control a BBC micro:bit from Node.js using BLE
JavaScript
83
star
12

node-ancs

A node.js lib to access the Apple Notification Center Service (ANCS)
JavaScript
67
star
13

arduino-nRF24L01-BLE

Example of using an Arduino and a nRF24L01+ to fake BLE advertisement
Arduino
63
star
14

node-sx127x

Node.js driver for Semtech SX1276/77/78/79 based LoRa radios
JavaScript
61
star
15

rtlsdrjs

πŸ“‘ Turn your Realtek RTL2832U based device into an SDR receiver using JavaScript
JavaScript
56
star
16

node-blink1

A Node.js library for the blink(1)
JavaScript
51
star
17

aimldevfest-workshop-2019

TinyML on Arduino @ AI/ML DevFest Workshop - September 28, 2019
Jupyter Notebook
45
star
18

node-flower-power

node.js lib for the Parrot Flower Power
JavaScript
45
star
19

node-powermate

A Node.js library for the Griffin PowerMate
JavaScript
40
star
20

node-raspberry-pi-camera-native

Use your Raspberry Pi Camera Module with Node.js
C++
35
star
21

node-xpc-connection

C++
34
star
22

AnyiBeacon-iOS

Use CoreLocation to start/stop ranging for any iBeacon
Objective-C
31
star
23

ANCSExample-iOS

Example app to expose the Apple Notification Center Service (ANCS) on an iOS device
Objective-C
29
star
24

node-yeelight-blue

A Node.js lib for the yeelight blue and yeelight blue lightstrips.
JavaScript
26
star
25

node-chipolo

node.js lib for the Chipolo
JavaScript
18
star
26

node-bbc-microbit-io

Johnny-Five IO Plugin for the BBC micro:bit
JavaScript
17
star
27

node-bbc-microbit-firmware

Source code for the firmware bundled with node-bbc-microbit
C
12
star
28

node-core-bluetooth

JavaScript
11
star
29

node-lumen

Node.js lib for the Tabu Lumen
JavaScript
11
star
30

node-tethercell

Node.js lib for the Tethercell
JavaScript
9
star
31

openocd-code-nrf5

C
8
star
32

rtl8710-openocd

Unofficial mirror of https://bitbucket.org/rebane/rtl8710_openocd
C
6
star
33

Arduino-Nano-33-BLE-Sense-Examples

JavaScript
6
star
34

node-objective-c-runtime

Use the Objective-C Runtime from Node.js
Objective-C++
5
star
35

cordova-ble-ir-remote

JavaScript
4
star
36

node-sensordrone

Node.js lib for the Sensordrone
JavaScript
4
star
37

node-sticknfind

node.js lib for the StickNFind
JavaScript
3
star
38

node-wimoto

Node.js lib for Wimoto devices
JavaScript
2
star
39

node-6lowpan-ble

JavaScript
2
star
40

node-robosmart

A node.js library for the RoboSmart
JavaScript
2
star
41

node-node-sensor

node.js lib for Variable Inc.'s NODE sensor
JavaScript
2
star
42

node-bluetooth-bulb

A node.js library for the BluetoothBulb
JavaScript
1
star
43

colab-notebook-test

Jupyter Notebook
1
star
44

sandeepmistry

1
star
45

df1-browser

Experimental df1 (Device Factory 1) in the browser
JavaScript
1
star
46

ArduinoTimeAPI

C++
1
star