lottnuebibza/dafthack
GitHub: lottnuebibza/dafthack
基于 Node.js 的 Eddystone 蓝牙信标扫描与协议解析库,支持实时发现、追踪和测距。
Stars: 0 | Forks: 0
# dafthack
使用 Node.js 扫描 [Eddystone 信标](https://github.com/google/eddystone)
使用 [noble](https://github.com/sandeepmistry/noble) 进行 BLE 外围设备扫描,然后尝试使用 [Eddystone 协议规范](https://github.com/google/eddystone/blob/master/protocol-specification.md) 解析发现的外围设备。
## 设置
```
npm install eddystone-beacon-scanner
```
## 示例
查看 [examples](examples) 文件夹。
## 用法
```
var EddystoneBeaconScanner = require('eddystone-beacon-scanner');
```
### 注册事件处理程序
#### Found
首次发现信标时触发。
```
EddystoneBeaconScanner.on('found', function(beacon) {
// ...
});
```
#### Updated
检测到信标广播时触发。
```
EddystoneBeaconScanner.on('updated', function(beacon) {
// ...
});
```
#### Lost
当信标在 5 秒内未被检测到时触发。
```
EddystoneBeaconScanner.on('lost', function(beacon) {
// ...
});
```
根据帧类型,```beacon``` 对象将具有以下属性:
##### URL
* ```type``` - Eddystone 类型
* ```txPower``` - 在 0 米处测得的接收功率 (dBm)
* ```url``` - 信标正在广播的(展开后的)URL
* ```tlm``` - TLM 数据,仅当信标使用交错广播时出现
* ```rssi``` - 发现的信标的 RSSI
* ```distance``` - 距离信标的近似距离
##### UID
* ```type``` - Eddystone 类型
* ```txPower``` - 在 0 米处测得的接收功率 (dBm)
* ```namespace``` - 10 字节的 ID Namespace
* ```instance``` - 6 字节的 ID Instance
* ```tlm``` - TLM 数据,仅当信标使用交错广播时出现
* ```rssi``` - 发现的信标的 RSSI
* ```distance``` - 距离信标的近似距离
##### TLM
* ```tlm```
* ```version``` - TLM 版本
* ```vbatt``` - 电池电压
* ```temp``` - 温度
* ```advCnt``` - 广播 PDU 计数
* ```secCnt``` - 开机或重启后的时间
* ```rssi``` - 发现的信标的 RSSI
* ```distance``` - 距离信标的近似距离
### 开始扫描
开始扫描 Eddystone 信标,您可以指定是否允许重复(默认为 false)。
```
EddystoneBeaconScanner.startScannning(allowDuplicates);
```
__注意:__ 仅当 ```allowDuplicates``` 设置为 true 时,才会触发 ```lost``` 事件。
### 停止扫描
停止扫描 Eddystone 信标。
```
EddystoneBeaconScanner.stopScannning();
```
标签:Active Directory, Beacon, BLE, Eddystone, GNU通用公共许可证, IoT, IPv6, MITM代理, Node.js, OpenCanary, Plaso, PowerShell, 低功耗蓝牙, 信号扫描, 凭据访问, 域渗透, 密码喷洒, 数据可视化, 爆破攻击, 电子数据取证, 网络安全, 自定义脚本, 自定义脚本, 自定义脚本, 蓝牙, 隐私保护