UNPKG

@mkerix/noble

Version:

A Node.js BLE (Bluetooth Low Energy) central library.

36 lines (31 loc) 1.4 kB
const noble = require('../index'); noble.on('stateChange', function (state) { if (state === 'poweredOn') { noble.startScanning(); } else { noble.stopScanning(); } }); noble.on('discover', function (peripheral) { console.log(`peripheral discovered (${peripheral.id} with address <${peripheral.address}, ${peripheral.addressType}>, connectable ${peripheral.connectable}, RSSI ${peripheral.rssi}:`); console.log('\thello my local name is:'); console.log(`\t\t${peripheral.advertisement.localName}`); console.log('\tcan I interest you in any of the following advertised services:'); console.log(`\t\t${JSON.stringify(peripheral.advertisement.serviceUuids)}`); const serviceData = peripheral.advertisement.serviceData; if (serviceData && serviceData.length) { console.log('\there is my service data:'); for (const i in serviceData) { console.log(`\t\t${JSON.stringify(serviceData[i].uuid)}: ${JSON.stringify(serviceData[i].data.toString('hex'))}`); } } if (peripheral.advertisement.manufacturerData) { console.log('\there is my manufacturer data:'); console.log(`\t\t${JSON.stringify(peripheral.advertisement.manufacturerData.toString('hex'))}`); } if (peripheral.advertisement.txPowerLevel !== undefined) { console.log('\tmy TX power level is:'); console.log(`\t\t${peripheral.advertisement.txPowerLevel}`); } console.log(); });