Node Web Bluetooth
Node.js implementation of the Web Bluetooth Specification
Prerequisites
Node.js > v10.16.0, which includes npm
.
Installation
$ npm install webbluetooth
Getting Started
See the examples or view the API documentation at:
https://thegecko.github.io/webbluetooth/
Usage
The module exports a default navigator.bluetooth
instance, the Bluetooth
class to allow you to instantiate your own bluetooth instances and some helper methods:
Using the default bluetooth instance
To use existing Web Bluetooth scripts, you can simply use the default bluetooth
instance in place of the navigator.bluetooth
object:
const bluetooth = require("webbluetooth").bluetooth;
const device = await bluetooth.requestDevice({
filters:[{ services:[ "heart_rate" ] }]
});
const server = await device.gatt.connect();
...
The first device matching the filters will be returned.
Creating your own bluetooth instances
You may want to create your own instance of the Bluetooth
class. For example, to inject a device chooser function or control the referring device:
const Bluetooth = require("webbluetooth").Bluetooth;
const deviceFound = (device, selectFn) => {
if (device.name === "myName") return true;
};
const bluetooth = new Bluetooth({ deviceFound });
const device = await bluetooth.requestDevice({
filters:[{ services:[ "heart_rate" ] }]
});
const server = await device.gatt.connect();
...
Specification
The Web Bluetooth specification can be found here:
https://webbluetoothcg.github.io/web-bluetooth/
Implementation Status
bluetooth
BluetoothDevice
BluetoothRemoteGATTServer
BluetoothRemoteGATTService
BluetoothRemoteGATTCharacteristic
BluetoothRemoteGATTDescriptor
Events
Bluetooth
Bluetooth Device
Bluetooth Service
Bluetooth Characteristic
Other