@abandonware/eddystone-beacon-scanner 中文文档教程
node-eddystone-beacon-scanner
使用 Node.js 扫描 Eddystone 信标 使用
noble 用于 BLE 外围设备扫描,然后尝试使用 Eddystone 协议规范。
Setup
npm install eddystone-beacon-scanner
Examples
请参阅 examples 文件夹。
Usage
var EddystoneBeaconScanner = require('eddystone-beacon-scanner');
Register event handlers
Found
首次发现信标时触发。
EddystoneBeaconScanner.on('found', function(beacon) {
// ...
});
Updated
当检测到信标广告时触发。
EddystoneBeaconScanner.on('updated', function(beacon) {
// ...
});
Lost
当 5 秒内未检测到信标时触发。
EddystoneBeaconScanner.on('lost', function(beacon) {
// ...
});
beacon
对象将根据帧类型具有以下属性:
URL
type
- Eddystone typetxPower
- Measured received power at 0 m in dBmurl
- (expanded) URL the beacon is broadcastingtlm
- TLM data, only present when interleaved broadcasts are used by the beaconrssi
- RSSI of discovered beacondistance
- Approximate distance from beacon
UID
type
- Eddystone typetxPower
- Measured received power at 0 m in dBmnamespace
- 10-byte ID Namespaceinstance
- 6-byte ID Instancetlm
- TLM data, only present when interleaved broadcasts are used by the beaconrssi
- RSSI of discovered beacondistance
- Approximate distance from beacon
TLM
tlm
version
- TLM versionvbatt
- Battery voltagetemp
- TemperatureadvCnt
- Advertising PDU countsecCnt
- Time since power-on or rebootrssi
- RSSI of discovered beacondistance
- Approximate distance from beacon
Start scanning
开始扫描 Eddystone 信标,您可以指定是否允许重复(默认为 false)。
您还可以指定宽限期(在声明信标丢失之前等待的时间)。 默认值为 5000 毫秒。
EddystoneBeaconScanner.startScanning(allowDuplicates, gracePeriod);
注意 lost
事件只会在allowDuplicates
设置为true 时触发。
Stop scanning
停止扫描 Eddystone 信标。
EddystoneBeaconScanner.stopScanning();
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 typetxPower
- Measured received power at 0 m in dBmurl
- (expanded) URL the beacon is broadcastingtlm
- TLM data, only present when interleaved broadcasts are used by the beaconrssi
- RSSI of discovered beacondistance
- Approximate distance from beacon
UID
type
- Eddystone typetxPower
- Measured received power at 0 m in dBmnamespace
- 10-byte ID Namespaceinstance
- 6-byte ID Instancetlm
- TLM data, only present when interleaved broadcasts are used by the beaconrssi
- RSSI of discovered beacondistance
- Approximate distance from beacon
TLM
tlm
version
- TLM versionvbatt
- Battery voltagetemp
- TemperatureadvCnt
- Advertising PDU countsecCnt
- Time since power-on or rebootrssi
- RSSI of discovered beacondistance
- 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();