skynet-heartbeat
Version:
Skynet Gateblu and Mobiblu Heartbeat plugin
31 lines (25 loc) • 877 B
JavaScript
;
var noble = require('noble');
var discover = function(peripheral){
console.log('(scan)found: ' + peripheral.advertisement.localName);
if(peripheral){
this.peripherals.unshift(peripheral);
}else{
console.log('Invalid Peripheral');
}
};
var stopandreturn = function (){
noble.stopScanning();
noble.removeListener('discover', discover);
console.log('Stop Scanning for BLE devices...');
this.done(this.peripherals);
};
module.exports = function (timeout, serviceUuids, peripherals, done) {
noble.on('discover', discover.bind({peripherals:peripherals}));
if(!Array.isArray(serviceUuids)){
serviceUuids = [serviceUuids];
}
noble.startScanning(serviceUuids);
console.log('Scanning for BLE devices...');
setTimeout(stopandreturn.bind({done:done, peripherals:peripherals}), timeout);
};