Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bluetooth-device

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bluetooth-device

Bluetooth Low-Energy Peripheral Device

  • 0.1.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Bluetooth Low-Energy Peripheral Device

NPM Build Status

This package provides an abstraction layer on top of the Bluetooth Low-Energy (BLE) peripheral device.

Get Started

npm install --save bluetooth-device

Usage

import { BluetoothDevice } from 'bluetooth-device';

const HANDLE_TEMPERATURE_READ = 1234;
const HANDLE_TEMPERATURE_WRITE = 5678;

const thermostat = new BluetoothDevice('11:22:33:44:55:66', { timeout: 1000 });
const temperature = await thermostat.read(HANDLE_TEMPERATURE_READ);

await thermostat.write(HANDLE_TEMPERATURE_WRITE, temperature + 10);

You can also extend your peripheral from the BluetoothDevice base class.

import { BluetoothDevice } from 'bluetooth-device';

const TEMPERATURE_MIN = 10;
const TEMPERATURE_MAX = 40;

const HANLDE_READ = 1234;
const HANDLE_WRITE = 5678;

export class Thermostat extends BluetoothDevice {
  async setTemperature(temperature: number): Promise<void> {
    const value = Math.min(Math.max(TEMPERATURE_MIN, temperature), TEMPERATURE_MAX);

    return await this.write(HANDLE_WRITE, value);
  }

  getTemperature(): Promise<number> {
    return this.read(HANLDE_READ);
  }
}

API

constructor

Initializes a Bluetooth device instance.

constructor(address: string, options?: object)
  • address - Bluetooth address.
  • options - Device options.
    • discoveryTimeout - Device discovery timeout in milliseconds. By default, it equals 30 seconds.
    • idleTimeout - Device idle timeout in milliseconds. After that, the connection will be destroyed. By default, it equals to 2 minutes.
    • retries - The number of retries on failed operations. By default, it is 3.
    • timeout - Device operations timeout, namely, connection, read, and write. By default, it equals 10 seconds.

discover

Discovers peripheral device by address.

discover(): Promise<void>

connect

Tries to establish a connection with the device. If the device was not previously discovered, the discovery operation will be performed before.

connect(): Promise<void>

disconnect

Destroys a connection with the device.

disconnect(): Promise<void>

notify

Waits for the next notification. If the device was not previously connected, the connection will be established automatically.

notify(handle: number): Promise<Buffer>
  • handle - The notification handle.

read

Reads data from the device. If the device was not previously connected, the connection will be established automatically.

read(handle: number): Promise<Buffer>
  • handle - The handle to read from.

write

Writes data to the device. If the device was not previously connected, the connection will be established automatically.

write(handle: number, data: Buffer): Promise<void>
  • handle - The write handle.
  • data - The data buffer.

Keywords

FAQs

Package last updated on 16 Jan 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc