node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »

eddystone-beacon

node-eddystone-beacon

Create an Eddystone Beacon using Node.js

Eddystone-URL beacons can be used with the Physical Web.

Prerequisites

See bleno prerequisites.

OS X

OS X 10.10 or above, with Bluetooth 4.0 Hardware.

Linux

You need to run with sudo or as root. See bleno - Running on Linux for more info.

Have an older machine or Raspberry Pi? Add a Bluetooth 4.0 USB Adapter.

Windows

See bleno Windows prerequisites.

Install

npm install eddystone-beacon

Usage

var eddystoneBeacon = require('eddystone-beacon');
 

Options

var options = {
  name: 'Beacon',    // set device name when advertising (Linux only) 
  txPowerLevel: -22, // override TX Power Level, default value is -21, 
  tlmCount: 2,       // 2 TLM frames 
  tlmPeriod: 10      // every 10 advertisements 
};

Note: an advertising interval of 100ms is used.

Eddystone-URL

var url = 'http://example.com';
 
eddystoneBeacon.advertiseUrl(url, [options]);

If your encoded URL is too long, try a URL shortener like goo.gl or bit.ly.

Eddystone-UID

var namespaceId = '00010203040506070809';
var instanceId = 'aabbccddeeff';
 
eddystoneBeacon.advertiseUid(namespaceId, instanceId, [options]);

TLM data

Use with interleaved TLM mode, see options above.

Battery Voltage

var batteryVoltage = 500; // between 500 and 10,000 mV 
 
eddystoneBeacon.setBatteryVoltage(batteryVoltage);

Temperature

var temperature = 22.0; // between -128.0 and 128.0 
 
eddystoneBeacon.setTemperature(temperature);

Examples

Development

Install the dependencies

npm install

Run tests

npm test