node-bluetooth-hci-socket

Bluetooth HCI socket binding for Node.js

NOTE: Currently only supports Linux.

Install

npm install bluetooth-hci-socket

Usage

var BluetoothHciSocket = require('bluetooth-hci-socket');

Actions

Create

var bluetoothHciSocket = new BluetoothHciSocket();

Set Filter

var filter = new Buffer(14);

// ...

bluetoothHciSocket.setFilter(filter);

Bind

Raw Channel
bluetoothHciSocket.bindRaw([deviceId]); // optional deviceId (integer)
Control Channel
bluetoothHciSocket.bindControl();

Address

Get the device (Bluetooth/BT) address. Note: must be called after bindRaw.

var btAddress = bluetoothHciSocket.getAddress();

Address Type

Get the device (Bluetooth/BT) address type. Note: must be called after bindRaw.

var btAddressType = bluetoothHciSocket.getAddressType(); // returns: 'public' or 'random'

Is Device Up

Query the device state. Note: must be called after bindRaw.

var isDevUp = bluetoothHciSocket.isDevUp(); // returns: true or false

Start/stop

Start or stop event handling:

bluetoothHciSocket.start();

// ...

bluetoothHciSocket.stop();

Write

var data = new Buffer(/* ... */);

// ...


bluetoothHciSocket.write(data);

Events

Data

bluetoothHciSocket.on('data', function(data) {
  // data is a Buffer

  // ...
});

Error

bluetoothHciSocket.on('error', function(error) {
  // error is a Error

  // ...
});

Examples

See examples folder for code examples.