Create an Eddystone Beacon using Node.js
Eddystone-URL beacons can be used with the Physical Web.
Requires Node.js and Linux or OS X 10.10 or above with Bluetooth 4.0 hardware.
On Linux, you need to run with sudo or as root. See bleno for more info.
Have an older machine or Raspberry Pi? Add a Bluetooth 4.0 USB Adapter.
npm install eddystone-beaconvar eddystoneBeacon = require('eddystone-beacon');var options = {
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.
var url = 'http://example.com';
eddystoneBeacon.advertiseUrl(url, [options]);var namespaceId = '00010203040506070809';
var instanceId = 'aabbccddeeff';
eddystoneBeacon.advertiseUid(namespaceId, instanceId, [options]);Use with interleaved TLM mode, see options above.
var batteryVoltage = 500; // between 500 and 10,000 mV
eddystoneBeacon.setBatteryVoltage(batteryVoltage);var temperature = 22.0; // between -128.0 and 128.0
eddystoneBeacon.setTemperature(temperature);- Eddystone-URL
- simple - easiest way to create a Eddystone-URL Beacon
- power-level - create a Eddystone-URL Beacon specifying txPowerLevel
- Eddystone-UID
- simple - easiest way to create a Eddystone-UID Beacon
- with-tlm - create a Eddystone-UID Beacon with interleaved TLM data
npm installnpm test